diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..b7608e0a9 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,24 @@ +image: elixir:1.5 + +services: + - postgres:9.6.2 + +variables: + POSTGRES_DB: pleroma_test + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + +stages: + - test + +before_script: + - mix local.hex --force + - mix local.rebar --force + - mix deps.get + - MIX_ENV=test mix ecto.create + - MIX_ENV=test mix ecto.migrate + +unit-testing: + stage: test + script: + - MIX_ENV=test mix test diff --git a/README.md b/README.md index 12efb681b..664b8b475 100644 --- a/README.md +++ b/README.md @@ -4,76 +4,36 @@ Pleroma is an OStatus-compatible social networking server written in Elixir, compatible with GNU Social and Mastodon. It is high-performance and can run on small devices like a Raspberry Pi. -For clients it supports both the GNU Social API with Qvitter extensions and the Mastodon client API. +For clients it supports both the [GNU Social API with Qvitter extensions](https://twitter-api.readthedocs.io/en/latest/index.html) and the [Mastodon client API](https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md). -Mobile clients that are known to work: +Mobile clients that are known to work well: * Twidere * Tusky -* Pawoo (Android) +* Pawoo (Android + iOS) * Subway Tooter +* Amaroq (iOS) +* Tootdon (Android + iOS) -No release has been made yet, but several servers have been online for months already. If you want to run your own server, feel free to contact us at @lain@pleroma.soykaf.com or in our dev chat at https://matrix.heldscal.la/#/room/#pleromafe:matrix.heldscal.la. +No release has been made yet, but several servers have been online for months already. If you want to run your own server, feel free to contact us at @lain@pleroma.soykaf.com or in our dev chat at #pleroma on freenode or via matrix at https://matrix.heldscal.la/#/room/#freenode_#pleroma:matrix.org. ## Installation ### Dependencies * Postgresql version 9.6 or newer -* Elixir version 1.4 or newer +* Elixir version 1.4 or newer (you will also need erlang-dev, erlang-parsetools, erlang-xmerl packages) * Build-essential tools -#### Installing dependencies on Debian system -PostgreSQL 9.6 should be available on Debian stable (Jessie) from "main" area. Install it using apt: `apt install postgresql-9.6`. Make sure that older versions are not installed since Debian allows multiple versions to coexist but still runs only one version. +### Configuration -You must install elixir 1.4+ from elixir-lang.org, because Debian repos only have 1.3.x version. You will need to add apt repo to sources.list(.d) and import GPG key. Follow instructions here: https://elixir-lang.org/install.html#unix-and-unix-like (See "Ubuntu or Debian 7"). This should be valid until Debian updates elixir in their repositories. Package you want is named `elixir`, so install it using `apt install elixir` + * Run `mix deps.get` to install elixir dependencies. -Elixir will also require `make` and probably other related software for building dependencies - in case you don't have them, get them via `apt install build-essential` + * Run `mix generate_config`. This will ask you a few questions about your instance and generate a configuration file in `config/generated_config.exs`. Check that and copy it to either `config/dev.secret.exs` or `config/prod.secret.exs`. It will also create a `config/setup_db.psql`, which you need to run as PostgreSQL superuser (i.e. `sudo su postgres -c "psql -f config/setup_db.psql"`). It will setup a pleroma db user, database and will setup needed extensions that need to be set up once as superuser. -### Preparation + * Run `mix ecto.migrate` to run the database migrations. You will have to do this again after certain updates. - * You probably want application to run as separte user - so create a new one: `adduser pleroma`, you can login as it via `su pleroma` - * Clone the git repository into new user's dir (clone as the pleroma user to avoid permissions errors) - * Again, as new user, install dependencies with `mix deps.get` if it asks you to install "hex" - agree to that. - -### Database setup - - * Create a database user and database for pleroma - * Open psql shell as postgres user: (as root) `su postgres -c psql` - * Create a new PostgreSQL user: - - ```sql - \c pleroma_dev - CREATE user pleroma; - ALTER user pleroma with encrypted password ''; - GRANT ALL ON ALL tables IN SCHEMA public TO pleroma; - GRANT ALL ON ALL sequences IN SCHEMA public TO pleroma; - ``` - - * Create `config/dev.secret.exs` and copy the database settings from `dev.exs` there. - * Change password in `config/dev.secret.exs`, and change user to `"pleroma"` (line like `username: "postgres"`) - * Create and update your database with `mix ecto.create && mix ecto.migrate`. - -### Some additional configuration - - * You will need to let pleroma instance to know what hostname/url it's running on. _THIS IS THE MOST IMPORTANT STEP. GET THIS WRONG AND YOU'LL HAVE TO RESET YOUR DATABASE_. - - Create the file `config/dev.secret.exs`, add these lines at the end of the file: - - ```elixir - config :pleroma, Pleroma.Web.Endpoint, - url: [host: "example.tld", scheme: "https", port: 443] - ``` - - replacing `example.tld` with your (sub)domain - - * You should also setup your site name and admin email address. Look at config.exs for more available options. - - ```elixir - config :pleroma, :instance, - name: "My great instance", - email: "someone@example.com" - ``` + * You can check if your instance is configured correctly by running it with `mix phx.server` and checking the instance info endpoint at `/api/v1/instance`. If it shows your uri, name and email correctly, you are configured correctly. If it shows something like `localhost:4000`, your configuration is probably wrong, unless you are running a local development setup. * The common and convenient way for adding HTTPS is by using Nginx as a reverse proxy. You can look at example Nginx configuration in `installation/pleroma.nginx`. If you need TLS/SSL certificates for HTTPS, you can look get some for free with letsencrypt: https://letsencrypt.org/ On Debian you can use `certbot` package and command to manage letsencrypt certificates. diff --git a/config/dev.exs b/config/dev.exs index 126baea28..83326e6f2 100644 --- a/config/dev.exs +++ b/config/dev.exs @@ -49,5 +49,5 @@ try do import_config "dev.secret.exs" rescue - _-> nil + _-> IO.puts("!!! RUNNING IN LOCALHOST DEV MODE! !!!\nFEDERATION WON'T WORK UNTIL YOU CONFIGURE A dev.secret.exs") end diff --git a/config/test.exs b/config/test.exs index 04136e1f2..26b5410fe 100644 --- a/config/test.exs +++ b/config/test.exs @@ -18,7 +18,7 @@ username: "postgres", password: "postgres", database: "pleroma_test", - hostname: "localhost", + hostname: System.get_env("DB_HOST") || "localhost", pool: Ecto.Adapters.SQL.Sandbox diff --git a/installation/pleroma.nginx b/installation/pleroma.nginx index 1a6e1d56f..6cf9f3fa0 100644 --- a/installation/pleroma.nginx +++ b/installation/pleroma.nginx @@ -19,6 +19,9 @@ server { server_name example.tld; location / { + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; proxy_pass http://localhost:4000; } include snippets/well-known.conf; diff --git a/lib/mix/tasks/generate_config.ex b/lib/mix/tasks/generate_config.ex new file mode 100644 index 000000000..f20f93e4d --- /dev/null +++ b/lib/mix/tasks/generate_config.ex @@ -0,0 +1,22 @@ +defmodule Mix.Tasks.GenerateConfig do + use Mix.Task + + @shortdoc "Generates a new config" + def run(_) do + IO.puts("Answer a few questions to generate a new config\n") + IO.puts("--- THIS WILL OVERWRITE YOUR config/generated_config.exs! ---\n") + domain = IO.gets("What is your domain name? (e.g. pleroma.soykaf.com): ") |> String.trim + name = IO.gets("What is the name of your instance? (e.g. Pleroma/Soykaf): ") |> String.trim + email = IO.gets("What's your admin email address: ") |> String.trim + secret = :crypto.strong_rand_bytes(64) |> Base.encode64 |> binary_part(0, 64) + dbpass = :crypto.strong_rand_bytes(64) |> Base.encode64 |> binary_part(0, 64) + + resultSql = EEx.eval_file("lib/mix/tasks/sample_psql.eex", [dbpass: dbpass]) + result = EEx.eval_file("lib/mix/tasks/sample_config.eex", [domain: domain, email: email, name: name, secret: secret, dbpass: dbpass]) + + IO.puts("\nWriting config to config/generated_config.exs.\n\nCheck it and configure your database, then copy it to either config/dev.secret.exs or config/prod.secret.exs") + File.write("config/generated_config.exs", result) + IO.puts("\nWriting setup_db.psql, please run it as postgre superuser, i.e.: sudo su postgres -c 'psql -f config/setup_db.psql'") + File.write("config/setup_db.psql", resultSql) + end +end diff --git a/lib/mix/tasks/sample_config.eex b/lib/mix/tasks/sample_config.eex new file mode 100644 index 000000000..85a7c554e --- /dev/null +++ b/lib/mix/tasks/sample_config.eex @@ -0,0 +1,20 @@ +use Mix.Config + +config :pleroma, Pleroma.Web.Endpoint, + url: [host: "<%= domain %>", scheme: "https", port: 443], + secret_key_base: "<%= secret %>" + +config :pleroma, :instance, + name: "<%= name %>", + email: "<%= email %>", + limit: 5000, + registrations_open: true + +# Configure your database +config :pleroma, Pleroma.Repo, + adapter: Ecto.Adapters.Postgres, + username: "pleroma", + password: "<%= dbpass %>", + database: "pleroma_dev", + hostname: "localhost", + pool_size: 10 diff --git a/lib/mix/tasks/sample_psql.eex b/lib/mix/tasks/sample_psql.eex new file mode 100644 index 000000000..18e322efc --- /dev/null +++ b/lib/mix/tasks/sample_psql.eex @@ -0,0 +1,8 @@ +CREATE USER pleroma WITH ENCRYPTED PASSWORD '<%= dbpass %>' CREATEDB; +-- in case someone runs this second time accidentally +ALTER USER pleroma WITH ENCRYPTED PASSWORD '<%= dbpass %>' CREATEDB; +CREATE DATABASE pleroma_dev; +ALTER DATABASE pleroma_dev OWNER TO pleroma; +\c pleroma_dev; +--Extensions made by ecto.migrate that need superuser access +CREATE EXTENSION IF NOT EXISTS citext; diff --git a/lib/pleroma/PasswordResetToken.ex b/lib/pleroma/PasswordResetToken.ex new file mode 100644 index 000000000..52b1fcd50 --- /dev/null +++ b/lib/pleroma/PasswordResetToken.ex @@ -0,0 +1,44 @@ +defmodule Pleroma.PasswordResetToken do + use Ecto.Schema + + import Ecto.Changeset + + alias Pleroma.{User, PasswordResetToken, Repo} + + schema "password_reset_tokens" do + belongs_to :user, User + field :token, :string + field :used, :boolean, default: false + + timestamps() + end + + def create_token(%User{} = user) do + token = :crypto.strong_rand_bytes(32) |> Base.url_encode64 + + token = %PasswordResetToken{ + user_id: user.id, + used: false, + token: token + } + + Repo.insert(token) + end + + def used_changeset(struct) do + struct + |> cast(%{}, []) + |> put_change(:used, true) + end + + def reset_password(token, data) do + with %{used: false} = token <- Repo.get_by(PasswordResetToken, %{token: token}), + %User{} = user <- Repo.get(User, token.user_id), + {:ok, _user} <- User.reset_password(user, data), + {:ok, token} <- Repo.update(used_changeset(token)) do + {:ok, token} + else + _e -> {:error, token} + end + end +end diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex index 9a5e6fc78..afd09982f 100644 --- a/lib/pleroma/activity.ex +++ b/lib/pleroma/activity.ex @@ -6,7 +6,8 @@ defmodule Pleroma.Activity do schema "activities" do field :data, :map field :local, :boolean, default: true - has_many :notifications, Notification + field :actor, :string + has_many :notifications, Notification, on_delete: :delete_all timestamps() end @@ -16,24 +17,29 @@ def get_by_ap_id(ap_id) do where: fragment("(?)->>'id' = ?", activity.data, ^to_string(ap_id))) end + # TODO: + # Go through these and fix them everywhere. # Wrong name, only returns create activities def all_by_object_ap_id_q(ap_id) do from activity in Activity, - where: fragment("(?)->'object'->>'id' = ?", activity.data, ^to_string(ap_id)) + where: fragment("coalesce((?)->'object'->>'id', (?)->>'object') = ?", activity.data, activity.data, ^to_string(ap_id)), + where: fragment("(?)->>'type' = 'Create'", activity.data) end + # Wrong name, returns all. def all_non_create_by_object_ap_id_q(ap_id) do from activity in Activity, - where: fragment("(?)->>'object' = ?", activity.data, ^to_string(ap_id)) + where: fragment("coalesce((?)->'object'->>'id', (?)->>'object') = ?", activity.data, activity.data, ^to_string(ap_id)) end + # Wrong name plz fix thx def all_by_object_ap_id(ap_id) do Repo.all(all_by_object_ap_id_q(ap_id)) end def get_create_activity_by_object_ap_id(ap_id) do Repo.one(from activity in Activity, - where: fragment("(?)->'object'->>'id' = ?", activity.data, ^to_string(ap_id)) - and fragment("(?)->>'type' = 'Create'", activity.data)) + where: fragment("coalesce((?)->'object'->>'id', (?)->>'object') = ?", activity.data, activity.data, ^to_string(ap_id)), + where: fragment("(?)->>'type' = 'Create'", activity.data)) end end diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex index 1f0a05568..2969ca3c4 100644 --- a/lib/pleroma/application.ex +++ b/lib/pleroma/application.ex @@ -19,8 +19,10 @@ def start(_type, _args) do ttl_interval: 1000, limit: 2500 ]]), - worker(Pleroma.Web.Federator, []) + worker(Pleroma.Web.Federator, []), + worker(Pleroma.Web.ChatChannel.ChatChannelState, []), ] + ++ if Mix.env == :test, do: [], else: [worker(Pleroma.Web.Streamer, [])] # See http://elixir-lang.org/docs/stable/elixir/Supervisor.html # for other strategies and supported options diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index a5eb3b268..c98db2d94 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -1,15 +1,16 @@ defmodule Pleroma.Formatter do alias Pleroma.User - @link_regex ~r/https?:\/\/[\w\.\/?=\-#%&]+[\w]/u + @link_regex ~r/https?:\/\/[\w\.\/?=\-#%&@~\(\)]+[\w\/]/u def linkify(text) do Regex.replace(@link_regex, text, "\\0") end @tag_regex ~r/\#\w+/u - def parse_tags(text) do + def parse_tags(text, data \\ %{}) do Regex.scan(@tag_regex, text) |> Enum.map(fn (["#" <> tag = full_tag]) -> {full_tag, String.downcase(tag)} end) + |> (fn map -> if data["sensitive"], do: [{"#nsfw", "nsfw"}] ++ map, else: map end).() end def parse_mentions(text) do @@ -23,6 +24,15 @@ def parse_mentions(text) do |> Enum.filter(fn ({_match, user}) -> user end) end + def html_escape(text) do + Regex.split(@link_regex, text, include_captures: true) + |> Enum.map_every(2, fn chunk -> + {:safe, part} = Phoenix.HTML.html_escape(chunk) + part + end) + |> Enum.join("") + end + @finmoji [ "a_trusted_friend", "alandislands", @@ -122,4 +132,8 @@ def emojify(text, additional \\ nil) do def get_emoji(text) do Enum.filter(@emoji, fn ({emoji, _}) -> String.contains?(text, ":#{emoji}:") end) end + + def get_custom_emoji() do + @emoji + end end diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 35f817d1d..241d6a9e0 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -36,7 +36,38 @@ def for_user(user, opts \\ %{}) do Repo.all(query) end - def create_notifications(%Activity{id: id, data: %{"to" => to, "type" => type}} = activity) when type in ["Create", "Like", "Announce", "Follow"] do + def get(%{id: user_id} = _user, id) do + query = from n in Notification, + where: n.id == ^id, + preload: [:activity] + + notification = Repo.one(query) + case notification do + %{user_id: ^user_id} -> + {:ok, notification} + _ -> + {:error, "Cannot get notification"} + end + end + + def clear(user) do + query = from n in Notification, + where: n.user_id == ^user.id + + Repo.delete_all(query) + end + + def dismiss(%{id: user_id} = _user, id) do + notification = Repo.get(Notification, id) + case notification do + %{user_id: ^user_id} -> + Repo.delete(notification) + _ -> + {:error, "Cannot dismiss notification"} + end + end + + def create_notifications(%Activity{id: _, data: %{"to" => _, "type" => type}} = activity) when type in ["Create", "Like", "Announce", "Follow"] do users = User.get_notified_from_activity(activity) notifications = Enum.map(users, fn (user) -> create_notification(activity, user) end) @@ -46,9 +77,12 @@ def create_notifications(_), do: {:ok, []} # TODO move to sql, too. def create_notification(%Activity{} = activity, %User{} = user) do - notification = %Notification{user_id: user.id, activity_id: activity.id} - {:ok, notification} = Repo.insert(notification) - notification + unless User.blocks?(user, %{ap_id: activity.data["actor"]}) do + notification = %Notification{user_id: user.id, activity: activity} + {:ok, notification} = Repo.insert(notification) + Pleroma.Web.Streamer.stream("user", notification) + notification + end end end diff --git a/lib/pleroma/object.ex b/lib/pleroma/object.ex index 5b51d6be3..30ba7b57a 100644 --- a/lib/pleroma/object.ex +++ b/lib/pleroma/object.ex @@ -15,15 +15,16 @@ def create(data) do end def change(struct, params \\ %{}) do - changeset = struct + struct |> cast(params, [:data]) |> validate_required([:data]) |> unique_constraint(:ap_id, name: :objects_unique_apid_index) end + def get_by_ap_id(nil), do: nil def get_by_ap_id(ap_id) do Repo.one(from object in Object, - where: fragment("? @> ?", object.data, ^%{id: ap_id})) + where: fragment("(?)->>'id' = ?", object.data, ^ap_id)) end def get_cached_by_ap_id(ap_id) do diff --git a/lib/pleroma/plugs/authentication_plug.ex b/lib/pleroma/plugs/authentication_plug.ex index 14654f2e6..60f6faf49 100644 --- a/lib/pleroma/plugs/authentication_plug.ex +++ b/lib/pleroma/plugs/authentication_plug.ex @@ -12,6 +12,7 @@ def call(%{assigns: %{user: %User{}}} = conn, _), do: conn def call(conn, opts) do with {:ok, username, password} <- decode_header(conn), {:ok, user} <- opts[:fetcher].(username), + false <- !!user.info["deactivated"], saved_user_id <- get_session(conn, :user_id), {:ok, verified_user} <- verify(user, password, saved_user_id) do @@ -44,7 +45,7 @@ defp verify(user, password, _user_id) do defp decode_header(conn) do with ["Basic " <> header] <- get_req_header(conn, "authorization"), {:ok, userinfo} <- Base.decode64(header), - [username, password] <- String.split(userinfo, ":") + [username, password] <- String.split(userinfo, ":", parts: 2) do {:ok, username, password} end diff --git a/lib/pleroma/plugs/oauth_plug.ex b/lib/pleroma/plugs/oauth_plug.ex index fc2a907a2..be737dc9a 100644 --- a/lib/pleroma/plugs/oauth_plug.ex +++ b/lib/pleroma/plugs/oauth_plug.ex @@ -9,10 +9,15 @@ def init(options) do end def call(%{assigns: %{user: %User{}}} = conn, _), do: conn - def call(conn, opts) do - with ["Bearer " <> header] <- get_req_header(conn, "authorization"), - %Token{user_id: user_id} <- Repo.get_by(Token, token: header), - %User{} = user <- Repo.get(User, user_id) do + def call(conn, _) do + token = case get_req_header(conn, "authorization") do + ["Bearer " <> header] -> header + _ -> get_session(conn, :oauth_token) + end + with token when not is_nil(token) <- token, + %Token{user_id: user_id} <- Repo.get_by(Token, token: token), + %User{} = user <- Repo.get(User, user_id), + false <- !!user.info["deactivated"] do conn |> assign(:user, user) else diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex index 2717377a3..3567c6c88 100644 --- a/lib/pleroma/upload.ex +++ b/lib/pleroma/upload.ex @@ -8,11 +8,18 @@ def store(%Plug.Upload{} = file) do result_file = Path.join(upload_folder, file.filename) File.cp!(file.path, result_file) + # fix content type on some image uploads + content_type = if file.content_type == "application/octet-stream" do + get_content_type(file.path) + else + file.content_type + end + %{ "type" => "Image", "url" => [%{ "type" => "Link", - "mediaType" => file.content_type, + "mediaType" => content_type, "href" => url_for(Path.join(uuid, :cow_uri.urlencode(file.filename))) }], "name" => file.filename, @@ -53,4 +60,34 @@ defp upload_path do defp url_for(file) do "#{Web.base_url()}/media/#{file}" end + + def get_content_type(file) do + match = File.open(file, [:read], fn(f) -> + case IO.binread(f, 8) do + <<0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a>> -> + "image/png" + <<0x47, 0x49, 0x46, 0x38, _, 0x61, _, _>> -> + "image/gif" + <<0xff, 0xd8, 0xff, _, _, _, _, _>> -> + "image/jpeg" + <<0x1a, 0x45, 0xdf, 0xa3, _, _, _, _>> -> + "video/webm" + <<0x00, 0x00, 0x00, _, 0x66, 0x74, 0x79, 0x70>> -> + "video/mp4" + <<0x49, 0x44, 0x33, _, _, _, _, _>> -> + "audio/mpeg" + <<0x4f, 0x67, 0x67, 0x53, 0x00, 0x02, 0x00, 0x00>> -> + "audio/ogg" + <<0x52, 0x49, 0x46, 0x46, _, _, _, _>> -> + "audio/wav" + _ -> + "application/octet-stream" + end + end) + + case match do + {:ok, type} -> type + _e -> "application/octet-stream" + end + end end diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index a04bbe276..09bcf0cb4 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -5,8 +5,7 @@ defmodule Pleroma.User do alias Pleroma.{Repo, User, Object, Web, Activity, Notification} alias Comeonin.Pbkdf2 alias Pleroma.Web.{OStatus, Websub} - alias Pleroma.Web.ActivityPub.ActivityPub - alias Pleroma.Web.ActivityPub.Utils + alias Pleroma.Web.ActivityPub.{Utils, ActivityPub} schema "users" do field :bio, :string @@ -62,8 +61,9 @@ def info_changeset(struct, params \\ %{}) do end def user_info(%User{} = user) do + oneself = if user.local, do: 1, else: 0 %{ - following_count: length(user.following), + following_count: length(user.following) - oneself, note_count: user.info["note_count"] || 0, follower_count: user.info["follower_count"] || 0 } @@ -89,7 +89,7 @@ def remote_user_creation(params) do end def update_changeset(struct, params \\ %{}) do - changeset = struct + struct |> cast(params, [:bio, :name]) |> unique_constraint(:nickname) |> validate_format(:nickname, ~r/^[a-zA-Z\d]+$/) @@ -97,6 +97,25 @@ def update_changeset(struct, params \\ %{}) do |> validate_length(:name, min: 1, max: 100) end + def password_update_changeset(struct, params) do + changeset = struct + |> cast(params, [:password, :password_confirmation]) + |> validate_required([:password, :password_confirmation]) + |> validate_confirmation(:password) + + if changeset.valid? do + hashed = Pbkdf2.hashpwsalt(changeset.changes[:password]) + changeset + |> put_change(:password_hash, hashed) + else + changeset + end + end + + def reset_password(user, data) do + update_and_set_cache(password_update_changeset(user, data)) + end + def register_changeset(struct, params \\ %{}) do changeset = struct |> cast(params, [:bio, :email, :name, :nickname, :password, :password_confirmation]) @@ -123,9 +142,9 @@ def register_changeset(struct, params \\ %{}) do end end - def follow(%User{} = follower, %User{} = followed) do + def follow(%User{} = follower, %User{info: info} = followed) do ap_followers = followed.follower_address - if following?(follower, followed) do + if following?(follower, followed) or info["deactivated"] do {:error, "Could not follow user: #{followed.nickname} is already on your list."} else @@ -138,9 +157,9 @@ def follow(%User{} = follower, %User{} = followed) do follower = follower |> follow_changeset(%{following: following}) - |> Repo.update + |> update_and_set_cache - {:ok, followed} = update_follower_count(followed) + {:ok, _} = update_follower_count(followed) follower end @@ -148,13 +167,13 @@ def follow(%User{} = follower, %User{} = followed) do def unfollow(%User{} = follower, %User{} = followed) do ap_followers = followed.follower_address - if following?(follower, followed) do + if following?(follower, followed) and follower.ap_id != followed.ap_id do following = follower.following |> List.delete(ap_followers) { :ok, follower } = follower |> follow_changeset(%{following: following}) - |> Repo.update + |> update_and_set_cache {:ok, followed} = update_follower_count(followed) @@ -172,6 +191,17 @@ def get_by_ap_id(ap_id) do Repo.get_by(User, ap_id: ap_id) end + def update_and_set_cache(changeset) do + with {:ok, user} <- Repo.update(changeset) do + Cachex.set(:user_cache, "ap_id:#{user.ap_id}", user) + Cachex.set(:user_cache, "nickname:#{user.nickname}", user) + Cachex.set(:user_cache, "user_info:#{user.id}", user_info(user)) + {:ok, user} + else + e -> e + end + end + def get_cached_by_ap_id(ap_id) do key = "ap_id:#{ap_id}" Cachex.get!(:user_cache, key, fallback: fn(_) -> get_by_ap_id(ap_id) end) @@ -195,7 +225,7 @@ def get_or_fetch_by_nickname(nickname) do with %User{} = user <- get_by_nickname(nickname) do user else _e -> - with [nick, domain] <- String.split(nickname, "@"), + with [_nick, _domain] <- String.split(nickname, "@"), {:ok, user} <- OStatus.make_user(nickname) do user else _e -> nil @@ -220,9 +250,18 @@ def get_friends(%User{id: id, following: following}) do {:ok, Repo.all(q)} end + def increase_note_count(%User{} = user) do + note_count = (user.info["note_count"] || 0) + 1 + new_info = Map.put(user.info, "note_count", note_count) + + cs = info_changeset(user, %{info: new_info}) + + update_and_set_cache(cs) + end + def update_note_count(%User{} = user) do note_count_query = from a in Object, - where: fragment("? @> ?", a.data, ^%{actor: user.ap_id, type: "Note"}), + where: fragment("?->>'actor' = ? and ?->>'type' = 'Note'", a.data, ^user.ap_id, a.data), select: count(a.id) note_count = Repo.one(note_count_query) @@ -231,12 +270,13 @@ def update_note_count(%User{} = user) do cs = info_changeset(user, %{info: new_info}) - Repo.update(cs) + update_and_set_cache(cs) end def update_follower_count(%User{} = user) do follower_count_query = from u in User, where: fragment("? @> ?", u.following, ^user.follower_address), + where: u.id != ^user.id, select: count(u.id) follower_count = Repo.one(follower_count_query) @@ -245,14 +285,95 @@ def update_follower_count(%User{} = user) do cs = info_changeset(user, %{info: new_info}) - Repo.update(cs) + update_and_set_cache(cs) end - def get_notified_from_activity(%Activity{data: %{"to" => to}} = activity) do + def get_notified_from_activity(%Activity{data: %{"to" => to}}) do query = from u in User, where: u.ap_id in ^to, where: u.local == true Repo.all(query) end + + def get_recipients_from_activity(%Activity{data: %{"to" => to}}) do + query = from u in User, + where: u.ap_id in ^to, + or_where: fragment("? \\\?| ?", u.following, ^to) + + query = from u in query, + where: u.local == true + + Repo.all(query) + end + + def search(query, resolve) do + if resolve do + User.get_or_fetch_by_nickname(query) + end + q = from u in User, + where: fragment("(to_tsvector('english', ?) || to_tsvector('english', ?)) @@ plainto_tsquery('english', ?)", u.nickname, u.name, ^query), + limit: 20 + Repo.all(q) + end + + def block(user, %{ap_id: ap_id}) do + blocks = user.info["blocks"] || [] + new_blocks = Enum.uniq([ap_id | blocks]) + new_info = Map.put(user.info, "blocks", new_blocks) + + cs = User.info_changeset(user, %{info: new_info}) + update_and_set_cache(cs) + end + + def unblock(user, %{ap_id: ap_id}) do + blocks = user.info["blocks"] || [] + new_blocks = List.delete(blocks, ap_id) + new_info = Map.put(user.info, "blocks", new_blocks) + + cs = User.info_changeset(user, %{info: new_info}) + update_and_set_cache(cs) + end + + def blocks?(user, %{ap_id: ap_id}) do + blocks = user.info["blocks"] || [] + Enum.member?(blocks, ap_id) + end + + def local_user_query() do + from u in User, + where: u.local == true + end + + def deactivate (%User{} = user) do + new_info = Map.put(user.info, "deactivated", true) + cs = User.info_changeset(user, %{info: new_info}) + update_and_set_cache(cs) + end + + def delete (%User{} = user) do + {:ok, user} = User.deactivate(user) + + # Remove all relationships + {:ok, followers } = User.get_followers(user) + followers + |> Enum.each(fn (follower) -> User.unfollow(follower, user) end) + + {:ok, friends} = User.get_friends(user) + friends + |> Enum.each(fn (followed) -> User.unfollow(user, followed) end) + + query = from a in Activity, + where: a.actor == ^user.ap_id + + Repo.all(query) + |> Enum.each(fn (activity) -> + case activity.data["type"] do + "Create" -> ActivityPub.delete(Object.get_by_ap_id(activity.data["object"]["id"])) + _ -> "Doing nothing" # TODO: Do something with likes, follows, repeats. + end + end) + + :ok + end end diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 31aa2c4f1..421fd5cd7 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -1,6 +1,5 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do - alias Pleroma.{Activity, Repo, Object, Upload, User, Web, Notification} - alias Ecto.{Changeset, UUID} + alias Pleroma.{Activity, Repo, Object, Upload, User, Notification} import Ecto.Query import Pleroma.Web.ActivityPub.Utils require Logger @@ -9,8 +8,9 @@ def insert(map, local \\ true) when is_map(map) do with nil <- Activity.get_by_ap_id(map["id"]), map <- lazy_put_activity_defaults(map), :ok <- insert_full_object(map) do - {:ok, activity} = Repo.insert(%Activity{data: map, local: local}) + {:ok, activity} = Repo.insert(%Activity{data: map, local: local, actor: map["actor"]}) Notification.create_notifications(activity) + stream_out(activity) {:ok, activity} else %Activity{} = activity -> {:ok, activity} @@ -18,6 +18,18 @@ def insert(map, local \\ true) when is_map(map) do end end + def stream_out(activity) do + if activity.data["type"] in ["Create", "Announce"] do + Pleroma.Web.Streamer.stream("user", activity) + if Enum.member?(activity.data["to"], "https://www.w3.org/ns/activitystreams#Public") do + Pleroma.Web.Streamer.stream("public", activity) + if activity.local do + Pleroma.Web.Streamer.stream("public:local", activity) + end + end + end + end + def create(to, actor, context, object, additional \\ %{}, published \\ nil, local \\ true) do with create_data <- make_create_data(%{to: to, actor: actor, published: published, context: context, object: object}, additional), {:ok, activity} <- insert(create_data, local), @@ -27,7 +39,7 @@ def create(to, actor, context, object, additional \\ %{}, published \\ nil, loca end # TODO: This is weird, maybe we shouldn't check here if we can make the activity. - def like(%User{ap_id: ap_id} = user, %Object{data: %{"id" => id}} = object, activity_id \\ nil, local \\ true) do + def like(%User{ap_id: ap_id} = user, %Object{data: %{"id" => _}} = object, activity_id \\ nil, local \\ true) do with nil <- get_existing_like(ap_id, object), like_data <- make_like_data(user, object, activity_id), {:ok, activity} <- insert(like_data, local), @@ -49,7 +61,7 @@ def unlike(%User{} = actor, %Object{} = object) do end end - def announce(%User{ap_id: ap_id} = user, %Object{data: %{"id" => id}} = object, activity_id \\ nil, local \\ true) do + def announce(%User{ap_id: _} = user, %Object{data: %{"id" => _}} = object, activity_id \\ nil, local \\ true) do with announce_data <- make_announce_data(user, object, activity_id), {:ok, activity} <- insert(announce_data, local), {:ok, object} <- add_announce_to_object(activity, object), @@ -87,17 +99,17 @@ def delete(%Object{data: %{"id" => id, "actor" => actor}} = object, local \\ tru } with Repo.delete(object), Repo.delete_all(Activity.all_non_create_by_object_ap_id_q(id)), - Repo.delete_all(Activity.all_by_object_ap_id_q(id)), {:ok, activity} <- insert(data, local), :ok <- maybe_federate(activity) do {:ok, activity} end end - def fetch_activities_for_context(context) do + def fetch_activities_for_context(context, opts \\ %{}) do query = from activity in Activity, where: fragment("?->>'type' = ? and ?->>'context' = ?", activity.data, "Create", activity.data, ^context), order_by: [desc: :id] + query = restrict_blocked(query, opts) Repo.all(query) end @@ -137,7 +149,7 @@ defp restrict_max(query, _), do: query defp restrict_actor(query, %{"actor_id" => actor_id}) do from activity in query, - where: fragment("?->>'actor' = ?", activity.data, ^actor_id) + where: activity.actor == ^actor_id end defp restrict_actor(query, _), do: query @@ -156,10 +168,32 @@ defp restrict_favorited_by(query, %{"favorited_by" => ap_id}) do end defp restrict_favorited_by(query, _), do: query + defp restrict_media(query, %{"only_media" => val}) when val == "true" or val == "1" do + from activity in query, + where: fragment("not (? #> '{\"object\",\"attachment\"}' = ?)", activity.data, ^[]) + end + defp restrict_media(query, _), do: query + + # Only search through last 100_000 activities by default + defp restrict_recent(query, %{"whole_db" => true}), do: query + defp restrict_recent(query, _) do + since = (Repo.aggregate(Activity, :max, :id) || 0) - 100_000 + + from activity in query, + where: activity.id > ^since + end + + defp restrict_blocked(query, %{"blocking_user" => %User{info: info}}) do + blocks = info["blocks"] || [] + from activity in query, + where: fragment("not (? = ANY(?))", activity.actor, ^blocks) + end + defp restrict_blocked(query, _), do: query + def fetch_activities(recipients, opts \\ %{}) do base_query = from activity in Activity, limit: 20, - order_by: [desc: :id] + order_by: [fragment("? desc nulls last", activity.id)] base_query |> restrict_recipients(recipients) @@ -170,6 +204,9 @@ def fetch_activities(recipients, opts \\ %{}) do |> restrict_actor(opts) |> restrict_type(opts) |> restrict_favorited_by(opts) + |> restrict_recent(opts) + |> restrict_blocked(opts) + |> restrict_media(opts) |> Repo.all |> Enum.reverse end diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex index 4b8e6b690..ac20a2822 100644 --- a/lib/pleroma/web/activity_pub/utils.ex +++ b/lib/pleroma/web/activity_pub/utils.ex @@ -29,7 +29,12 @@ def generate_id(type) do Enqueues an activity for federation if it's local """ def maybe_federate(%Activity{local: true} = activity) do - Pleroma.Web.Federator.enqueue(:publish, activity) + priority = case activity.data["type"] do + "Delete" -> 10 + "Create" -> 1 + _ -> 5 + end + Pleroma.Web.Federator.enqueue(:publish, activity, priority) :ok end def maybe_federate(_), do: :ok @@ -64,7 +69,7 @@ def lazy_put_object_defaults(map) do Inserts a full object if it is contained in an activity. """ def insert_full_object(%{"object" => object_data}) when is_map(object_data) do - with {:ok, object} <- Object.create(object_data) do + with {:ok, _} <- Object.create(object_data) do :ok end end @@ -88,9 +93,13 @@ def update_object_in_activities(%{data: %{"id" => id}} = object) do @doc """ Returns an existing like if a user already liked an object """ - def get_existing_like(actor, %{data: %{"id" => id}} = object) do + def get_existing_like(actor, %{data: %{"id" => id}}) do query = from activity in Activity, - where: fragment("? @> ?", activity.data, ^%{actor: actor, object: id, type: "Like"}) + where: fragment("(?)->>'actor' = ?", activity.data, ^actor), + # this is to use the index + where: fragment("coalesce((?)->'object'->>'id', (?)->>'object') = ?", activity.data, activity.data, ^id), + where: fragment("(?)->>'type' = 'Like'", activity.data) + Repo.one(query) end @@ -197,7 +206,7 @@ def make_unfollow_data(follower, followed, follow_activity) do def make_create_data(params, additional) do published = params.published || make_date() - activity = %{ + %{ "type" => "Create", "to" => params.to |> Enum.uniq, "actor" => params.actor.ap_id, diff --git a/lib/pleroma/web/channels/user_socket.ex b/lib/pleroma/web/channels/user_socket.ex index 7aa8e556e..4a9bb8e22 100644 --- a/lib/pleroma/web/channels/user_socket.ex +++ b/lib/pleroma/web/channels/user_socket.ex @@ -1,8 +1,11 @@ defmodule Pleroma.Web.UserSocket do use Phoenix.Socket + alias Pleroma.User + alias Comeonin.Pbkdf2 ## Channels # channel "room:*", Pleroma.Web.RoomChannel + channel "chat:*", Pleroma.Web.ChatChannel ## Transports transport :websocket, Phoenix.Transports.WebSocket @@ -19,8 +22,13 @@ defmodule Pleroma.Web.UserSocket do # # See `Phoenix.Token` documentation for examples in # performing token verification on connect. - def connect(_params, socket) do - {:ok, socket} + def connect(%{"token" => token}, socket) do + with {:ok, user_id} <- Phoenix.Token.verify(socket, "user socket", token, max_age: 84600), + %User{} = user <- Pleroma.Repo.get(User, user_id) do + {:ok, assign(socket, :user_name, user.nickname)} + else + _e -> :error + end end # Socket id's are topics that allow you to identify all sockets for a given user: diff --git a/lib/pleroma/web/chat_channel.ex b/lib/pleroma/web/chat_channel.ex new file mode 100644 index 000000000..268bef17d --- /dev/null +++ b/lib/pleroma/web/chat_channel.ex @@ -0,0 +1,46 @@ +defmodule Pleroma.Web.ChatChannel do + use Phoenix.Channel + alias Pleroma.Web.ChatChannel.ChatChannelState + alias Pleroma.User + + def join("chat:public", _message, socket) do + send(self(), :after_join) + {:ok, socket} + end + + def handle_info(:after_join, socket) do + push socket, "messages", %{messages: ChatChannelState.messages()} + {:noreply, socket} + end + + def handle_in("new_msg", %{"text" => text}, %{assigns: %{user_name: user_name}} = socket) do + author = User.get_cached_by_nickname(user_name) + author = Pleroma.Web.MastodonAPI.AccountView.render("account.json", user: author) + message = ChatChannelState.add_message(%{text: text, author: author}) + + broadcast! socket, "new_msg", message + {:noreply, socket} + end +end + +defmodule Pleroma.Web.ChatChannel.ChatChannelState do + use Agent + @max_messages 20 + + def start_link do + Agent.start_link(fn -> %{max_id: 1, messages: []} end, name: __MODULE__) + end + + def add_message(message) do + Agent.get_and_update(__MODULE__, fn state -> + id = state[:max_id] + 1 + message = Map.put(message, "id", id) + messages = [message | state[:messages]] |> Enum.take(@max_messages) + {message, %{max_id: id, messages: messages}} + end) + end + + def messages() do + Agent.get(__MODULE__, fn state -> state[:messages] |> Enum.reverse end) + end +end diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index a865cd143..d3a9f7b85 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -16,7 +16,6 @@ def delete(activity_id, user) do def repeat(id_or_ap_id, user) do with %Activity{} = activity <- get_by_id_or_ap_id(id_or_ap_id), - false <- activity.data["actor"] == user.ap_id, object <- Object.get_by_ap_id(activity.data["object"]["id"]) do ActivityPub.announce(user, object) else @@ -56,12 +55,14 @@ def post(user, %{"status" => status} = data) do mentions <- Formatter.parse_mentions(status), inReplyTo <- get_replied_to_activity(data["in_reply_to_status_id"]), to <- to_for_user_and_mentions(user, mentions, inReplyTo), - tags <- Formatter.parse_tags(status), - content_html <- make_content_html(status, mentions, attachments, tags), + tags <- Formatter.parse_tags(status, data), + content_html <- make_content_html(status, mentions, attachments, tags, data["no_attachment_links"]), context <- make_context(inReplyTo), - object <- make_note_data(user.ap_id, to, context, content_html, attachments, inReplyTo, tags) do + cw <- data["spoiler_text"], + object <- make_note_data(user.ap_id, to, context, content_html, attachments, inReplyTo, tags, cw), + object <- Map.put(object, "emoji", Formatter.get_emoji(status) |> Enum.reduce(%{}, fn({name, file}, acc) -> Map.put(acc, name, "#{Pleroma.Web.Endpoint.static_url}#{file}") end)) do res = ActivityPub.create(to, user, context, object) - User.update_note_count(user) + User.increase_note_count(user) res end end diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex index b370a8fb7..e60dff7dc 100644 --- a/lib/pleroma/web/common_api/utils.ex +++ b/lib/pleroma/web/common_api/utils.ex @@ -38,15 +38,19 @@ def to_for_user_and_mentions(user, mentions, inReplyTo) do end end - def make_content_html(status, mentions, attachments, tags) do + def make_content_html(status, mentions, attachments, tags, no_attachment_links \\ false) do status |> format_input(mentions, tags) - |> add_attachments(attachments) + |> maybe_add_attachments(attachments, no_attachment_links) end def make_context(%Activity{data: %{"context" => context}}), do: context def make_context(_), do: Utils.generate_context_id + def maybe_add_attachments(text, attachments, _no_links = true), do: text + def maybe_add_attachments(text, attachments, _no_links) do + add_attachments(text, attachments) + end def add_attachments(text, attachments) do attachment_text = Enum.map(attachments, fn (%{"url" => [%{"href" => href} | _]}) -> @@ -54,15 +58,16 @@ def add_attachments(text, attachments) do "#{shortname(name)}" _ -> "" end) - Enum.join([text | attachment_text], "
\n") + Enum.join([text | attachment_text], "
") end - def format_input(text, mentions, tags) do - HtmlSanitizeEx.strip_tags(text) + def format_input(text, mentions, _tags) do + text + |> Formatter.html_escape |> Formatter.linkify - |> String.replace("\n", "
\n") + |> String.replace("\n", "
") |> add_user_links(mentions) - |> add_tag_links(tags) + # |> add_tag_links(tags) end def add_tag_links(text, tags) do @@ -94,11 +99,12 @@ def add_user_links(text, mentions) do end) end - def make_note_data(actor, to, context, content_html, attachments, inReplyTo, tags) do + def make_note_data(actor, to, context, content_html, attachments, inReplyTo, tags, cw \\ nil) do object = %{ "type" => "Note", "to" => to, "content" => content_html, + "summary" => cw, "context" => context, "attachment" => attachments, "actor" => actor, diff --git a/lib/pleroma/web/endpoint.ex b/lib/pleroma/web/endpoint.ex index a1b4108cd..b57cf3917 100644 --- a/lib/pleroma/web/endpoint.ex +++ b/lib/pleroma/web/endpoint.ex @@ -2,6 +2,7 @@ defmodule Pleroma.Web.Endpoint do use Phoenix.Endpoint, otp_app: :pleroma socket "/socket", Pleroma.Web.UserSocket + socket "/api/v1", Pleroma.Web.MastodonAPI.MastodonSocket # Serve at "/" the static files from "priv/static" directory. # @@ -11,7 +12,7 @@ defmodule Pleroma.Web.Endpoint do at: "/media", from: "uploads", gzip: false plug Plug.Static, at: "/", from: :pleroma, - only: ~w(index.html static finmoji emoji) + only: ~w(index.html static finmoji emoji packs sounds sw.js) # Code reloading can be explicitly enabled under the # :code_reloader configuration of your endpoint. diff --git a/lib/pleroma/web/federator/federator.ex b/lib/pleroma/web/federator/federator.ex index 4d6ebff8e..b23ed5fcc 100644 --- a/lib/pleroma/web/federator/federator.ex +++ b/lib/pleroma/web/federator/federator.ex @@ -14,7 +14,10 @@ def start_link do Process.sleep(1000 * 60 * 1) # 1 minute enqueue(:refresh_subscriptions, nil) end) - GenServer.start_link(__MODULE__, {:sets.new(), :queue.new()}, name: __MODULE__) + GenServer.start_link(__MODULE__, %{ + in: {:sets.new(), []}, + out: {:sets.new(), []} + }, name: __MODULE__) end def handle(:refresh_subscriptions, _) do @@ -71,22 +74,22 @@ def handle(:publish_single_websub, %{xml: xml, topic: topic, callback: callback, end end - def handle(type, payload) do + def handle(type, _) do Logger.debug(fn -> "Unknown task: #{type}" end) {:error, "Don't know what do do with this"} end - def enqueue(type, payload) do + def enqueue(type, payload, priority \\ 1) do if Mix.env == :test do handle(type, payload) else - GenServer.cast(__MODULE__, {:enqueue, type, payload}) + GenServer.cast(__MODULE__, {:enqueue, type, payload, priority}) end end def maybe_start_job(running_jobs, queue) do - if (:sets.size(running_jobs) < @max_jobs) && !:queue.is_empty(queue) do - {{:value, {type, payload}}, queue} = :queue.out(queue) + if (:sets.size(running_jobs) < @max_jobs) && queue != [] do + {{type, payload}, queue} = queue_pop(queue) {:ok, pid} = Task.start(fn -> handle(type, payload) end) mref = Process.monitor(pid) {:sets.add_element(mref, running_jobs), queue} @@ -95,20 +98,41 @@ def maybe_start_job(running_jobs, queue) do end end - def handle_cast({:enqueue, type, payload}, {running_jobs, queue}) do - queue = :queue.in({type, payload}, queue) - {running_jobs, queue} = maybe_start_job(running_jobs, queue) - {:noreply, {running_jobs, queue}} + def handle_cast({:enqueue, type, payload, priority}, state) when type in [:incoming_doc] do + %{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}} = state + i_queue = enqueue_sorted(i_queue, {type, payload}, 1) + {i_running_jobs, i_queue} = maybe_start_job(i_running_jobs, i_queue) + {:noreply, %{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}}} end - def handle_info({:DOWN, ref, :process, _pid, _reason}, {running_jobs, queue}) do - running_jobs = :sets.del_element(ref, running_jobs) - {running_jobs, queue} = maybe_start_job(running_jobs, queue) - {:noreply, {running_jobs, queue}} + def handle_cast({:enqueue, type, payload, priority}, state) do + %{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}} = state + o_queue = enqueue_sorted(o_queue, {type, payload}, 1) + {o_running_jobs, o_queue} = maybe_start_job(o_running_jobs, o_queue) + {:noreply, %{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}}} end def handle_cast(m, state) do IO.inspect("Unknown: #{inspect(m)}, #{inspect(state)}") {:noreply, state} end + + def handle_info({:DOWN, ref, :process, _pid, _reason}, state) do + %{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}} = state + i_running_jobs = :sets.del_element(ref, i_running_jobs) + o_running_jobs = :sets.del_element(ref, o_running_jobs) + {i_running_jobs, i_queue} = maybe_start_job(i_running_jobs, i_queue) + {o_running_jobs, o_queue} = maybe_start_job(o_running_jobs, o_queue) + + {:noreply, %{in: {i_running_jobs, i_queue}, out: {o_running_jobs, o_queue}}} + end + + def enqueue_sorted(queue, element, priority) do + [%{item: element, priority: priority} | queue] + |> Enum.sort_by(fn (%{priority: priority}) -> priority end) + end + + def queue_pop([%{item: element} | queue]) do + {element, queue} + end end diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index a01a199fb..e50f53ba4 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -1,14 +1,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do use Pleroma.Web, :controller alias Pleroma.{Repo, Activity, User, Notification} - alias Pleroma.Web.OAuth.App alias Pleroma.Web - alias Pleroma.Web.MastodonAPI.{StatusView, AccountView} + alias Pleroma.Web.MastodonAPI.{StatusView, AccountView, MastodonView} alias Pleroma.Web.ActivityPub.ActivityPub - alias Pleroma.Web.TwitterAPI.TwitterAPI - alias Pleroma.Web.CommonAPI + alias Pleroma.Web.{CommonAPI, OStatus} + alias Pleroma.Web.OAuth.{Authorization, Token, App} + alias Comeonin.Pbkdf2 import Ecto.Query - import Logger + require Logger def create_app(conn, params) do with cs <- App.register_changeset(%App{}, params) |> IO.inspect, @@ -23,7 +23,58 @@ def create_app(conn, params) do end end - def verify_credentials(%{assigns: %{user: user}} = conn, params) do + def update_credentials(%{assigns: %{user: user}} = conn, params) do + params = if bio = params["note"] do + Map.put(params, "bio", bio) + else + params + end + + params = if name = params["display_name"] do + Map.put(params, "name", name) + else + params + end + + user = if avatar = params["avatar"] do + with %Plug.Upload{} <- avatar, + {:ok, object} <- ActivityPub.upload(avatar), + change = Ecto.Changeset.change(user, %{avatar: object.data}), + {:ok, user} = Repo.update(change) do + user + else + _e -> user + end + else + user + end + + user = if banner = params["header"] do + with %Plug.Upload{} <- banner, + {:ok, object} <- ActivityPub.upload(banner), + new_info <- Map.put(user.info, "banner", object.data), + change <- User.info_changeset(user, %{info: new_info}), + {:ok, user} <- Repo.update(change) do + user + else + _e -> user + end + else + user + end + + with changeset <- User.update_changeset(user, params), + {:ok, user} <- Repo.update(changeset) do + json conn, AccountView.render("account.json", %{user: user}) + else + _e -> + conn + |> put_status(403) + |> json(%{error: "Invalid request"}) + end + end + + def verify_credentials(%{assigns: %{user: user}} = conn, _) do account = AccountView.render("account.json", %{user: user}) json(conn, account) end @@ -42,6 +93,7 @@ def user(conn, %{"id" => id}) do @instance Application.get_env(:pleroma, :instance) def masto_instance(conn, _params) do + user_count = Repo.aggregate(User.local_user_query, :count, :id) response = %{ uri: Web.base_url, title: Keyword.get(@instance, :name), @@ -52,15 +104,33 @@ def masto_instance(conn, _params) do streaming_api: String.replace(Web.base_url, ["http","https"], "wss") }, stats: %{ - user_count: 1, status_count: 2, + user_count: user_count, domain_count: 3 - } + }, + max_toot_chars: Keyword.get(@instance, :limit) } json(conn, response) end + defp mastodonized_emoji do + Pleroma.Formatter.get_custom_emoji() + |> Enum.map(fn {shortcode, relative_url} -> + url = to_string URI.merge(Web.base_url(), relative_url) + %{ + "shortcode" => shortcode, + "static_url" => url, + "url" => url + } + end) + end + + def custom_emojis(conn, _params) do + mastodon_emoji = mastodonized_emoji() + json conn, mastodon_emoji + end + defp add_link_headers(conn, method, activities) do last = List.last(activities) first = List.first(activities) @@ -79,6 +149,7 @@ defp add_link_headers(conn, method, activities) do def home_timeline(%{assigns: %{user: user}} = conn, params) do params = params |> Map.put("type", ["Create", "Announce"]) + |> Map.put("blocking_user", user) activities = ActivityPub.fetch_activities([user.ap_id | user.following], params) |> Enum.reverse @@ -92,6 +163,7 @@ def public_timeline(%{assigns: %{user: user}} = conn, params) do params = params |> Map.put("type", ["Create", "Announce"]) |> Map.put("local_only", !!params["local"]) + |> Map.put("blocking_user", user) activities = ActivityPub.fetch_public_activities(params) |> Enum.reverse @@ -107,6 +179,7 @@ def user_statuses(%{assigns: %{user: user}} = conn, params) do params = params |> Map.put("type", ["Create", "Announce"]) |> Map.put("actor_id", ap_id) + |> Map.put("whole_db", true) activities = ActivityPub.fetch_activities([], params) |> Enum.reverse @@ -123,8 +196,9 @@ def get_status(%{assigns: %{user: user}} = conn, %{"id" => id}) do def get_context(%{assigns: %{user: user}} = conn, %{"id" => id}) do with %Activity{} = activity <- Repo.get(Activity, id), - activities <- ActivityPub.fetch_activities_for_context(activity.data["object"]["context"]), + activities <- ActivityPub.fetch_activities_for_context(activity.data["object"]["context"], %{"blocking_user" => user}), activities <- activities |> Enum.filter(fn (%{id: aid}) -> to_string(aid) != to_string(id) end), + activities <- activities |> Enum.filter(fn (%{data: %{"type" => type}}) -> type == "Create" end), grouped_activities <- Enum.group_by(activities, fn (%{id: id}) -> id < activity.id end) do result = %{ ancestors: StatusView.render("index.json", for: user, activities: grouped_activities[true] || [], as: :activity) |> Enum.reverse, @@ -135,9 +209,10 @@ def get_context(%{assigns: %{user: user}} = conn, %{"id" => id}) do end end - def post_status(%{assigns: %{user: user}} = conn, %{"status" => status} = params) do + def post_status(%{assigns: %{user: user}} = conn, %{"status" => _} = params) do params = params |> Map.put("in_reply_to_status_id", params["in_reply_to_id"]) + |> Map.put("no_attachment_links", true) {:ok, activity} = CommonAPI.post(user, params) render conn, StatusView, "status.json", %{activity: activity, for: user, as: :activity} @@ -155,9 +230,8 @@ def delete_status(%{assigns: %{user: user}} = conn, %{"id" => id}) do end def reblog_status(%{assigns: %{user: user}} = conn, %{"id" => ap_id_or_id}) do - with {:ok, _announce, %{data: %{"id" => id}}} = CommonAPI.repeat(ap_id_or_id, user), - %Activity{} = activity <- Activity.get_create_activity_by_object_ap_id(id) do - render conn, StatusView, "status.json", %{activity: activity, for: user, as: :activity} + with {:ok, announce, _activity} = CommonAPI.repeat(ap_id_or_id, user) do + render conn, StatusView, "status.json", %{activity: announce, for: user, as: :activity} end end @@ -177,23 +251,8 @@ def unfav_status(%{assigns: %{user: user}} = conn, %{"id" => ap_id_or_id}) do def notifications(%{assigns: %{user: user}} = conn, params) do notifications = Notification.for_user(user, params) - result = Enum.map(notifications, fn (%{id: id, activity: activity, inserted_at: created_at}) -> - actor = User.get_cached_by_ap_id(activity.data["actor"]) - created_at = NaiveDateTime.to_iso8601(created_at) - |> String.replace(~r/(\.\d+)?$/, ".000Z", global: false) - case activity.data["type"] do - "Create" -> - %{id: id, type: "mention", created_at: created_at, account: AccountView.render("account.json", %{user: actor}), status: StatusView.render("status.json", %{activity: activity})} - "Like" -> - liked_activity = Activity.get_create_activity_by_object_ap_id(activity.data["object"]) - %{id: id, type: "favourite", created_at: created_at, account: AccountView.render("account.json", %{user: actor}), status: StatusView.render("status.json", %{activity: liked_activity})} - "Announce" -> - announced_activity = Activity.get_create_activity_by_object_ap_id(activity.data["object"]) - %{id: id, type: "reblog", created_at: created_at, account: AccountView.render("account.json", %{user: actor}), status: StatusView.render("status.json", %{activity: announced_activity})} - "Follow" -> - %{id: id, type: "follow", created_at: created_at, account: AccountView.render("account.json", %{user: actor})} - _ -> nil - end + result = Enum.map(notifications, fn x -> + render_notification(user, x) end) |> Enum.filter(&(&1)) @@ -202,6 +261,33 @@ def notifications(%{assigns: %{user: user}} = conn, params) do |> json(result) end + def get_notification(%{assigns: %{user: user}} = conn, %{"id" => id} = _params) do + with {:ok, notification} <- Notification.get(user, id) do + json(conn, render_notification(user, notification)) + else + {:error, reason} -> + conn + |> put_resp_content_type("application/json") + |> send_resp(403, Poison.encode!(%{"error" => reason})) + end + end + + def clear_notifications(%{assigns: %{user: user}} = conn, _params) do + Notification.clear(user) + json(conn, %{}) + end + + def dismiss_notification(%{assigns: %{user: user}} = conn, %{"id" => id} = _params) do + with {:ok, _notif} <- Notification.dismiss(user, id) do + json(conn, %{}) + else + {:error, reason} -> + conn + |> put_resp_content_type("application/json") + |> send_resp(403, Poison.encode!(%{"error" => reason})) + end + end + def relationships(%{assigns: %{user: user}} = conn, %{"id" => id}) do id = List.wrap(id) q = from u in User, @@ -210,7 +296,7 @@ def relationships(%{assigns: %{user: user}} = conn, %{"id" => id}) do render conn, AccountView, "relationships.json", %{user: user, targets: targets} end - def upload(%{assigns: %{user: user}} = conn, %{"file" => file}) do + def upload(%{assigns: %{user: _}} = conn, %{"file" => file}) do with {:ok, object} <- ActivityPub.upload(file) do data = object.data |> Map.put("id", object.id) @@ -220,7 +306,7 @@ def upload(%{assigns: %{user: user}} = conn, %{"file" => file}) do end def favourited_by(conn, %{"id" => id}) do - with %Activity{data: %{"object" => %{"likes" => likes} = data}} <- Repo.get(Activity, id) do + with %Activity{data: %{"object" => %{"likes" => likes}}} <- Repo.get(Activity, id) do q = from u in User, where: u.ap_id in ^likes users = Repo.all(q) @@ -246,6 +332,7 @@ def hashtag_timeline(%{assigns: %{user: user}} = conn, params) do params = params |> Map.put("type", "Create") |> Map.put("local_only", !!params["local"]) + |> Map.put("blocking_user", user) activities = ActivityPub.fetch_public_activities(params) |> Enum.reverse @@ -271,9 +358,27 @@ def following(conn, %{"id" => id}) do def follow(%{assigns: %{user: follower}} = conn, %{"id" => id}) do with %User{} = followed <- Repo.get(User, id), - {:ok, follower} <- User.follow(follower, followed), - {:ok, activity} <- ActivityPub.follow(follower, followed) do + {:ok, follower} <- User.follow(follower, followed), + {:ok, _activity} <- ActivityPub.follow(follower, followed) do render conn, AccountView, "relationship.json", %{user: follower, target: followed} + else + {:error, message} -> + conn + |> put_resp_content_type("application/json") + |> send_resp(403, Poison.encode!(%{"error" => message})) + end + end + + def follow(%{assigns: %{user: follower}} = conn, %{"uri" => uri}) do + with %User{} = followed <- Repo.get_by(User, nickname: uri), + {:ok, follower} <- User.follow(follower, followed), + {:ok, _activity} <- ActivityPub.follow(follower, followed) do + render conn, AccountView, "account.json", %{user: followed} + else + {:error, message} -> + conn + |> put_resp_content_type("application/json") + |> send_resp(403, Poison.encode!(%{"error" => message})) end end @@ -290,21 +395,55 @@ def unfollow(%{assigns: %{user: follower}} = conn, %{"id" => id}) do end end - def search(%{assigns: %{user: user}} = conn, %{"q" => query} = params) do - if params["resolve"] == "true" do - User.get_or_fetch_by_nickname(query) + def block(%{assigns: %{user: blocker}} = conn, %{"id" => id}) do + with %User{} = blocked <- Repo.get(User, id), + {:ok, blocker} <- User.block(blocker, blocked) do + render conn, AccountView, "relationship.json", %{user: blocker, target: blocked} + else + {:error, message} -> + conn + |> put_resp_content_type("application/json") + |> send_resp(403, Poison.encode!(%{"error" => message})) end + end - q = from u in User, - where: fragment("(to_tsvector('english', ?) || to_tsvector('english', ?)) @@ plainto_tsquery('english', ?)", u.nickname, u.name, ^query), - limit: 20 - accounts = Repo.all(q) + def unblock(%{assigns: %{user: blocker}} = conn, %{"id" => id}) do + with %User{} = blocked <- Repo.get(User, id), + {:ok, blocker} <- User.unblock(blocker, blocked) do + render conn, AccountView, "relationship.json", %{user: blocker, target: blocked} + else + {:error, message} -> + conn + |> put_resp_content_type("application/json") + |> send_resp(403, Poison.encode!(%{"error" => message})) + end + end + + # TODO: Use proper query + def blocks(%{assigns: %{user: user}} = conn, _) do + with blocked_users <- user.info["blocks"] || [], + accounts <- Enum.map(blocked_users, fn (ap_id) -> User.get_cached_by_ap_id(ap_id) end) do + res = AccountView.render("accounts.json", users: accounts, for: user, as: :user) + json(conn, res) + end + end + + def search(%{assigns: %{user: user}} = conn, %{"q" => query} = params) do + accounts = User.search(query, params["resolve"] == "true") + + fetched = if Regex.match?(~r/https?:/, query) do + with {:ok, activities} <- OStatus.fetch_activity_from_url(query) do + activities + else + _e -> [] + end + end || [] q = from a in Activity, where: fragment("?->>'type' = 'Create'", a.data), where: fragment("to_tsvector('english', ?->'object'->>'content') @@ plainto_tsquery('english', ?)", a.data, ^query), limit: 20 - statuses = Repo.all(q) + statuses = Repo.all(q) ++ fetched res = %{ "accounts" => AccountView.render("accounts.json", users: accounts, for: user, as: :user), @@ -315,10 +454,19 @@ def search(%{assigns: %{user: user}} = conn, %{"q" => query} = params) do json(conn, res) end - def favourites(%{assigns: %{user: user}} = conn, params) do + def account_search(%{assigns: %{user: user}} = conn, %{"q" => query} = params) do + accounts = User.search(query, params["resolve"] == "true") + + res = AccountView.render("accounts.json", users: accounts, for: user, as: :user) + + json(conn, res) + end + + def favourites(%{assigns: %{user: user}} = conn, _) do params = conn |> Map.put("type", "Create") |> Map.put("favorited_by", user.ap_id) + |> Map.put("blocking_user", user) activities = ActivityPub.fetch_activities([], params) |> Enum.reverse @@ -327,6 +475,127 @@ def favourites(%{assigns: %{user: user}} = conn, params) do |> render(StatusView, "index.json", %{activities: activities, for: user, as: :activity}) end + def index(%{assigns: %{user: user}} = conn, _params) do + token = conn + |> get_session(:oauth_token) + + if user && token do + mastodon_emoji = mastodonized_emoji() + accounts = Map.put(%{}, user.id, AccountView.render("account.json", %{user: user})) + initial_state = %{ + meta: %{ + streaming_api_base_url: String.replace(Pleroma.Web.Endpoint.static_url(), "http", "ws"), + access_token: token, + locale: "en", + domain: Pleroma.Web.Endpoint.host(), + admin: "1", + me: "#{user.id}", + unfollow_modal: false, + boost_modal: false, + delete_modal: true, + auto_play_gif: false, + reduce_motion: false + }, + compose: %{ + me: "#{user.id}", + default_privacy: "public", + default_sensitive: false + }, + media_attachments: %{ + accept_content_types: [ + ".jpg", + ".jpeg", + ".png", + ".gif", + ".webm", + ".mp4", + ".m4v", + "image\/jpeg", + "image\/png", + "image\/gif", + "video\/webm", + "video\/mp4" + ] + }, + settings: %{ + onboarded: true, + home: %{ + shows: %{ + reblog: true, + reply: true + } + }, + notifications: %{ + alerts: %{ + follow: true, + favourite: true, + reblog: true, + mention: true + }, + shows: %{ + follow: true, + favourite: true, + reblog: true, + mention: true + }, + sounds: %{ + follow: true, + favourite: true, + reblog: true, + mention: true + } + } + }, + push_subscription: nil, + accounts: accounts, + custom_emojis: mastodon_emoji + } |> Poison.encode! + conn + |> put_layout(false) + |> render(MastodonView, "index.html", %{initial_state: initial_state}) + else + conn + |> redirect(to: "/web/login") + end + end + + def login(conn, _) do + conn + |> render(MastodonView, "login.html", %{error: false}) + end + + defp get_or_make_app() do + with %App{} = app <- Repo.get_by(App, client_name: "Mastodon-Local") do + {:ok, app} + else + _e -> + cs = App.register_changeset(%App{}, %{client_name: "Mastodon-Local", redirect_uris: ".", scopes: "read,write,follow"}) + Repo.insert(cs) + end + end + + def login_post(conn, %{"authorization" => %{ "name" => name, "password" => password}}) do + with %User{} = user <- User.get_cached_by_nickname(name), + true <- Pbkdf2.checkpw(password, user.password_hash), + {:ok, app} <- get_or_make_app(), + {:ok, auth} <- Authorization.create_authorization(app, user), + {:ok, token} <- Token.exchange_token(app, auth) do + conn + |> put_session(:oauth_token, token.token) + |> redirect(to: "/web/getting-started") + else + _e -> + conn + |> render(MastodonView, "login.html", %{error: "Wrong username or password"}) + end + end + + def logout(conn, _) do + conn + |> clear_session + |> redirect(to: "/") + end + def relationship_noop(%{assigns: %{user: user}} = conn, %{"id" => id}) do Logger.debug("Unimplemented, returning unmodified relationship") with %User{} = target <- Repo.get(User, id) do @@ -338,4 +607,23 @@ def empty_array(conn, _) do Logger.debug("Unimplemented, returning an empty array") json(conn, []) end + + def render_notification(user, %{id: id, activity: activity, inserted_at: created_at} = _params) do + actor = User.get_cached_by_ap_id(activity.data["actor"]) + created_at = NaiveDateTime.to_iso8601(created_at) + |> String.replace(~r/(\.\d+)?$/, ".000Z", global: false) + case activity.data["type"] do + "Create" -> + %{id: id, type: "mention", created_at: created_at, account: AccountView.render("account.json", %{user: actor}), status: StatusView.render("status.json", %{activity: activity, for: user})} + "Like" -> + liked_activity = Activity.get_create_activity_by_object_ap_id(activity.data["object"]) + %{id: id, type: "favourite", created_at: created_at, account: AccountView.render("account.json", %{user: actor}), status: StatusView.render("status.json", %{activity: liked_activity, for: user})} + "Announce" -> + announced_activity = Activity.get_create_activity_by_object_ap_id(activity.data["object"]) + %{id: id, type: "reblog", created_at: created_at, account: AccountView.render("account.json", %{user: actor}), status: StatusView.render("status.json", %{activity: announced_activity, for: user})} + "Follow" -> + %{id: id, type: "follow", created_at: created_at, account: AccountView.render("account.json", %{user: actor})} + _ -> nil + end + end end diff --git a/lib/pleroma/web/mastodon_api/mastodon_socket.ex b/lib/pleroma/web/mastodon_api/mastodon_socket.ex new file mode 100644 index 000000000..fe71ea271 --- /dev/null +++ b/lib/pleroma/web/mastodon_api/mastodon_socket.ex @@ -0,0 +1,41 @@ +defmodule Pleroma.Web.MastodonAPI.MastodonSocket do + use Phoenix.Socket + + alias Pleroma.Web.OAuth.Token + alias Pleroma.{User, Repo} + + transport :streaming, Phoenix.Transports.WebSocket.Raw, + timeout: :infinity # We never receive data. + + def connect(params, socket) do + with token when not is_nil(token) <- params["access_token"], + %Token{user_id: user_id} <- Repo.get_by(Token, token: token), + %User{} = user <- Repo.get(User, user_id), + stream when stream in ["public", "public:local", "user"] <- params["stream"] do + socket = socket + |> assign(:topic, params["stream"]) + |> assign(:user, user) + Pleroma.Web.Streamer.add_socket(params["stream"], socket) + {:ok, socket} + else + _e -> :error + end + end + + def id(_), do: nil + + def handle(:text, message, _state) do + IO.inspect message + #| :ok + #| state + #| {:text, message} + #| {:text, message, state} + #| {:close, "Goodbye!"} + {:text, message} + end + + def handle(:closed, _, %{socket: socket}) do + topic = socket.assigns[:topic] + Pleroma.Web.Streamer.remove_socket(topic, socket) + end +end diff --git a/lib/pleroma/web/mastodon_api/views/account_view.ex b/lib/pleroma/web/mastodon_api/views/account_view.ex index ff02587d6..02f1e60bb 100644 --- a/lib/pleroma/web/mastodon_api/views/account_view.ex +++ b/lib/pleroma/web/mastodon_api/views/account_view.ex @@ -4,7 +4,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do alias Pleroma.Web.MastodonAPI.AccountView alias Pleroma.Web.CommonAPI.Utils - defp image_url(%{"url" => [ %{ "href" => href } | t ]}), do: href + defp image_url(%{"url" => [ %{ "href" => href } | _ ]}), do: href defp image_url(_), do: nil def render("accounts.json", %{users: users} = opts) do @@ -18,7 +18,7 @@ def render("account.json", %{user: user}) do header = image_url(user.info["banner"]) || "https://placehold.it/700x335" %{ - id: user.id, + id: to_string(user.id), username: hd(String.split(user.nickname, "@")), acct: user.nickname, display_name: user.name, @@ -43,7 +43,7 @@ def render("account.json", %{user: user}) do def render("mention.json", %{user: user}) do %{ - id: user.id, + id: to_string(user.id), acct: user.nickname, username: hd(String.split(user.nickname, "@")), url: user.ap_id @@ -52,10 +52,10 @@ def render("mention.json", %{user: user}) do def render("relationship.json", %{user: user, target: target}) do %{ - id: target.id, + id: to_string(target.id), following: User.following?(user, target), followed_by: User.following?(target, user), - blocking: false, + blocking: User.blocks?(user, target), muting: false, requested: false, domain_blocking: false diff --git a/lib/pleroma/web/mastodon_api/views/mastodon_view.ex b/lib/pleroma/web/mastodon_api/views/mastodon_view.ex new file mode 100644 index 000000000..370fad374 --- /dev/null +++ b/lib/pleroma/web/mastodon_api/views/mastodon_view.ex @@ -0,0 +1,5 @@ +defmodule Pleroma.Web.MastodonAPI.MastodonView do + use Pleroma.Web, :view + import Phoenix.HTML + import Phoenix.HTML.Form +end diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index cce4f7217..5585a5605 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -21,9 +21,9 @@ def render("status.json", %{activity: %{data: %{"type" => "Announce", "object" = |> Enum.map(fn (user) -> AccountView.render("mention.json", %{user: user}) end) %{ - id: activity.id, + id: to_string(activity.id), uri: object, - url: nil, + url: nil, # TODO: This might be wrong, check with mastodon. account: AccountView.render("account.json", %{user: user}), in_reply_to_id: nil, in_reply_to_account_id: nil, @@ -45,7 +45,8 @@ def render("status.json", %{activity: %{data: %{"type" => "Announce", "object" = name: "Web", website: nil }, - language: nil + language: nil, + emojis: [] } end @@ -74,10 +75,13 @@ def render("status.json", %{activity: %{data: %{"object" => object}} = activity} reply_to = Activity.get_create_activity_by_object_ap_id(object["inReplyTo"]) reply_to_user = reply_to && User.get_cached_by_ap_id(reply_to.data["actor"]) + emojis = (activity.data["object"]["emoji"] || []) + |> Enum.map(fn {name, url} -> %{ shortcode: name, url: url, static_url: url } end) + %{ - id: activity.id, + id: to_string(activity.id), uri: object["id"], - url: object["external_url"], + url: object["external_url"] || object["id"], account: AccountView.render("account.json", %{user: user}), in_reply_to_id: reply_to && reply_to.id, in_reply_to_account_id: reply_to_user && reply_to_user.id, @@ -90,16 +94,17 @@ def render("status.json", %{activity: %{data: %{"object" => object}} = activity} favourited: !!favorited, muted: false, sensitive: sensitive, - spoiler_text: "", + spoiler_text: object["summary"] || "", visibility: "public", - media_attachments: attachments, + media_attachments: attachments |> Enum.take(4), mentions: mentions, tags: [], # fix, application: %{ name: "Web", website: nil }, - language: nil + language: nil, + emojis: emojis } end @@ -115,7 +120,7 @@ def render("attachment.json", %{attachment: attachment}) do << hash_id::signed-32, _rest::binary >> = :crypto.hash(:md5, href) %{ - id: attachment["id"] || hash_id, + id: to_string(attachment["id"] || hash_id), url: href, remote_url: href, preview_url: href, diff --git a/lib/pleroma/web/oauth/oauth_controller.ex b/lib/pleroma/web/oauth/oauth_controller.ex index 3e66c3ee8..e8483dec0 100644 --- a/lib/pleroma/web/oauth/oauth_controller.ex +++ b/lib/pleroma/web/oauth/oauth_controller.ex @@ -25,7 +25,8 @@ def create_authorization(conn, %{"authorization" => %{"name" => name, "password" auth: auth } else - url = "#{redirect_uri}?code=#{auth.token}" + connector = if String.contains?(redirect_uri, "?"), do: "&", else: "?" + url = "#{redirect_uri}#{connector}code=#{auth.token}" url = if params["state"] do url <> "&state=#{params["state"]}" else @@ -40,7 +41,8 @@ def create_authorization(conn, %{"authorization" => %{"name" => name, "password" # - proper scope handling def token_exchange(conn, %{"grant_type" => "authorization_code"} = params) do with %App{} = app <- Repo.get_by(App, client_id: params["client_id"], client_secret: params["client_secret"]), - %Authorization{} = auth <- Repo.get_by(Authorization, token: params["code"], app_id: app.id), + fixed_token = fix_padding(params["code"]), + %Authorization{} = auth <- Repo.get_by(Authorization, token: fixed_token, app_id: app.id), {:ok, token} <- Token.exchange_token(app, auth) do response = %{ token_type: "Bearer", @@ -50,6 +52,14 @@ def token_exchange(conn, %{"grant_type" => "authorization_code"} = params) do scope: "read write follow" } json(conn, response) + else + _error -> json(conn, %{error: "Invalid credentials"}) end end + + defp fix_padding(token) do + token + |> Base.url_decode64!(padding: false) + |> Base.url_encode64 + end end diff --git a/lib/pleroma/web/ostatus/activity_representer.ex b/lib/pleroma/web/ostatus/activity_representer.ex index 2092ab7fa..aa2b1df39 100644 --- a/lib/pleroma/web/ostatus/activity_representer.ex +++ b/lib/pleroma/web/ostatus/activity_representer.ex @@ -56,9 +56,9 @@ defp get_links(%{local: false, defp get_links(_activity), do: [] - defp get_emoji_links(content) do - Enum.map(Formatter.get_emoji(content), fn({emoji, file}) -> - {:link, [name: to_charlist(emoji), rel: 'emoji', href: to_charlist("#{Pleroma.Web.Endpoint.static_url}#{file}")], []} + defp get_emoji_links(emojis) do + Enum.map(emojis, fn({emoji, file}) -> + {:link, [name: to_charlist(emoji), rel: 'emoji', href: to_charlist(file)], []} end) end @@ -81,7 +81,13 @@ def to_simple_form(%{data: %{"object" => %{"type" => "Note"}}} = activity, user, categories = (activity.data["object"]["tag"] || []) |> Enum.map(fn (tag) -> {:category, [term: to_charlist(tag)], []} end) - emoji_links = get_emoji_links(activity.data["object"]["content"] || "") + emoji_links = get_emoji_links(activity.data["object"]["emoji"] || %{}) + + summary = if activity.data["object"]["summary"] do + [{:summary, [], h.(activity.data["object"]["summary"])}] + else + [] + end [ {:"activity:object-type", ['http://activitystrea.ms/schema/1.0/note']}, @@ -93,7 +99,7 @@ def to_simple_form(%{data: %{"object" => %{"type" => "Note"}}} = activity, user, {:updated, h.(updated_at)}, {:"ostatus:conversation", [ref: h.(activity.data["context"])], h.(activity.data["context"])}, {:link, [ref: h.(activity.data["context"]), rel: 'ostatus:conversation'], []}, - ] ++ get_links(activity) ++ categories ++ attachments ++ in_reply_to ++ author ++ mentions ++ emoji_links + ] ++ summary ++ get_links(activity) ++ categories ++ attachments ++ in_reply_to ++ author ++ mentions ++ emoji_links end def to_simple_form(%{data: %{"type" => "Like"}} = activity, user, with_author) do @@ -102,7 +108,7 @@ def to_simple_form(%{data: %{"type" => "Like"}} = activity, user, with_author) d updated_at = activity.data["published"] inserted_at = activity.data["published"] - in_reply_to = get_in_reply_to(activity.data) + _in_reply_to = get_in_reply_to(activity.data) author = if with_author, do: [{:author, UserRepresenter.to_simple_form(user)}], else: [] mentions = activity.data["to"] |> get_mentions @@ -130,7 +136,7 @@ def to_simple_form(%{data: %{"type" => "Announce"}} = activity, user, with_autho updated_at = activity.data["published"] inserted_at = activity.data["published"] - in_reply_to = get_in_reply_to(activity.data) + _in_reply_to = get_in_reply_to(activity.data) author = if with_author, do: [{:author, UserRepresenter.to_simple_form(user)}], else: [] retweeted_activity = Activity.get_create_activity_by_object_ap_id(activity.data["object"]) @@ -227,6 +233,8 @@ def to_simple_form(%{data: %{"type" => "Delete"}} = activity, user, with_author) ] ++ author end + def to_simple_form(_, _, _), do: nil + def wrap_with_entry(simple_form) do [{ :entry, [ @@ -238,6 +246,4 @@ def wrap_with_entry(simple_form) do ], simple_form }] end - - def to_simple_form(_, _, _), do: nil end diff --git a/lib/pleroma/web/ostatus/feed_representer.ex b/lib/pleroma/web/ostatus/feed_representer.ex index 6b67b8ddf..08710f246 100644 --- a/lib/pleroma/web/ostatus/feed_representer.ex +++ b/lib/pleroma/web/ostatus/feed_representer.ex @@ -2,7 +2,7 @@ defmodule Pleroma.Web.OStatus.FeedRepresenter do alias Pleroma.Web.OStatus alias Pleroma.Web.OStatus.{UserRepresenter, ActivityRepresenter} - def to_simple_form(user, activities, users) do + def to_simple_form(user, activities, _users) do most_recent_update = (List.first(activities) || user).updated_at |> NaiveDateTime.to_iso8601 diff --git a/lib/pleroma/web/ostatus/handlers/delete_handler.ex b/lib/pleroma/web/ostatus/handlers/delete_handler.ex index 29fe4052c..4f3016b65 100644 --- a/lib/pleroma/web/ostatus/handlers/delete_handler.ex +++ b/lib/pleroma/web/ostatus/handlers/delete_handler.ex @@ -1,10 +1,10 @@ defmodule Pleroma.Web.OStatus.DeleteHandler do require Logger - alias Pleroma.Web.{XML, OStatus} - alias Pleroma.{Activity, Object, Repo} + alias Pleroma.Web.XML + alias Pleroma.Object alias Pleroma.Web.ActivityPub.ActivityPub - def handle_delete(entry, doc \\ nil) do + def handle_delete(entry, _doc \\ nil) do with id <- XML.string_from_xpath("//id", entry), object when not is_nil(object) <- Object.get_by_ap_id(id), {:ok, delete} <- ActivityPub.delete(object, false) do diff --git a/lib/pleroma/web/ostatus/handlers/note_handler.ex b/lib/pleroma/web/ostatus/handlers/note_handler.ex index dda5c7d5e..8747dbb67 100644 --- a/lib/pleroma/web/ostatus/handlers/note_handler.ex +++ b/lib/pleroma/web/ostatus/handlers/note_handler.ex @@ -94,6 +94,7 @@ def handle_note(entry, doc \\ nil) do [author] <- :xmerl_xpath.string('//author[1]', doc), {:ok, actor} <- OStatus.find_make_or_update_user(author), content_html <- OStatus.get_content(entry), + cw <- OStatus.get_cw(entry), inReplyTo <- XML.string_from_xpath("//thr:in-reply-to[1]/@ref", entry), inReplyToActivity <- fetch_replied_to_activity(entry, inReplyTo), inReplyTo <- (inReplyToActivity && inReplyToActivity.data["object"]["id"]) || inReplyTo, @@ -103,7 +104,7 @@ def handle_note(entry, doc \\ nil) do mentions <- get_mentions(entry), to <- make_to_list(actor, mentions), date <- XML.string_from_xpath("//published", entry), - note <- CommonAPI.Utils.make_note_data(actor.ap_id, to, context, content_html, attachments, inReplyToActivity, []), + note <- CommonAPI.Utils.make_note_data(actor.ap_id, to, context, content_html, attachments, inReplyToActivity, [], cw), note <- note |> Map.put("id", id) |> Map.put("tag", tags), note <- note |> Map.put("published", date), note <- note |> Map.put("emoji", get_emoji(entry)), @@ -112,7 +113,7 @@ def handle_note(entry, doc \\ nil) do note <- (if inReplyTo && !inReplyToActivity, do: note |> Map.put("inReplyTo", inReplyTo), else: note) do res = ActivityPub.create(to, actor, context, note, %{}, date, false) - User.update_note_count(actor) + User.increase_note_count(actor) res else %Activity{} = activity -> {:ok, activity} diff --git a/lib/pleroma/web/ostatus/ostatus.ex b/lib/pleroma/web/ostatus/ostatus.ex index bc975f82d..745539b3e 100644 --- a/lib/pleroma/web/ostatus/ostatus.ex +++ b/lib/pleroma/web/ostatus/ostatus.ex @@ -7,7 +7,6 @@ defmodule Pleroma.Web.OStatus do alias Pleroma.{Repo, User, Web, Object, Activity} alias Pleroma.Web.ActivityPub.ActivityPub - alias Pleroma.Web.ActivityPub.Utils alias Pleroma.Web.{WebFinger, Websub} alias Pleroma.Web.OStatus.{FollowHandler, NoteHandler, DeleteHandler} @@ -112,7 +111,7 @@ def get_or_try_fetching(entry) do with id when not is_nil(id) <- string_from_xpath("//activity:object[1]/id", entry), %Activity{} = activity <- Activity.get_create_activity_by_object_ap_id(id) do {:ok, activity} - else e -> + else _ -> Logger.debug("Couldn't get, will try to fetch") with href when not is_nil(href) <- string_from_xpath("//activity:object[1]/link[@type=\"text/html\"]/@href", entry), {:ok, [favorited_activity]} <- fetch_activity_from_url(href) do @@ -150,22 +149,28 @@ def get_attachments(entry) do end @doc """ - Gets the content from a an entry. Will add the cw text to the body for cw'd - Mastodon notes. + Gets the content from a an entry. """ def get_content(entry) do - base_content = string_from_xpath("//content", entry) + string_from_xpath("//content", entry) + end + @doc """ + Get the cw that mastodon uses. + """ + def get_cw(entry) do with scope when not is_nil(scope) <- string_from_xpath("//mastodon:scope", entry), cw when not is_nil(cw) <- string_from_xpath("/*/summary", entry) do - "#{cw}
#{base_content}" - else _e -> base_content + cw + else _e -> nil end end def get_tags(entry) do :xmerl_xpath.string('//category', entry) - |> Enum.map(fn (category) -> string_from_xpath("/category/@term", category) |> String.downcase end) + |> Enum.map(fn (category) -> string_from_xpath("/category/@term", category) end) + |> Enum.filter(&(&1)) + |> Enum.map(&String.downcase/1) end def maybe_update(doc, user) do @@ -185,7 +190,7 @@ def maybe_update(doc, user) do false <- new_data == old_data do change = Ecto.Changeset.change(user, new_data) Repo.update(change) - else e -> + else _ -> {:ok, user} end end @@ -215,7 +220,7 @@ def insert_or_update_user(data) do Repo.insert(cs, on_conflict: :replace_all, conflict_target: :nickname) end - def make_user(uri) do + def make_user(uri, update \\ false) do with {:ok, info} <- gather_user_info(uri) do data = %{ name: info["name"], @@ -225,7 +230,8 @@ def make_user(uri) do avatar: info["avatar"], bio: info["bio"] } - with %User{} = user <- User.get_by_ap_id(data.ap_id) do + with false <- update, + %User{} = user <- User.get_by_ap_id(data.ap_id) do {:ok, user} else _e -> insert_or_update_user(data) end diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex index 4e3fbb4f6..d442d16fd 100644 --- a/lib/pleroma/web/ostatus/ostatus_controller.ex +++ b/lib/pleroma/web/ostatus/ostatus_controller.ex @@ -5,6 +5,7 @@ defmodule Pleroma.Web.OStatus.OStatusController do alias Pleroma.Web.OStatus.{FeedRepresenter, ActivityRepresenter} alias Pleroma.Repo alias Pleroma.Web.{OStatus, Federator} + alias Pleroma.Web.XML import Ecto.Query def feed_redirect(conn, %{"nickname" => nickname}) do @@ -36,10 +37,26 @@ def feed(conn, %{"nickname" => nickname}) do |> send_resp(200, response) end - def salmon_incoming(conn, params) do + defp decode_or_retry(body) do + with {:ok, magic_key} <- Pleroma.Web.Salmon.fetch_magic_key(body), + {:ok, doc} <- Pleroma.Web.Salmon.decode_and_validate(magic_key, body) do + {:ok, doc} + else + _e -> + with [decoded | _] <- Pleroma.Web.Salmon.decode(body), + doc <- XML.parse_document(decoded), + uri when not is_nil(uri) <- XML.string_from_xpath("/entry/author[1]/uri", doc), + {:ok, _} <- Pleroma.Web.OStatus.make_user(uri, true), + {:ok, magic_key} <- Pleroma.Web.Salmon.fetch_magic_key(body), + {:ok, doc} <- Pleroma.Web.Salmon.decode_and_validate(magic_key, body) do + {:ok, doc} + end + end + end + + def salmon_incoming(conn, _) do {:ok, body, _conn} = read_body(conn) - {:ok, magic_key} = Pleroma.Web.Salmon.fetch_magic_key(body) - {:ok, doc} = Pleroma.Web.Salmon.decode_and_validate(magic_key, body) + {:ok, doc} = decode_or_retry(body) Federator.enqueue(:incoming_doc, doc) @@ -69,6 +86,19 @@ def activity(conn, %{"uuid" => uuid}) do end end + def notice(conn, %{"id" => id}) do + with %Activity{} = activity <- Repo.get(Activity, id), + %User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do + case get_format(conn) do + "html" -> + conn + |> put_resp_content_type("text/html") + |> send_file(200, "priv/static/index.html") + _ -> represent_activity(conn, activity, user) + end + end + end + defp represent_activity(conn, activity, user) do response = activity |> ActivityRepresenter.to_simple_form(user, true) diff --git a/lib/pleroma/web/ostatus/user_representer.ex b/lib/pleroma/web/ostatus/user_representer.ex index 14f78a4ed..20ebb3e08 100644 --- a/lib/pleroma/web/ostatus/user_representer.ex +++ b/lib/pleroma/web/ostatus/user_representer.ex @@ -19,6 +19,7 @@ def to_simple_form(user) do {:"poco:preferredUsername", [nickname]}, {:"poco:displayName", [name]}, {:"poco:note", [bio]}, + {:summary, [bio]}, {:name, [nickname]}, {:link, [rel: 'avatar', href: avatar_url], []} ] ++ banner diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 6abf234c6..6806e8a75 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -21,6 +21,13 @@ def user_fetcher(username) do plug Pleroma.Plugs.AuthenticationPlug, %{fetcher: &Router.user_fetcher/1} end + pipeline :mastodon_html do + plug :accepts, ["html"] + plug :fetch_session + plug Pleroma.Plugs.OAuthPlug + plug Pleroma.Plugs.AuthenticationPlug, %{fetcher: &Router.user_fetcher/1, optional: true} + end + pipeline :well_known do plug :accepts, ["xml", "xrd+xml"] end @@ -33,6 +40,17 @@ def user_fetcher(username) do plug :accepts, ["html", "json"] end + pipeline :pleroma_api do + plug :accepts, ["html", "json"] + end + + scope "/api/pleroma", Pleroma.Web.TwitterAPI do + pipe_through :pleroma_api + get "/password_reset/:token", UtilController, :show_password_reset + post "/password_reset", UtilController, :password_reset + get "/emoji", UtilController, :emoji + end + scope "/oauth", Pleroma.Web.OAuth do get "/authorize", OAuthController, :authorize post "/authorize", OAuthController, :create_authorization @@ -42,16 +60,21 @@ def user_fetcher(username) do scope "/api/v1", Pleroma.Web.MastodonAPI do pipe_through :authenticated_api + patch "/accounts/update_credentials", MastodonAPIController, :update_credentials get "/accounts/verify_credentials", MastodonAPIController, :verify_credentials get "/accounts/relationships", MastodonAPIController, :relationships + get "/accounts/search", MastodonAPIController, :account_search post "/accounts/:id/follow", MastodonAPIController, :follow post "/accounts/:id/unfollow", MastodonAPIController, :unfollow - post "/accounts/:id/block", MastodonAPIController, :relationship_noop - post "/accounts/:id/unblock", MastodonAPIController, :relationship_noop + post "/accounts/:id/block", MastodonAPIController, :block + post "/accounts/:id/unblock", MastodonAPIController, :unblock post "/accounts/:id/mute", MastodonAPIController, :relationship_noop post "/accounts/:id/unmute", MastodonAPIController, :relationship_noop - get "/blocks", MastodonAPIController, :empty_array + post "/follows", MastodonAPIController, :follow + + get "/blocks", MastodonAPIController, :blocks + get "/domain_blocks", MastodonAPIController, :empty_array get "/follow_requests", MastodonAPIController, :empty_array get "/mutes", MastodonAPIController, :empty_array @@ -67,7 +90,10 @@ def user_fetcher(username) do post "/statuses/:id/favourite", MastodonAPIController, :fav_status post "/statuses/:id/unfavourite", MastodonAPIController, :unfav_status + post "/notifications/clear", MastodonAPIController, :clear_notifications + post "/notifications/dismiss", MastodonAPIController, :dismiss_notification get "/notifications", MastodonAPIController, :notifications + get "/notifications/:id", MastodonAPIController, :get_notification post "/media", MastodonAPIController, :upload end @@ -76,6 +102,7 @@ def user_fetcher(username) do pipe_through :api get "/instance", MastodonAPIController, :masto_instance post "/apps", MastodonAPIController, :create_app + get "/custom_emojis", MastodonAPIController, :custom_emojis get "/timelines/public", MastodonAPIController, :public_timeline get "/timelines/tag/:tag", MastodonAPIController, :hashtag_timeline @@ -113,6 +140,7 @@ def user_fetcher(username) do get "/statuses/networkpublic_timeline", TwitterAPI.Controller, :public_and_external_timeline get "/statuses/user_timeline", TwitterAPI.Controller, :user_timeline get "/qvitter/statuses/user_timeline", TwitterAPI.Controller, :user_timeline + get "/users/show", TwitterAPI.Controller, :show_user get "/statuses/show/:id", TwitterAPI.Controller, :fetch_status get "/statusnet/conversation/:id", TwitterAPI.Controller, :fetch_conversation @@ -123,7 +151,6 @@ def user_fetcher(username) do get "/search", TwitterAPI.Controller, :search get "/statusnet/tags/timeline/:tag", TwitterAPI.Controller, :public_and_external_timeline - get "/externalprofile/show", TwitterAPI.Controller, :external_profile end scope "/api", Pleroma.Web do @@ -149,6 +176,8 @@ def user_fetcher(username) do post "/friendships/create", TwitterAPI.Controller, :follow post "/friendships/destroy", TwitterAPI.Controller, :unfollow + post "/blocks/create", TwitterAPI.Controller, :block + post "/blocks/destroy", TwitterAPI.Controller, :unblock post "/statusnet/media/upload", TwitterAPI.Controller, :upload post "/media/upload", TwitterAPI.Controller, :upload_json @@ -161,6 +190,12 @@ def user_fetcher(username) do get "/statuses/followers", TwitterAPI.Controller, :followers get "/statuses/friends", TwitterAPI.Controller, :friends + get "/friends/ids", TwitterAPI.Controller, :friends_ids + get "/friendships/no_retweets/ids", TwitterAPI.Controller, :empty_array + + get "/mutes/users/ids", TwitterAPI.Controller, :empty_array + + get "/externalprofile/show", TwitterAPI.Controller, :external_profile end pipeline :ostatus do @@ -172,6 +207,7 @@ def user_fetcher(username) do get "/objects/:uuid", OStatus.OStatusController, :object get "/activities/:uuid", OStatus.OStatusController, :activity + get "/notice/:id", OStatus.OStatusController, :notice get "/users/:nickname/feed", OStatus.OStatusController, :feed get "/users/:nickname", OStatus.OStatusController, :feed_redirect @@ -188,6 +224,15 @@ def user_fetcher(username) do get "/webfinger", WebFinger.WebFingerController, :webfinger end + scope "/", Pleroma.Web.MastodonAPI do + pipe_through :mastodon_html + + get "/web/login", MastodonAPIController, :login + post "/web/login", MastodonAPIController, :login_post + get "/web/*path", MastodonAPIController, :index + delete "/auth/sign_out", MastodonAPIController, :logout + end + scope "/", Fallback do get "/*path", RedirectController, :redirector end diff --git a/lib/pleroma/web/salmon/salmon.ex b/lib/pleroma/web/salmon/salmon.ex index 4f6dfed65..81b864582 100644 --- a/lib/pleroma/web/salmon/salmon.ex +++ b/lib/pleroma/web/salmon/salmon.ex @@ -73,17 +73,30 @@ def encode_key({:RSAPublicKey, modulus, exponent}) do "RSA.#{modulus_enc}.#{exponent_enc}" end - def generate_rsa_pem do - port = Port.open({:spawn, "openssl genrsa"}, [:binary]) - {:ok, pem} = receive do - {^port, {:data, pem}} -> {:ok, pem} - end - Port.close(port) - if Regex.match?(~r/RSA PRIVATE KEY/, pem) do + # Native generation of RSA keys is only available since OTP 20+ and in default build conditions + # We try at compile time to generate natively an RSA key otherwise we fallback on the old way. + try do + _ = :public_key.generate_key({:rsa, 2048, 65537}) + def generate_rsa_pem do + key = :public_key.generate_key({:rsa, 2048, 65537}) + entry = :public_key.pem_entry_encode(:RSAPrivateKey, key) + pem = :public_key.pem_encode([entry]) |> String.trim_trailing {:ok, pem} - else - :error end + rescue + _ -> + def generate_rsa_pem do + port = Port.open({:spawn, "openssl genrsa"}, [:binary]) + {:ok, pem} = receive do + {^port, {:data, pem}} -> {:ok, pem} + end + Port.close(port) + if Regex.match?(~r/RSA PRIVATE KEY/, pem) do + {:ok, pem} + else + :error + end + end end def keys_from_pem(pem) do diff --git a/lib/pleroma/web/streamer.ex b/lib/pleroma/web/streamer.ex new file mode 100644 index 000000000..d64e6c393 --- /dev/null +++ b/lib/pleroma/web/streamer.ex @@ -0,0 +1,112 @@ +defmodule Pleroma.Web.Streamer do + use GenServer + require Logger + alias Pleroma.{User, Notification} + + def start_link do + spawn(fn -> + Process.sleep(1000 * 30) # 30 seconds + GenServer.cast(__MODULE__, %{action: :ping}) + end) + GenServer.start_link(__MODULE__, %{}, name: __MODULE__) + end + + def add_socket(topic, socket) do + GenServer.cast(__MODULE__, %{action: :add, socket: socket, topic: topic}) + end + + def remove_socket(topic, socket) do + GenServer.cast(__MODULE__, %{action: :remove, socket: socket, topic: topic}) + end + + def stream(topic, item) do + GenServer.cast(__MODULE__, %{action: :stream, topic: topic, item: item}) + end + + def handle_cast(%{action: :ping}, topics) do + Map.values(topics) + |> List.flatten + |> Enum.each(fn (socket) -> + Logger.debug("Sending keepalive ping") + send socket.transport_pid, {:text, ""} + end) + spawn(fn -> + Process.sleep(1000 * 30) # 30 seconds + GenServer.cast(__MODULE__, %{action: :ping}) + end) + {:noreply, topics} + end + + def handle_cast(%{action: :stream, topic: "user", item: %Notification{} = item}, topics) do + topic = "user:#{item.user_id}" + Enum.each(topics[topic] || [], fn (socket) -> + json = %{ + event: "notification", + payload: Pleroma.Web.MastodonAPI.MastodonAPIController.render_notification(socket.assigns["user"], item) |> Poison.encode! + } |> Poison.encode! + + send socket.transport_pid, {:text, json} + end) + {:noreply, topics} + end + + def handle_cast(%{action: :stream, topic: "user", item: item}, topics) do + Logger.debug("Trying to push to users") + recipient_topics = User.get_recipients_from_activity(item) + |> Enum.map(fn (%{id: id}) -> "user:#{id}" end) + + Enum.each(recipient_topics, fn (topic) -> + push_to_socket(topics, topic, item) + end) + {:noreply, topics} + end + + def handle_cast(%{action: :stream, topic: topic, item: item}, topics) do + Logger.debug("Trying to push to #{topic}") + Logger.debug("Pushing item to #{topic}") + push_to_socket(topics, topic, item) + {:noreply, topics} + end + + def handle_cast(%{action: :add, topic: topic, socket: socket}, sockets) do + topic = internal_topic(topic, socket) + sockets_for_topic = sockets[topic] || [] + sockets_for_topic = Enum.uniq([socket | sockets_for_topic]) + sockets = Map.put(sockets, topic, sockets_for_topic) + Logger.debug("Got new conn for #{topic}") + IO.inspect(sockets) + {:noreply, sockets} + end + + def handle_cast(%{action: :remove, topic: topic, socket: socket}, sockets) do + topic = internal_topic(topic, socket) + sockets_for_topic = sockets[topic] || [] + sockets_for_topic = List.delete(sockets_for_topic, socket) + sockets = Map.put(sockets, topic, sockets_for_topic) + Logger.debug("Removed conn for #{topic}") + IO.inspect(sockets) + {:noreply, sockets} + end + + def handle_cast(m, state) do + IO.inspect("Unknown: #{inspect(m)}, #{inspect(state)}") + {:noreply, state} + end + + def push_to_socket(topics, topic, item) do + Enum.each(topics[topic] || [], fn (socket) -> + json = %{ + event: "update", + payload: Pleroma.Web.MastodonAPI.StatusView.render("status.json", activity: item, for: socket.assigns[:user]) |> Poison.encode! + } |> Poison.encode! + + send socket.transport_pid, {:text, json} + end) + end + + defp internal_topic("user", socket) do + "user:#{socket.assigns[:user].id}" + end + + defp internal_topic(topic, _), do: topic +end diff --git a/lib/pleroma/web/templates/layout/app.html.eex b/lib/pleroma/web/templates/layout/app.html.eex index 6cc3b7ac5..2a8dede80 100644 --- a/lib/pleroma/web/templates/layout/app.html.eex +++ b/lib/pleroma/web/templates/layout/app.html.eex @@ -3,9 +3,73 @@ Pleroma + -

Welcome to Pleroma

- <%= render @view_module, @view_template, assigns %> +
+

Pleroma

+ <%= render @view_module, @view_template, assigns %> +
diff --git a/lib/pleroma/web/templates/mastodon_api/mastodon/index.html.eex b/lib/pleroma/web/templates/mastodon_api/mastodon/index.html.eex new file mode 100644 index 000000000..ac50ad46b --- /dev/null +++ b/lib/pleroma/web/templates/mastodon_api/mastodon/index.html.eex @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + +
+
+ + diff --git a/lib/pleroma/web/templates/mastodon_api/mastodon/login.html.eex b/lib/pleroma/web/templates/mastodon_api/mastodon/login.html.eex new file mode 100644 index 000000000..2ef67b901 --- /dev/null +++ b/lib/pleroma/web/templates/mastodon_api/mastodon/login.html.eex @@ -0,0 +1,11 @@ +

Login in to Mastodon Frontend

+<%= if @error do %> +

<%= @error %>

+<% end %> +<%= form_for @conn, mastodon_api_path(@conn, :login), [as: "authorization"], fn f -> %> +<%= text_input f, :name, placeholder: "Username" %> +
+<%= password_input f, :password, placeholder: "Password" %> +
+<%= submit "Log in" %> +<% end %> diff --git a/lib/pleroma/web/templates/twitter_api/util/invalid_token.html.eex b/lib/pleroma/web/templates/twitter_api/util/invalid_token.html.eex new file mode 100644 index 000000000..ee84750c7 --- /dev/null +++ b/lib/pleroma/web/templates/twitter_api/util/invalid_token.html.eex @@ -0,0 +1 @@ +

Invalid Token

diff --git a/lib/pleroma/web/templates/twitter_api/util/password_reset.html.eex b/lib/pleroma/web/templates/twitter_api/util/password_reset.html.eex new file mode 100644 index 000000000..3c7960998 --- /dev/null +++ b/lib/pleroma/web/templates/twitter_api/util/password_reset.html.eex @@ -0,0 +1,12 @@ +

Password Reset for <%= @user.nickname %>

+<%= form_for @conn, util_path(@conn, :password_reset), [as: "data"], fn f -> %> +<%= label f, :password, "Password" %> +<%= password_input f, :password %> +
+ +<%= label f, :password_confirmation, "Confirmation" %> +<%= password_input f, :password_confirmation %> +
+<%= hidden_input f, :token, value: @token.token %> +<%= submit "Reset" %> +<% end %> diff --git a/lib/pleroma/web/templates/twitter_api/util/password_reset_failed.html.eex b/lib/pleroma/web/templates/twitter_api/util/password_reset_failed.html.eex new file mode 100644 index 000000000..58a3736fd --- /dev/null +++ b/lib/pleroma/web/templates/twitter_api/util/password_reset_failed.html.eex @@ -0,0 +1 @@ +

Password reset failed

diff --git a/lib/pleroma/web/templates/twitter_api/util/password_reset_success.html.eex b/lib/pleroma/web/templates/twitter_api/util/password_reset_success.html.eex new file mode 100644 index 000000000..c7dfcb6dd --- /dev/null +++ b/lib/pleroma/web/templates/twitter_api/util/password_reset_success.html.eex @@ -0,0 +1 @@ +

Password changed!

diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex index 32910d92c..de2abd4d1 100644 --- a/lib/pleroma/web/twitter_api/controllers/util_controller.ex +++ b/lib/pleroma/web/twitter_api/controllers/util_controller.ex @@ -1,6 +1,29 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do use Pleroma.Web, :controller alias Pleroma.Web + alias Pleroma.Formatter + + alias Pleroma.{Repo, PasswordResetToken, User} + + def show_password_reset(conn, %{"token" => token}) do + with %{used: false} = token <- Repo.get_by(PasswordResetToken, %{token: token}), + %User{} = user <- Repo.get(User, token.user_id) do + render conn, "password_reset.html", %{ + token: token, + user: user + } + else + _e -> render conn, "invalid_token.html" + end + end + + def password_reset(conn, %{"data" => data}) do + with {:ok, _} <- PasswordResetToken.reset_password(data["token"], data) do + render conn, "password_reset_success.html" + else + _e -> render conn, "password_reset_failed.html" + end + end def help_test(conn, _params) do json(conn, "ok") @@ -46,4 +69,8 @@ def version(conn, _params) do _ -> json(conn, version) end end + + def emoji(conn, _params) do + json conn, Enum.into(Formatter.get_custom_emoji(), %{}) + end end diff --git a/lib/pleroma/web/twitter_api/representers/activity_representer.ex b/lib/pleroma/web/twitter_api/representers/activity_representer.ex index 929e26bf0..1f11bc9ac 100644 --- a/lib/pleroma/web/twitter_api/representers/activity_representer.ex +++ b/lib/pleroma/web/twitter_api/representers/activity_representer.ex @@ -97,7 +97,7 @@ def to_map(%Activity{data: %{"type" => "Undo", "published" => created_at, "objec } end - def to_map(%Activity{data: %{"type" => "Delete", "published" => created_at, "object" => deleted_object }} = activity, %{user: user} = opts) do + def to_map(%Activity{data: %{"type" => "Delete", "published" => created_at, "object" => _ }} = activity, %{user: user} = opts) do created_at = created_at |> Utils.date_to_asctime %{ @@ -135,6 +135,13 @@ def to_map(%Activity{data: %{"object" => %{"content" => content} = object}} = ac tags = activity.data["object"]["tag"] || [] possibly_sensitive = Enum.member?(tags, "nsfw") + summary = activity.data["object"]["summary"] + content = if !!summary and summary != "" do + "#{activity.data["object"]["summary"]}
#{content}" + else + content + end + html = HtmlSanitizeEx.basic_html(content) |> Formatter.emojify(object["emoji"]) %{ diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index d5c5cf5cf..d04a81cd4 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -4,27 +4,29 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do alias Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter alias Pleroma.Web.TwitterAPI.UserView alias Pleroma.Web.{OStatus, CommonAPI} - alias Pleroma.Formatter import Ecto.Query @httpoison Application.get_env(:pleroma, :httpoison) - def create_status(%User{} = user, %{"status" => status} = data) do + def create_status(%User{} = user, %{"status" => _} = data) do CommonAPI.post(user, data) end def fetch_friend_statuses(user, opts \\ %{}) do + opts = Map.put(opts, "blocking_user", user) ActivityPub.fetch_activities([user.ap_id | user.following], opts) |> activities_to_statuses(%{for: user}) end def fetch_public_statuses(user, opts \\ %{}) do opts = Map.put(opts, "local_only", true) + opts = Map.put(opts, "blocking_user", user) ActivityPub.fetch_public_activities(opts) |> activities_to_statuses(%{for: user}) end def fetch_public_and_external_statuses(user, opts \\ %{}) do + opts = Map.put(opts, "blocking_user", user) ActivityPub.fetch_public_activities(opts) |> activities_to_statuses(%{for: user}) end @@ -41,7 +43,7 @@ def fetch_mentions(user, opts \\ %{}) do def fetch_conversation(user, id) do with context when is_binary(context) <- conversation_id_to_context(id), - activities <- ActivityPub.fetch_activities_for_context(context), + activities <- ActivityPub.fetch_activities_for_context(context, %{"blocking_user" => user}), statuses <- activities |> activities_to_statuses(%{for: user}) do statuses @@ -83,6 +85,26 @@ def unfollow(%User{} = follower, params) do end end + def block(%User{} = blocker, params) do + with {:ok, %User{} = blocked} <- get_user(params), + {:ok, blocker} <- User.block(blocker, blocked) + do + {:ok, blocker, blocked} + else + err -> err + end + end + + def unblock(%User{} = blocker, params) do + with {:ok, %User{} = blocked} <- get_user(params), + {:ok, blocker} <- User.unblock(blocker, blocked) + do + {:ok, blocker, blocked} + else + err -> err + end + end + def repeat(%User{} = user, ap_id_or_id) do with {:ok, _announce, %{data: %{"id" => id}}} = CommonAPI.repeat(ap_id_or_id, user), %Activity{} = activity <- Activity.get_create_activity_by_object_ap_id(id), @@ -193,7 +215,7 @@ def get_user(user \\ nil, params) do end end - defp parse_int(string, default \\ nil) + defp parse_int(string, default) defp parse_int(string, default) when is_binary(string) do with {n, _} <- Integer.parse(string) do n diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex index 6154d5ad7..73d96c73d 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -3,17 +3,18 @@ defmodule Pleroma.Web.TwitterAPI.Controller do alias Pleroma.Web.TwitterAPI.{TwitterAPI, UserView} alias Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter alias Pleroma.Web.CommonAPI - alias Pleroma.{Repo, Activity, User, Object} + alias Pleroma.{Repo, Activity, User} alias Pleroma.Web.ActivityPub.ActivityPub alias Ecto.Changeset require Logger def verify_credentials(%{assigns: %{user: user}} = conn, _params) do - render(conn, UserView, "show.json", %{user: user}) + token = Phoenix.Token.sign(conn, "user socket", user.id) + render(conn, UserView, "show.json", %{user: user, token: token}) end - def status_update(%{assigns: %{user: user}} = conn, %{"status" => status_text} = status_data) do + def status_update(%{assigns: %{user: user}} = conn, %{"status" => _} = status_data) do with media_ids <- extract_media_ids(status_data), {:ok, activity} <- TwitterAPI.create_status(user, Map.put(status_data, "media_ids", media_ids)) do conn @@ -65,10 +66,23 @@ def friends_timeline(%{assigns: %{user: user}} = conn, params) do |> json_reply(200, json) end + def show_user(conn, params) do + with {:ok, shown} <- TwitterAPI.get_user(params) do + if user = conn.assigns.user do + render conn, UserView, "show.json", %{user: shown, for: user} + else + render conn, UserView, "show.json", %{user: shown} + end + else + {:error, msg} -> + bad_request_reply(conn, msg) + end + end + def user_timeline(%{assigns: %{user: user}} = conn, params) do case TwitterAPI.get_user(user, params) do {:ok, target_user} -> - params = Map.merge(params, %{"actor_id" => target_user.ap_id}) + params = Map.merge(params, %{"actor_id" => target_user.ap_id, "whole_db" => true}) statuses = TwitterAPI.fetch_user_statuses(user, params) conn |> json_reply(200, statuses |> Poison.encode!) @@ -93,6 +107,22 @@ def follow(%{assigns: %{user: user}} = conn, params) do end end + def block(%{assigns: %{user: user}} = conn, params) do + case TwitterAPI.block(user, params) do + {:ok, user, blocked} -> + render conn, UserView, "show.json", %{user: blocked, for: user} + {:error, msg} -> forbidden_json_reply(conn, msg) + end + end + + def unblock(%{assigns: %{user: user}} = conn, params) do + case TwitterAPI.unblock(user, params) do + {:ok, user, blocked} -> + render conn, UserView, "show.json", %{user: blocked, for: user} + {:error, msg} -> forbidden_json_reply(conn, msg) + end + end + def delete_post(%{assigns: %{user: user}} = conn, %{"id" => id}) do with {:ok, delete} <- CommonAPI.delete(id, user) do json = ActivityRepresenter.to_json(delete, %{user: user, for: user}) @@ -186,8 +216,8 @@ def update_banner(%{assigns: %{user: user}} = conn, params) do with {:ok, object} <- ActivityPub.upload(%{"img" => params["banner"]}), new_info <- Map.put(user.info, "banner", object.data), change <- User.info_changeset(user, %{info: new_info}), - {:ok, user} <- Repo.update(change) do - %{"url" => [ %{ "href" => href } | t ]} = object.data + {:ok, _user} <- Repo.update(change) do + %{"url" => [ %{ "href" => href } | _ ]} = object.data response = %{ url: href } |> Poison.encode! conn |> json_reply(200, response) @@ -198,8 +228,8 @@ def update_background(%{assigns: %{user: user}} = conn, params) do with {:ok, object} <- ActivityPub.upload(params), new_info <- Map.put(user.info, "background", object.data), change <- User.info_changeset(user, %{info: new_info}), - {:ok, user} <- Repo.update(change) do - %{"url" => [ %{ "href" => href } | t ]} = object.data + {:ok, _user} <- Repo.update(change) do + %{"url" => [ %{ "href" => href } | _ ]} = object.data response = %{ url: href } |> Poison.encode! conn |> json_reply(200, response) @@ -225,7 +255,7 @@ def update_most_recent_notification(%{assigns: %{user: user}} = conn, %{"id" => mrn <- max(id, user.info["most_recent_notification"] || 0), updated_info <- Map.put(info, "most_recent_notification", mrn), changeset <- User.info_changeset(user, %{info: updated_info}), - {:ok, user} <- Repo.update(changeset) do + {:ok, _user} <- Repo.update(changeset) do conn |> json_reply(200, Poison.encode!(mrn)) else @@ -249,6 +279,22 @@ def friends(%{assigns: %{user: user}} = conn, _params) do end end + def friends_ids(%{assigns: %{user: user}} = conn, _params) do + with {:ok, friends} <- User.get_friends(user) do + ids = friends + |> Enum.map(fn x -> x.id end) + |> Poison.encode! + + json(conn, ids) + else + _e -> bad_request_reply(conn, "Can't get friends") + end + end + + def empty_array(conn, _params) do + json(conn, Poison.encode!([])) + end + def update_profile(%{assigns: %{user: user}} = conn, params) do params = if bio = params["description"] do Map.put(params, "bio", bio) @@ -266,7 +312,7 @@ def update_profile(%{assigns: %{user: user}} = conn, params) do end end - def search(%{assigns: %{user: user}} = conn, %{"q" => query} = params) do + def search(%{assigns: %{user: user}} = conn, %{"q" => _query} = params) do conn |> json(TwitterAPI.search(user, params)) end diff --git a/lib/pleroma/web/twitter_api/views/user_view.ex b/lib/pleroma/web/twitter_api/views/user_view.ex index f72e951eb..d1c7e6fbd 100644 --- a/lib/pleroma/web/twitter_api/views/user_view.ex +++ b/lib/pleroma/web/twitter_api/views/user_view.ex @@ -11,25 +11,28 @@ def render("index.json", %{users: users, for: user}) do render_many(users, Pleroma.Web.TwitterAPI.UserView, "user.json", for: user) end - defp image_url(%{"url" => [ %{ "href" => href } | t ]}), do: href - defp image_url(_), do: nil - def render("user.json", %{user: user = %User{}} = assigns) do image = User.avatar_url(user) - following = if assigns[:for] do - User.following?(assigns[:for], user) + {following, follows_you, statusnet_blocking} = if assigns[:for] do + { + User.following?(assigns[:for], user), + User.following?(user, assigns[:for]), + User.blocks?(assigns[:for], user) + } else - false + {false, false, false} end user_info = User.get_cached_user_info(user) - %{ + data = %{ "created_at" => user.inserted_at |> Utils.format_naive_asctime, "description" => HtmlSanitizeEx.strip_tags(user.bio), "favourites_count" => 0, "followers_count" => user_info[:follower_count], "following" => following, + "follows_you" => follows_you, + "statusnet_blocking" => statusnet_blocking, "friends_count" => user_info[:following_count], "id" => user.id, "name" => user.name, @@ -44,6 +47,12 @@ def render("user.json", %{user: user = %User{}} = assigns) do "cover_photo" => image_url(user.info["banner"]), "background_image" => image_url(user.info["background"]) } + + if assigns[:token] do + Map.put(data, "token", assigns[:token]) + else + data + end end def render("short.json", %{user: %User{ @@ -57,4 +66,7 @@ def render("short.json", %{user: %User{ "screen_name" => nickname } end + + defp image_url(%{"url" => [ %{ "href" => href } | _ ]}), do: href + defp image_url(_), do: nil end diff --git a/lib/pleroma/web/twitter_api/views/util_view.ex b/lib/pleroma/web/twitter_api/views/util_view.ex new file mode 100644 index 000000000..71b04e6cc --- /dev/null +++ b/lib/pleroma/web/twitter_api/views/util_view.ex @@ -0,0 +1,4 @@ +defmodule Pleroma.Web.TwitterAPI.UtilView do + use Pleroma.Web, :view + import Phoenix.HTML.Form +end diff --git a/lib/pleroma/web/web_finger/web_finger.ex b/lib/pleroma/web/web_finger/web_finger.ex index 7cbafe11f..026d2f98b 100644 --- a/lib/pleroma/web/web_finger/web_finger.ex +++ b/lib/pleroma/web/web_finger/web_finger.ex @@ -89,7 +89,7 @@ def find_lrdd_template(domain) do with {:ok, %{status_code: status_code, body: body}} when status_code in 200..299 <- @httpoison.get("http://#{domain}/.well-known/host-meta", [], follow_redirect: true) do get_template_from_xml(body) else - e -> + _ -> with {:ok, %{body: body}} <- @httpoison.get("https://#{domain}/.well-known/host-meta", []) do get_template_from_xml(body) else diff --git a/lib/pleroma/web/websub/websub.ex b/lib/pleroma/web/websub/websub.ex index 6bbf13130..db1577a93 100644 --- a/lib/pleroma/web/websub/websub.ex +++ b/lib/pleroma/web/websub/websub.ex @@ -31,9 +31,9 @@ def verify(subscription, getter \\ &@httpoison.get/3) do do changeset = Changeset.change(subscription, %{state: "active"}) Repo.update(changeset) - else _e -> - changeset = Changeset.change(subscription, %{state: "rejected"}) - {:ok, subscription} = Repo.update(changeset) + else e -> + Logger.debug("Couldn't verify subscription") + Logger.debug(inspect(e)) {:error, subscription} end end diff --git a/lib/pleroma/web/xml/xml.ex b/lib/pleroma/web/xml/xml.ex index 63580c1f8..026672ad1 100644 --- a/lib/pleroma/web/xml/xml.ex +++ b/lib/pleroma/web/xml/xml.ex @@ -1,7 +1,7 @@ defmodule Pleroma.Web.XML do require Logger - def string_from_xpath(xpath, :error), do: nil + def string_from_xpath(_, :error), do: nil def string_from_xpath(xpath, doc) do {:xmlObj, :string, res} = :xmerl_xpath.string('string(#{xpath})', doc) @@ -20,7 +20,7 @@ def parse_document(text) do doc catch - :exit, error -> + :exit, _error -> Logger.debug("Couldn't parse xml: #{inspect(text)}") :error end diff --git a/lib/transports.ex b/lib/transports.ex new file mode 100644 index 000000000..a820aa778 --- /dev/null +++ b/lib/transports.ex @@ -0,0 +1,77 @@ +defmodule Phoenix.Transports.WebSocket.Raw do + import Plug.Conn, only: [ + fetch_query_params: 1, + send_resp: 3 + ] + alias Phoenix.Socket.Transport + + def default_config do + [ + timeout: 60_000, + transport_log: false, + cowboy: Phoenix.Endpoint.CowboyWebSocket + ] + end + + def init(%Plug.Conn{method: "GET"} = conn, {endpoint, handler, transport}) do + {_, opts} = handler.__transport__(transport) + + conn = conn + |> fetch_query_params + |> Transport.transport_log(opts[:transport_log]) + |> Transport.force_ssl(handler, endpoint, opts) + |> Transport.check_origin(handler, endpoint, opts) + + case conn do + %{halted: false} = conn -> + case Transport.connect(endpoint, handler, transport, __MODULE__, nil, conn.params) do + {:ok, socket} -> + {:ok, conn, {__MODULE__, {socket, opts}}} + :error -> + send_resp(conn, :forbidden, "") + {:error, conn} + end + _ -> + {:error, conn} + end + end + + def init(conn, _) do + send_resp(conn, :bad_request, "") + {:error, conn} + end + + def ws_init({socket, config}) do + Process.flag(:trap_exit, true) + {:ok, %{socket: socket}, config[:timeout]} + end + + def ws_handle(op, data, state) do + state.socket.handler + |> apply(:handle, [op, data, state]) + |> case do + {op, data} -> + {:reply, {op, data}, state} + {op, data, state} -> + {:reply, {op, data}, state} + %{} = state -> + {:ok, state} + _ -> + {:ok, state} + end + end + + def ws_info({_,_} = tuple, state) do + {:reply, tuple, state} + end + + def ws_info(_tuple, state), do: {:ok, state} + + def ws_close(state) do + ws_handle(:closed, :normal, state) + end + + def ws_terminate(reason, state) do + ws_handle(:closed, reason, state) + end +end diff --git a/lib/xml_builder.ex b/lib/xml_builder.ex index c6d144903..52358c437 100644 --- a/lib/xml_builder.ex +++ b/lib/xml_builder.ex @@ -37,6 +37,6 @@ defp make_open_tag(tag, attributes) do "#{attribute}=\"#{value}\"" end |> Enum.join(" ") - [tag, attributes_string] |> Enum.join(" ") |> String.strip + [tag, attributes_string] |> Enum.join(" ") |> String.trim end end diff --git a/priv/repo/migrations/20171019141706_create_password_reset_tokens.exs b/priv/repo/migrations/20171019141706_create_password_reset_tokens.exs new file mode 100644 index 000000000..2d9be3aab --- /dev/null +++ b/priv/repo/migrations/20171019141706_create_password_reset_tokens.exs @@ -0,0 +1,13 @@ +defmodule Pleroma.Repo.Migrations.CreatePasswordResetTokens do + use Ecto.Migration + + def change do + create table(:password_reset_tokens) do + add :token, :string + add :user_id, references(:users) + add :used, :boolean, default: false + + timestamps() + end + end +end diff --git a/priv/repo/migrations/20171023155035_add_second_object_index_to_activty.exs b/priv/repo/migrations/20171023155035_add_second_object_index_to_activty.exs new file mode 100644 index 000000000..c6df53ec9 --- /dev/null +++ b/priv/repo/migrations/20171023155035_add_second_object_index_to_activty.exs @@ -0,0 +1,10 @@ +defmodule Pleroma.Repo.Migrations.AddSecondObjectIndexToActivty do + use Ecto.Migration + + @disable_ddl_transaction true + + def change do + drop_if_exists index(:activities, ["(data->'object'->>'id')", "(data->>'type')"], name: :activities_create_objects_index) + create index(:activities, ["(coalesce(data->'object'->>'id', data->>'object'))"], name: :activities_create_objects_index, concurrently: true) + end +end diff --git a/priv/repo/migrations/20171024090137_drop_object_index.exs b/priv/repo/migrations/20171024090137_drop_object_index.exs new file mode 100644 index 000000000..29b4c9333 --- /dev/null +++ b/priv/repo/migrations/20171024090137_drop_object_index.exs @@ -0,0 +1,7 @@ +defmodule Pleroma.Repo.Migrations.DropObjectIndex do + use Ecto.Migration + + def change do + drop_if_exists index(:objects, [:data], using: :gin) + end +end diff --git a/priv/repo/migrations/20171024121413_add_object_actor_index.exs b/priv/repo/migrations/20171024121413_add_object_actor_index.exs new file mode 100644 index 000000000..344c9c825 --- /dev/null +++ b/priv/repo/migrations/20171024121413_add_object_actor_index.exs @@ -0,0 +1,9 @@ +defmodule Pleroma.Repo.Migrations.AddObjectActorIndex do + use Ecto.Migration + + @disable_ddl_transaction true + + def change do + create index(:objects, ["(data->>'actor')", "(data->>'type')"], concurrently: true, name: :objects_actor_type) + end +end diff --git a/priv/repo/migrations/20171109091239_add_actor_to_activity.exs b/priv/repo/migrations/20171109091239_add_actor_to_activity.exs new file mode 100644 index 000000000..2d8b60a91 --- /dev/null +++ b/priv/repo/migrations/20171109091239_add_actor_to_activity.exs @@ -0,0 +1,20 @@ +defmodule Pleroma.Repo.Migrations.AddActorToActivity do + use Ecto.Migration + + @disable_ddl_transaction true + + def up do + alter table(:activities) do + add :actor, :string + end + + create index(:activities, [:actor, "id DESC NULLS LAST"], concurrently: true) + end + + def down do + drop index(:activities, [:actor, "id DESC NULLS LAST"]) + alter table(:activities) do + remove :actor + end + end +end diff --git a/priv/repo/migrations/20171109114020_fill_actor_field.exs b/priv/repo/migrations/20171109114020_fill_actor_field.exs new file mode 100644 index 000000000..255ca46d5 --- /dev/null +++ b/priv/repo/migrations/20171109114020_fill_actor_field.exs @@ -0,0 +1,26 @@ +defmodule Pleroma.Repo.Migrations.FillActorField do + use Ecto.Migration + + alias Pleroma.{Repo, Activity} + + def up do + max = Repo.aggregate(Activity, :max, :id) + if max do + IO.puts("#{max} activities") + chunks = 0..(round(max / 10_000)) + + Enum.each(chunks, fn (i) -> + min = i * 10_000 + max = min + 10_000 + execute(""" + update activities set actor = data->>'actor' where id > #{min} and id <= #{max}; + """) + |> IO.inspect + end) + end + end + + def down do + end +end + diff --git a/priv/repo/migrations/20171109141309_add_sort_index_to_activities.exs b/priv/repo/migrations/20171109141309_add_sort_index_to_activities.exs new file mode 100644 index 000000000..2d21c56ca --- /dev/null +++ b/priv/repo/migrations/20171109141309_add_sort_index_to_activities.exs @@ -0,0 +1,8 @@ +defmodule Pleroma.Repo.Migrations.AddSortIndexToActivities do + use Ecto.Migration + @disable_ddl_transaction true + + def change do + create index(:activities, ["id desc nulls last"], concurrently: true) + end +end diff --git a/priv/repo/migrations/20171130135819_add_local_index_to_user.exs b/priv/repo/migrations/20171130135819_add_local_index_to_user.exs new file mode 100644 index 000000000..25716be21 --- /dev/null +++ b/priv/repo/migrations/20171130135819_add_local_index_to_user.exs @@ -0,0 +1,7 @@ +defmodule Pleroma.Repo.Migrations.AddLocalIndexToUser do + use Ecto.Migration + + def change do + create index(:users, [:local]) + end +end diff --git a/priv/static/emoji/1f004.svg b/priv/static/emoji/1f004.svg new file mode 100644 index 000000000..f6f39e433 --- /dev/null +++ b/priv/static/emoji/1f004.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f0cf.svg b/priv/static/emoji/1f0cf.svg new file mode 100644 index 000000000..ae95b9954 --- /dev/null +++ b/priv/static/emoji/1f0cf.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f170.svg b/priv/static/emoji/1f170.svg new file mode 100644 index 000000000..c9fc32b71 --- /dev/null +++ b/priv/static/emoji/1f170.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f171.svg b/priv/static/emoji/1f171.svg new file mode 100644 index 000000000..f7251222d --- /dev/null +++ b/priv/static/emoji/1f171.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f17e.svg b/priv/static/emoji/1f17e.svg new file mode 100644 index 000000000..96c14b4c3 --- /dev/null +++ b/priv/static/emoji/1f17e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f17f.svg b/priv/static/emoji/1f17f.svg new file mode 100644 index 000000000..33db94984 --- /dev/null +++ b/priv/static/emoji/1f17f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f18e.svg b/priv/static/emoji/1f18e.svg new file mode 100644 index 000000000..207d4cf09 --- /dev/null +++ b/priv/static/emoji/1f18e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f191.svg b/priv/static/emoji/1f191.svg new file mode 100644 index 000000000..7334171fd --- /dev/null +++ b/priv/static/emoji/1f191.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f192.svg b/priv/static/emoji/1f192.svg new file mode 100644 index 000000000..86fd7df12 --- /dev/null +++ b/priv/static/emoji/1f192.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f193.svg b/priv/static/emoji/1f193.svg new file mode 100644 index 000000000..72a80ae58 --- /dev/null +++ b/priv/static/emoji/1f193.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f194.svg b/priv/static/emoji/1f194.svg new file mode 100644 index 000000000..9d72b800c --- /dev/null +++ b/priv/static/emoji/1f194.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f195.svg b/priv/static/emoji/1f195.svg new file mode 100644 index 000000000..22dad4cf8 --- /dev/null +++ b/priv/static/emoji/1f195.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f196.svg b/priv/static/emoji/1f196.svg new file mode 100644 index 000000000..50bf80034 --- /dev/null +++ b/priv/static/emoji/1f196.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f197.svg b/priv/static/emoji/1f197.svg new file mode 100644 index 000000000..9f43d676f --- /dev/null +++ b/priv/static/emoji/1f197.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f198.svg b/priv/static/emoji/1f198.svg new file mode 100644 index 000000000..36cf60117 --- /dev/null +++ b/priv/static/emoji/1f198.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f199.svg b/priv/static/emoji/1f199.svg new file mode 100644 index 000000000..1f2d8e60a --- /dev/null +++ b/priv/static/emoji/1f199.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f19a.svg b/priv/static/emoji/1f19a.svg new file mode 100644 index 000000000..af8f685dc --- /dev/null +++ b/priv/static/emoji/1f19a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1e8.svg b/priv/static/emoji/1f1e6-1f1e8.svg new file mode 100644 index 000000000..588d4e8bf --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1e9.svg b/priv/static/emoji/1f1e6-1f1e9.svg new file mode 100644 index 000000000..e0e8608b8 --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1ea.svg b/priv/static/emoji/1f1e6-1f1ea.svg new file mode 100644 index 000000000..571251753 --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1eb.svg b/priv/static/emoji/1f1e6-1f1eb.svg new file mode 100644 index 000000000..9e880f92e --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1ec.svg b/priv/static/emoji/1f1e6-1f1ec.svg new file mode 100644 index 000000000..10d53620b --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1ee.svg b/priv/static/emoji/1f1e6-1f1ee.svg new file mode 100644 index 000000000..cf17878e0 --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1f1.svg b/priv/static/emoji/1f1e6-1f1f1.svg new file mode 100644 index 000000000..5de35c369 --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1f2.svg b/priv/static/emoji/1f1e6-1f1f2.svg new file mode 100644 index 000000000..0b87990cc --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1f4.svg b/priv/static/emoji/1f1e6-1f1f4.svg new file mode 100644 index 000000000..32692e12d --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1f6.svg b/priv/static/emoji/1f1e6-1f1f6.svg new file mode 100644 index 000000000..8f8250990 --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1f6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1f7.svg b/priv/static/emoji/1f1e6-1f1f7.svg new file mode 100644 index 000000000..983c6df9d --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1f8.svg b/priv/static/emoji/1f1e6-1f1f8.svg new file mode 100644 index 000000000..d4334d65c --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1f9.svg b/priv/static/emoji/1f1e6-1f1f9.svg new file mode 100644 index 000000000..ea3c039e5 --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1fa.svg b/priv/static/emoji/1f1e6-1f1fa.svg new file mode 100644 index 000000000..986705ff9 --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1fc.svg b/priv/static/emoji/1f1e6-1f1fc.svg new file mode 100644 index 000000000..3ec298915 --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1fd.svg b/priv/static/emoji/1f1e6-1f1fd.svg new file mode 100644 index 000000000..939ea37c7 --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6-1f1ff.svg b/priv/static/emoji/1f1e6-1f1ff.svg new file mode 100644 index 000000000..d05dffbc2 --- /dev/null +++ b/priv/static/emoji/1f1e6-1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e6.svg b/priv/static/emoji/1f1e6.svg new file mode 100644 index 000000000..845aea33b --- /dev/null +++ b/priv/static/emoji/1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1e6.svg b/priv/static/emoji/1f1e7-1f1e6.svg new file mode 100644 index 000000000..e30dd2cb3 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1e7.svg b/priv/static/emoji/1f1e7-1f1e7.svg new file mode 100644 index 000000000..2eeb18255 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1e7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1e9.svg b/priv/static/emoji/1f1e7-1f1e9.svg new file mode 100644 index 000000000..5d16a3f3a --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1ea.svg b/priv/static/emoji/1f1e7-1f1ea.svg new file mode 100644 index 000000000..18a9d1bb1 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1eb.svg b/priv/static/emoji/1f1e7-1f1eb.svg new file mode 100644 index 000000000..769b898c9 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1ec.svg b/priv/static/emoji/1f1e7-1f1ec.svg new file mode 100644 index 000000000..4caa980b1 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1ed.svg b/priv/static/emoji/1f1e7-1f1ed.svg new file mode 100644 index 000000000..8ee8c0818 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1ee.svg b/priv/static/emoji/1f1e7-1f1ee.svg new file mode 100644 index 000000000..4b0122f05 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1ef.svg b/priv/static/emoji/1f1e7-1f1ef.svg new file mode 100644 index 000000000..d3d3435ff --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1ef.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1f1.svg b/priv/static/emoji/1f1e7-1f1f1.svg new file mode 100644 index 000000000..77b2b07bc --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1f2.svg b/priv/static/emoji/1f1e7-1f1f2.svg new file mode 100644 index 000000000..723f28577 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1f3.svg b/priv/static/emoji/1f1e7-1f1f3.svg new file mode 100644 index 000000000..669fd4045 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1f4.svg b/priv/static/emoji/1f1e7-1f1f4.svg new file mode 100644 index 000000000..f702e40b6 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1f6.svg b/priv/static/emoji/1f1e7-1f1f6.svg new file mode 100644 index 000000000..25fad1393 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1f6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1f7.svg b/priv/static/emoji/1f1e7-1f1f7.svg new file mode 100644 index 000000000..f9b120d64 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1f8.svg b/priv/static/emoji/1f1e7-1f1f8.svg new file mode 100644 index 000000000..48f72d7f8 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1f9.svg b/priv/static/emoji/1f1e7-1f1f9.svg new file mode 100644 index 000000000..ac8ba9d37 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1fb.svg b/priv/static/emoji/1f1e7-1f1fb.svg new file mode 100644 index 000000000..75ed1e94a --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1fc.svg b/priv/static/emoji/1f1e7-1f1fc.svg new file mode 100644 index 000000000..f29ad45ce --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1fe.svg b/priv/static/emoji/1f1e7-1f1fe.svg new file mode 100644 index 000000000..b7ba015c3 --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7-1f1ff.svg b/priv/static/emoji/1f1e7-1f1ff.svg new file mode 100644 index 000000000..36f0d2e6c --- /dev/null +++ b/priv/static/emoji/1f1e7-1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e7.svg b/priv/static/emoji/1f1e7.svg new file mode 100644 index 000000000..70bee8133 --- /dev/null +++ b/priv/static/emoji/1f1e7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1e6.svg b/priv/static/emoji/1f1e8-1f1e6.svg new file mode 100644 index 000000000..555d21808 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1e8.svg b/priv/static/emoji/1f1e8-1f1e8.svg new file mode 100644 index 000000000..a8d74a752 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1e9.svg b/priv/static/emoji/1f1e8-1f1e9.svg new file mode 100644 index 000000000..1495355e4 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1eb.svg b/priv/static/emoji/1f1e8-1f1eb.svg new file mode 100644 index 000000000..d9fcde0a9 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1ec.svg b/priv/static/emoji/1f1e8-1f1ec.svg new file mode 100644 index 000000000..c9496fe12 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1ed.svg b/priv/static/emoji/1f1e8-1f1ed.svg new file mode 100644 index 000000000..46e47864f --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1ee.svg b/priv/static/emoji/1f1e8-1f1ee.svg new file mode 100644 index 000000000..47188a220 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1f0.svg b/priv/static/emoji/1f1e8-1f1f0.svg new file mode 100644 index 000000000..bec3a0836 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1f1.svg b/priv/static/emoji/1f1e8-1f1f1.svg new file mode 100644 index 000000000..6ebd46453 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1f2.svg b/priv/static/emoji/1f1e8-1f1f2.svg new file mode 100644 index 000000000..e7651a513 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1f3.svg b/priv/static/emoji/1f1e8-1f1f3.svg new file mode 100644 index 000000000..646cea9d9 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1f4.svg b/priv/static/emoji/1f1e8-1f1f4.svg new file mode 100644 index 000000000..e9cb4f814 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1f5.svg b/priv/static/emoji/1f1e8-1f1f5.svg new file mode 100644 index 000000000..359779e7f --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1f7.svg b/priv/static/emoji/1f1e8-1f1f7.svg new file mode 100644 index 000000000..18dabbc4e --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1fa.svg b/priv/static/emoji/1f1e8-1f1fa.svg new file mode 100644 index 000000000..d8c05766c --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1fb.svg b/priv/static/emoji/1f1e8-1f1fb.svg new file mode 100644 index 000000000..d9055e7f3 --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1fc.svg b/priv/static/emoji/1f1e8-1f1fc.svg new file mode 100644 index 000000000..e05eae77f --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1fd.svg b/priv/static/emoji/1f1e8-1f1fd.svg new file mode 100644 index 000000000..30857e46b --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1fe.svg b/priv/static/emoji/1f1e8-1f1fe.svg new file mode 100644 index 000000000..fe7b2b05f --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8-1f1ff.svg b/priv/static/emoji/1f1e8-1f1ff.svg new file mode 100644 index 000000000..3dd8a789c --- /dev/null +++ b/priv/static/emoji/1f1e8-1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e8.svg b/priv/static/emoji/1f1e8.svg new file mode 100644 index 000000000..c2a6d71f1 --- /dev/null +++ b/priv/static/emoji/1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e9-1f1ea.svg b/priv/static/emoji/1f1e9-1f1ea.svg new file mode 100644 index 000000000..ef390466f --- /dev/null +++ b/priv/static/emoji/1f1e9-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e9-1f1ec.svg b/priv/static/emoji/1f1e9-1f1ec.svg new file mode 100644 index 000000000..0266453dd --- /dev/null +++ b/priv/static/emoji/1f1e9-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e9-1f1ef.svg b/priv/static/emoji/1f1e9-1f1ef.svg new file mode 100644 index 000000000..a4daa6f94 --- /dev/null +++ b/priv/static/emoji/1f1e9-1f1ef.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e9-1f1f0.svg b/priv/static/emoji/1f1e9-1f1f0.svg new file mode 100644 index 000000000..ceda13d97 --- /dev/null +++ b/priv/static/emoji/1f1e9-1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e9-1f1f2.svg b/priv/static/emoji/1f1e9-1f1f2.svg new file mode 100644 index 000000000..66d850adc --- /dev/null +++ b/priv/static/emoji/1f1e9-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e9-1f1f4.svg b/priv/static/emoji/1f1e9-1f1f4.svg new file mode 100644 index 000000000..48967b1c9 --- /dev/null +++ b/priv/static/emoji/1f1e9-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e9-1f1ff.svg b/priv/static/emoji/1f1e9-1f1ff.svg new file mode 100644 index 000000000..243c153f3 --- /dev/null +++ b/priv/static/emoji/1f1e9-1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1e9.svg b/priv/static/emoji/1f1e9.svg new file mode 100644 index 000000000..b96b27d1f --- /dev/null +++ b/priv/static/emoji/1f1e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ea-1f1e6.svg b/priv/static/emoji/1f1ea-1f1e6.svg new file mode 100644 index 000000000..97f8ad011 --- /dev/null +++ b/priv/static/emoji/1f1ea-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ea-1f1e8.svg b/priv/static/emoji/1f1ea-1f1e8.svg new file mode 100644 index 000000000..d8af4a192 --- /dev/null +++ b/priv/static/emoji/1f1ea-1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ea-1f1ea.svg b/priv/static/emoji/1f1ea-1f1ea.svg new file mode 100644 index 000000000..e8359c64b --- /dev/null +++ b/priv/static/emoji/1f1ea-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ea-1f1ec.svg b/priv/static/emoji/1f1ea-1f1ec.svg new file mode 100644 index 000000000..9018d1c60 --- /dev/null +++ b/priv/static/emoji/1f1ea-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ea-1f1ed.svg b/priv/static/emoji/1f1ea-1f1ed.svg new file mode 100644 index 000000000..a4bbad309 --- /dev/null +++ b/priv/static/emoji/1f1ea-1f1ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ea-1f1f7.svg b/priv/static/emoji/1f1ea-1f1f7.svg new file mode 100644 index 000000000..067278b02 --- /dev/null +++ b/priv/static/emoji/1f1ea-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ea-1f1f8.svg b/priv/static/emoji/1f1ea-1f1f8.svg new file mode 100644 index 000000000..97f8ad011 --- /dev/null +++ b/priv/static/emoji/1f1ea-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ea-1f1f9.svg b/priv/static/emoji/1f1ea-1f1f9.svg new file mode 100644 index 000000000..7e7a5194d --- /dev/null +++ b/priv/static/emoji/1f1ea-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ea-1f1fa.svg b/priv/static/emoji/1f1ea-1f1fa.svg new file mode 100644 index 000000000..76f6485a8 --- /dev/null +++ b/priv/static/emoji/1f1ea-1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ea.svg b/priv/static/emoji/1f1ea.svg new file mode 100644 index 000000000..d1521bb00 --- /dev/null +++ b/priv/static/emoji/1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1eb-1f1ee.svg b/priv/static/emoji/1f1eb-1f1ee.svg new file mode 100644 index 000000000..ce60e2d95 --- /dev/null +++ b/priv/static/emoji/1f1eb-1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1eb-1f1ef.svg b/priv/static/emoji/1f1eb-1f1ef.svg new file mode 100644 index 000000000..198e69ed6 --- /dev/null +++ b/priv/static/emoji/1f1eb-1f1ef.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1eb-1f1f0.svg b/priv/static/emoji/1f1eb-1f1f0.svg new file mode 100644 index 000000000..e2c5a4917 --- /dev/null +++ b/priv/static/emoji/1f1eb-1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1eb-1f1f2.svg b/priv/static/emoji/1f1eb-1f1f2.svg new file mode 100644 index 000000000..01e5dd223 --- /dev/null +++ b/priv/static/emoji/1f1eb-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1eb-1f1f4.svg b/priv/static/emoji/1f1eb-1f1f4.svg new file mode 100644 index 000000000..c1fd7e977 --- /dev/null +++ b/priv/static/emoji/1f1eb-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1eb-1f1f7.svg b/priv/static/emoji/1f1eb-1f1f7.svg new file mode 100644 index 000000000..359779e7f --- /dev/null +++ b/priv/static/emoji/1f1eb-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1eb.svg b/priv/static/emoji/1f1eb.svg new file mode 100644 index 000000000..c5907a4a4 --- /dev/null +++ b/priv/static/emoji/1f1eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1e6.svg b/priv/static/emoji/1f1ec-1f1e6.svg new file mode 100644 index 000000000..809addb47 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1e7.svg b/priv/static/emoji/1f1ec-1f1e7.svg new file mode 100644 index 000000000..9628d4f2b --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1e7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1e9.svg b/priv/static/emoji/1f1ec-1f1e9.svg new file mode 100644 index 000000000..33a1f9b84 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1ea.svg b/priv/static/emoji/1f1ec-1f1ea.svg new file mode 100644 index 000000000..e1dc358f4 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1eb.svg b/priv/static/emoji/1f1ec-1f1eb.svg new file mode 100644 index 000000000..4aef79702 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1ec.svg b/priv/static/emoji/1f1ec-1f1ec.svg new file mode 100644 index 000000000..8bd725600 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1ed.svg b/priv/static/emoji/1f1ec-1f1ed.svg new file mode 100644 index 000000000..ea91d2508 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1ee.svg b/priv/static/emoji/1f1ec-1f1ee.svg new file mode 100644 index 000000000..77ac93289 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1f1.svg b/priv/static/emoji/1f1ec-1f1f1.svg new file mode 100644 index 000000000..aa1713855 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1f2.svg b/priv/static/emoji/1f1ec-1f1f2.svg new file mode 100644 index 000000000..38e8738de --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1f3.svg b/priv/static/emoji/1f1ec-1f1f3.svg new file mode 100644 index 000000000..94758e537 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1f5.svg b/priv/static/emoji/1f1ec-1f1f5.svg new file mode 100644 index 000000000..5cba06978 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1f6.svg b/priv/static/emoji/1f1ec-1f1f6.svg new file mode 100644 index 000000000..0b7c18236 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1f6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1f7.svg b/priv/static/emoji/1f1ec-1f1f7.svg new file mode 100644 index 000000000..686ca152e --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1f8.svg b/priv/static/emoji/1f1ec-1f1f8.svg new file mode 100644 index 000000000..f51cd5dfc --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1f9.svg b/priv/static/emoji/1f1ec-1f1f9.svg new file mode 100644 index 000000000..3e86ce520 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1fa.svg b/priv/static/emoji/1f1ec-1f1fa.svg new file mode 100644 index 000000000..4718442ac --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1fc.svg b/priv/static/emoji/1f1ec-1f1fc.svg new file mode 100644 index 000000000..9c121c564 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec-1f1fe.svg b/priv/static/emoji/1f1ec-1f1fe.svg new file mode 100644 index 000000000..37faeaf90 --- /dev/null +++ b/priv/static/emoji/1f1ec-1f1fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ec.svg b/priv/static/emoji/1f1ec.svg new file mode 100644 index 000000000..a8c44210f --- /dev/null +++ b/priv/static/emoji/1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ed-1f1f0.svg b/priv/static/emoji/1f1ed-1f1f0.svg new file mode 100644 index 000000000..8152b768b --- /dev/null +++ b/priv/static/emoji/1f1ed-1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ed-1f1f2.svg b/priv/static/emoji/1f1ed-1f1f2.svg new file mode 100644 index 000000000..986705ff9 --- /dev/null +++ b/priv/static/emoji/1f1ed-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ed-1f1f3.svg b/priv/static/emoji/1f1ed-1f1f3.svg new file mode 100644 index 000000000..9ffdb103c --- /dev/null +++ b/priv/static/emoji/1f1ed-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ed-1f1f7.svg b/priv/static/emoji/1f1ed-1f1f7.svg new file mode 100644 index 000000000..3d757816a --- /dev/null +++ b/priv/static/emoji/1f1ed-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ed-1f1f9.svg b/priv/static/emoji/1f1ed-1f1f9.svg new file mode 100644 index 000000000..6bc187229 --- /dev/null +++ b/priv/static/emoji/1f1ed-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ed-1f1fa.svg b/priv/static/emoji/1f1ed-1f1fa.svg new file mode 100644 index 000000000..bb04c1863 --- /dev/null +++ b/priv/static/emoji/1f1ed-1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ed.svg b/priv/static/emoji/1f1ed.svg new file mode 100644 index 000000000..337b2f0a9 --- /dev/null +++ b/priv/static/emoji/1f1ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1e8.svg b/priv/static/emoji/1f1ee-1f1e8.svg new file mode 100644 index 000000000..7741ac37d --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1e9.svg b/priv/static/emoji/1f1ee-1f1e9.svg new file mode 100644 index 000000000..2e35859dd --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1ea.svg b/priv/static/emoji/1f1ee-1f1ea.svg new file mode 100644 index 000000000..449c63946 --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1f1.svg b/priv/static/emoji/1f1ee-1f1f1.svg new file mode 100644 index 000000000..a9680cc92 --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1f2.svg b/priv/static/emoji/1f1ee-1f1f2.svg new file mode 100644 index 000000000..7dc6a44fe --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1f3.svg b/priv/static/emoji/1f1ee-1f1f3.svg new file mode 100644 index 000000000..c8720d0ea --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1f4.svg b/priv/static/emoji/1f1ee-1f1f4.svg new file mode 100644 index 000000000..0266453dd --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1f6.svg b/priv/static/emoji/1f1ee-1f1f6.svg new file mode 100644 index 000000000..cde68d8e7 --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1f6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1f7.svg b/priv/static/emoji/1f1ee-1f1f7.svg new file mode 100644 index 000000000..79a88385b --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1f8.svg b/priv/static/emoji/1f1ee-1f1f8.svg new file mode 100644 index 000000000..06b977391 --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee-1f1f9.svg b/priv/static/emoji/1f1ee-1f1f9.svg new file mode 100644 index 000000000..9278ea01a --- /dev/null +++ b/priv/static/emoji/1f1ee-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ee.svg b/priv/static/emoji/1f1ee.svg new file mode 100644 index 000000000..a34480173 --- /dev/null +++ b/priv/static/emoji/1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ef-1f1ea.svg b/priv/static/emoji/1f1ef-1f1ea.svg new file mode 100644 index 000000000..79576ef1f --- /dev/null +++ b/priv/static/emoji/1f1ef-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ef-1f1f2.svg b/priv/static/emoji/1f1ef-1f1f2.svg new file mode 100644 index 000000000..9a2c61823 --- /dev/null +++ b/priv/static/emoji/1f1ef-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ef-1f1f4.svg b/priv/static/emoji/1f1ef-1f1f4.svg new file mode 100644 index 000000000..76695fd2a --- /dev/null +++ b/priv/static/emoji/1f1ef-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ef-1f1f5.svg b/priv/static/emoji/1f1ef-1f1f5.svg new file mode 100644 index 000000000..e7d4edf6b --- /dev/null +++ b/priv/static/emoji/1f1ef-1f1f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ef.svg b/priv/static/emoji/1f1ef.svg new file mode 100644 index 000000000..c36897e37 --- /dev/null +++ b/priv/static/emoji/1f1ef.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1ea.svg b/priv/static/emoji/1f1f0-1f1ea.svg new file mode 100644 index 000000000..7448af9f4 --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1ec.svg b/priv/static/emoji/1f1f0-1f1ec.svg new file mode 100644 index 000000000..88eb57613 --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1ed.svg b/priv/static/emoji/1f1f0-1f1ed.svg new file mode 100644 index 000000000..7ef576703 --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1ee.svg b/priv/static/emoji/1f1f0-1f1ee.svg new file mode 100644 index 000000000..4ff9bc263 --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1f2.svg b/priv/static/emoji/1f1f0-1f1f2.svg new file mode 100644 index 000000000..576e2fa22 --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1f3.svg b/priv/static/emoji/1f1f0-1f1f3.svg new file mode 100644 index 000000000..86a2dd6bb --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1f5.svg b/priv/static/emoji/1f1f0-1f1f5.svg new file mode 100644 index 000000000..c4ff6ac31 --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1f7.svg b/priv/static/emoji/1f1f0-1f1f7.svg new file mode 100644 index 000000000..7b5c67904 --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1fc.svg b/priv/static/emoji/1f1f0-1f1fc.svg new file mode 100644 index 000000000..735085fa9 --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1fe.svg b/priv/static/emoji/1f1f0-1f1fe.svg new file mode 100644 index 000000000..ae4088997 --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0-1f1ff.svg b/priv/static/emoji/1f1f0-1f1ff.svg new file mode 100644 index 000000000..0c398a457 --- /dev/null +++ b/priv/static/emoji/1f1f0-1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f0.svg b/priv/static/emoji/1f1f0.svg new file mode 100644 index 000000000..d9294f183 --- /dev/null +++ b/priv/static/emoji/1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1e6.svg b/priv/static/emoji/1f1f1-1f1e6.svg new file mode 100644 index 000000000..251d2bdec --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1e7.svg b/priv/static/emoji/1f1f1-1f1e7.svg new file mode 100644 index 000000000..3b47f5895 --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1e7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1e8.svg b/priv/static/emoji/1f1f1-1f1e8.svg new file mode 100644 index 000000000..255cbe8f0 --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1ee.svg b/priv/static/emoji/1f1f1-1f1ee.svg new file mode 100644 index 000000000..5b878c9d7 --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1f0.svg b/priv/static/emoji/1f1f1-1f1f0.svg new file mode 100644 index 000000000..18ce60f46 --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1f7.svg b/priv/static/emoji/1f1f1-1f1f7.svg new file mode 100644 index 000000000..60815efb6 --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1f8.svg b/priv/static/emoji/1f1f1-1f1f8.svg new file mode 100644 index 000000000..437f875ba --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1f9.svg b/priv/static/emoji/1f1f1-1f1f9.svg new file mode 100644 index 000000000..464ae5e04 --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1fa.svg b/priv/static/emoji/1f1f1-1f1fa.svg new file mode 100644 index 000000000..ce8ff86f7 --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1fb.svg b/priv/static/emoji/1f1f1-1f1fb.svg new file mode 100644 index 000000000..7265ac507 --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1-1f1fe.svg b/priv/static/emoji/1f1f1-1f1fe.svg new file mode 100644 index 000000000..74add1f6f --- /dev/null +++ b/priv/static/emoji/1f1f1-1f1fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f1.svg b/priv/static/emoji/1f1f1.svg new file mode 100644 index 000000000..dc299d45f --- /dev/null +++ b/priv/static/emoji/1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1e6.svg b/priv/static/emoji/1f1f2-1f1e6.svg new file mode 100644 index 000000000..77421f18d --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1e8.svg b/priv/static/emoji/1f1f2-1f1e8.svg new file mode 100644 index 000000000..abc6746dc --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1e9.svg b/priv/static/emoji/1f1f2-1f1e9.svg new file mode 100644 index 000000000..b4f1fe18f --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1ea.svg b/priv/static/emoji/1f1f2-1f1ea.svg new file mode 100644 index 000000000..45e00923e --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1eb.svg b/priv/static/emoji/1f1f2-1f1eb.svg new file mode 100644 index 000000000..359779e7f --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1ec.svg b/priv/static/emoji/1f1f2-1f1ec.svg new file mode 100644 index 000000000..016e1c360 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1ed.svg b/priv/static/emoji/1f1f2-1f1ed.svg new file mode 100644 index 000000000..9a82f6e4a --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1f0.svg b/priv/static/emoji/1f1f2-1f1f0.svg new file mode 100644 index 000000000..d5602de7c --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1f1.svg b/priv/static/emoji/1f1f2-1f1f1.svg new file mode 100644 index 000000000..729816534 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1f2.svg b/priv/static/emoji/1f1f2-1f1f2.svg new file mode 100644 index 000000000..011a6a4d7 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1f3.svg b/priv/static/emoji/1f1f2-1f1f3.svg new file mode 100644 index 000000000..6987e1262 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1f4.svg b/priv/static/emoji/1f1f2-1f1f4.svg new file mode 100644 index 000000000..9c7fb5365 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1f5.svg b/priv/static/emoji/1f1f2-1f1f5.svg new file mode 100644 index 000000000..ea7005e64 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1f6.svg b/priv/static/emoji/1f1f2-1f1f6.svg new file mode 100644 index 000000000..3a12ec050 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1f6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1f7.svg b/priv/static/emoji/1f1f2-1f1f7.svg new file mode 100644 index 000000000..1cc8a6fff --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1f8.svg b/priv/static/emoji/1f1f2-1f1f8.svg new file mode 100644 index 000000000..24d149b0a --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1f9.svg b/priv/static/emoji/1f1f2-1f1f9.svg new file mode 100644 index 000000000..98a364da9 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1fa.svg b/priv/static/emoji/1f1f2-1f1fa.svg new file mode 100644 index 000000000..223c786e6 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1fb.svg b/priv/static/emoji/1f1f2-1f1fb.svg new file mode 100644 index 000000000..87eba9d93 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1fc.svg b/priv/static/emoji/1f1f2-1f1fc.svg new file mode 100644 index 000000000..2dd553add --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1fd.svg b/priv/static/emoji/1f1f2-1f1fd.svg new file mode 100644 index 000000000..fbb2ae056 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1fe.svg b/priv/static/emoji/1f1f2-1f1fe.svg new file mode 100644 index 000000000..97f472e19 --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2-1f1ff.svg b/priv/static/emoji/1f1f2-1f1ff.svg new file mode 100644 index 000000000..ddca4a7bd --- /dev/null +++ b/priv/static/emoji/1f1f2-1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f2.svg b/priv/static/emoji/1f1f2.svg new file mode 100644 index 000000000..595c1a8a7 --- /dev/null +++ b/priv/static/emoji/1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1e6.svg b/priv/static/emoji/1f1f3-1f1e6.svg new file mode 100644 index 000000000..d8224397a --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1e8.svg b/priv/static/emoji/1f1f3-1f1e8.svg new file mode 100644 index 000000000..5a4999f5a --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1ea.svg b/priv/static/emoji/1f1f3-1f1ea.svg new file mode 100644 index 000000000..b7d32ca12 --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1eb.svg b/priv/static/emoji/1f1f3-1f1eb.svg new file mode 100644 index 000000000..d8d25ec54 --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1ec.svg b/priv/static/emoji/1f1f3-1f1ec.svg new file mode 100644 index 000000000..2e68813ae --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1ee.svg b/priv/static/emoji/1f1f3-1f1ee.svg new file mode 100644 index 000000000..d61e76bcd --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1f1.svg b/priv/static/emoji/1f1f3-1f1f1.svg new file mode 100644 index 000000000..80adf56dd --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1f4.svg b/priv/static/emoji/1f1f3-1f1f4.svg new file mode 100644 index 000000000..f9a01310c --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1f5.svg b/priv/static/emoji/1f1f3-1f1f5.svg new file mode 100644 index 000000000..4c816f7a4 --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1f7.svg b/priv/static/emoji/1f1f3-1f1f7.svg new file mode 100644 index 000000000..dcf7aa255 --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1fa.svg b/priv/static/emoji/1f1f3-1f1fa.svg new file mode 100644 index 000000000..20fa1fbfa --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3-1f1ff.svg b/priv/static/emoji/1f1f3-1f1ff.svg new file mode 100644 index 000000000..3d76eaf87 --- /dev/null +++ b/priv/static/emoji/1f1f3-1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f3.svg b/priv/static/emoji/1f1f3.svg new file mode 100644 index 000000000..4736cc6eb --- /dev/null +++ b/priv/static/emoji/1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f4-1f1f2.svg b/priv/static/emoji/1f1f4-1f1f2.svg new file mode 100644 index 000000000..95682a7be --- /dev/null +++ b/priv/static/emoji/1f1f4-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f4.svg b/priv/static/emoji/1f1f4.svg new file mode 100644 index 000000000..96fc0b1f4 --- /dev/null +++ b/priv/static/emoji/1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1e6.svg b/priv/static/emoji/1f1f5-1f1e6.svg new file mode 100644 index 000000000..aa4edaa8f --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1ea.svg b/priv/static/emoji/1f1f5-1f1ea.svg new file mode 100644 index 000000000..17e8abe25 --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1eb.svg b/priv/static/emoji/1f1f5-1f1eb.svg new file mode 100644 index 000000000..8d2d87494 --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1ec.svg b/priv/static/emoji/1f1f5-1f1ec.svg new file mode 100644 index 000000000..a39a0e987 --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1ed.svg b/priv/static/emoji/1f1f5-1f1ed.svg new file mode 100644 index 000000000..17965b9eb --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1f0.svg b/priv/static/emoji/1f1f5-1f1f0.svg new file mode 100644 index 000000000..f3cfa4668 --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1f1.svg b/priv/static/emoji/1f1f5-1f1f1.svg new file mode 100644 index 000000000..bbc7f1ba9 --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1f2.svg b/priv/static/emoji/1f1f5-1f1f2.svg new file mode 100644 index 000000000..44e7282b8 --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1f3.svg b/priv/static/emoji/1f1f5-1f1f3.svg new file mode 100644 index 000000000..e9d1c474e --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1f7.svg b/priv/static/emoji/1f1f5-1f1f7.svg new file mode 100644 index 000000000..5a384c0e7 --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1f8.svg b/priv/static/emoji/1f1f5-1f1f8.svg new file mode 100644 index 000000000..08f8d7f13 --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1f9.svg b/priv/static/emoji/1f1f5-1f1f9.svg new file mode 100644 index 000000000..81defcf3a --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1fc.svg b/priv/static/emoji/1f1f5-1f1fc.svg new file mode 100644 index 000000000..4eaf0143c --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5-1f1fe.svg b/priv/static/emoji/1f1f5-1f1fe.svg new file mode 100644 index 000000000..1853d28da --- /dev/null +++ b/priv/static/emoji/1f1f5-1f1fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f5.svg b/priv/static/emoji/1f1f5.svg new file mode 100644 index 000000000..c111c0386 --- /dev/null +++ b/priv/static/emoji/1f1f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f6-1f1e6.svg b/priv/static/emoji/1f1f6-1f1e6.svg new file mode 100644 index 000000000..0df012496 --- /dev/null +++ b/priv/static/emoji/1f1f6-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f6.svg b/priv/static/emoji/1f1f6.svg new file mode 100644 index 000000000..b3de8efbd --- /dev/null +++ b/priv/static/emoji/1f1f6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f7-1f1ea.svg b/priv/static/emoji/1f1f7-1f1ea.svg new file mode 100644 index 000000000..ef15739e2 --- /dev/null +++ b/priv/static/emoji/1f1f7-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f7-1f1f4.svg b/priv/static/emoji/1f1f7-1f1f4.svg new file mode 100644 index 000000000..3b3b6ab86 --- /dev/null +++ b/priv/static/emoji/1f1f7-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f7-1f1f8.svg b/priv/static/emoji/1f1f7-1f1f8.svg new file mode 100644 index 000000000..5a2a16528 --- /dev/null +++ b/priv/static/emoji/1f1f7-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f7-1f1fa.svg b/priv/static/emoji/1f1f7-1f1fa.svg new file mode 100644 index 000000000..0c0949e69 --- /dev/null +++ b/priv/static/emoji/1f1f7-1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f7-1f1fc.svg b/priv/static/emoji/1f1f7-1f1fc.svg new file mode 100644 index 000000000..11651f29b --- /dev/null +++ b/priv/static/emoji/1f1f7-1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f7.svg b/priv/static/emoji/1f1f7.svg new file mode 100644 index 000000000..545c7700f --- /dev/null +++ b/priv/static/emoji/1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1e6.svg b/priv/static/emoji/1f1f8-1f1e6.svg new file mode 100644 index 000000000..86d652757 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1e7.svg b/priv/static/emoji/1f1f8-1f1e7.svg new file mode 100644 index 000000000..f5629076f --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1e7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1e8.svg b/priv/static/emoji/1f1f8-1f1e8.svg new file mode 100644 index 000000000..2bafbc20c --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1e9.svg b/priv/static/emoji/1f1f8-1f1e9.svg new file mode 100644 index 000000000..387ad3405 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1ea.svg b/priv/static/emoji/1f1f8-1f1ea.svg new file mode 100644 index 000000000..a84f573df --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1ec.svg b/priv/static/emoji/1f1f8-1f1ec.svg new file mode 100644 index 000000000..3d77757f4 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1ed.svg b/priv/static/emoji/1f1f8-1f1ed.svg new file mode 100644 index 000000000..5ceca0d3f --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1ee.svg b/priv/static/emoji/1f1f8-1f1ee.svg new file mode 100644 index 000000000..aa66a1599 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1ef.svg b/priv/static/emoji/1f1f8-1f1ef.svg new file mode 100644 index 000000000..f9a01310c --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1ef.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1f0.svg b/priv/static/emoji/1f1f8-1f1f0.svg new file mode 100644 index 000000000..d3a88c1da --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1f1.svg b/priv/static/emoji/1f1f8-1f1f1.svg new file mode 100644 index 000000000..a03423c12 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1f2.svg b/priv/static/emoji/1f1f8-1f1f2.svg new file mode 100644 index 000000000..d26d90e38 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1f3.svg b/priv/static/emoji/1f1f8-1f1f3.svg new file mode 100644 index 000000000..308ef0342 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1f4.svg b/priv/static/emoji/1f1f8-1f1f4.svg new file mode 100644 index 000000000..c205b1b37 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1f7.svg b/priv/static/emoji/1f1f8-1f1f7.svg new file mode 100644 index 000000000..d2b6e0fb5 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1f8.svg b/priv/static/emoji/1f1f8-1f1f8.svg new file mode 100644 index 000000000..e18f9e697 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1f9.svg b/priv/static/emoji/1f1f8-1f1f9.svg new file mode 100644 index 000000000..2d5ef73c5 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1fb.svg b/priv/static/emoji/1f1f8-1f1fb.svg new file mode 100644 index 000000000..5081fb948 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1fd.svg b/priv/static/emoji/1f1f8-1f1fd.svg new file mode 100644 index 000000000..00d7eb4d5 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1fe.svg b/priv/static/emoji/1f1f8-1f1fe.svg new file mode 100644 index 000000000..d7c1df75a --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8-1f1ff.svg b/priv/static/emoji/1f1f8-1f1ff.svg new file mode 100644 index 000000000..d6c470dd0 --- /dev/null +++ b/priv/static/emoji/1f1f8-1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f8.svg b/priv/static/emoji/1f1f8.svg new file mode 100644 index 000000000..a73e5074c --- /dev/null +++ b/priv/static/emoji/1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1e6.svg b/priv/static/emoji/1f1f9-1f1e6.svg new file mode 100644 index 000000000..84b5c1e7d --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1e8.svg b/priv/static/emoji/1f1f9-1f1e8.svg new file mode 100644 index 000000000..5f2b42d62 --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1e9.svg b/priv/static/emoji/1f1f9-1f1e9.svg new file mode 100644 index 000000000..0e48d2772 --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1eb.svg b/priv/static/emoji/1f1f9-1f1eb.svg new file mode 100644 index 000000000..015fbf976 --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1ec.svg b/priv/static/emoji/1f1f9-1f1ec.svg new file mode 100644 index 000000000..e4dc6d6d3 --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1ed.svg b/priv/static/emoji/1f1f9-1f1ed.svg new file mode 100644 index 000000000..426a60c8e --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1ef.svg b/priv/static/emoji/1f1f9-1f1ef.svg new file mode 100644 index 000000000..126bc7c5a --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1ef.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1f0.svg b/priv/static/emoji/1f1f9-1f1f0.svg new file mode 100644 index 000000000..ba9c6a1a6 --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1f1.svg b/priv/static/emoji/1f1f9-1f1f1.svg new file mode 100644 index 000000000..1da3e6502 --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1f2.svg b/priv/static/emoji/1f1f9-1f1f2.svg new file mode 100644 index 000000000..5dcd737a7 --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1f3.svg b/priv/static/emoji/1f1f9-1f1f3.svg new file mode 100644 index 000000000..09b34992a --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1f4.svg b/priv/static/emoji/1f1f9-1f1f4.svg new file mode 100644 index 000000000..cd4ae3094 --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1f7.svg b/priv/static/emoji/1f1f9-1f1f7.svg new file mode 100644 index 000000000..d8fd78213 --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1f9.svg b/priv/static/emoji/1f1f9-1f1f9.svg new file mode 100644 index 000000000..00bf8643a --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1fb.svg b/priv/static/emoji/1f1f9-1f1fb.svg new file mode 100644 index 000000000..1a3d48f7e --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1fc.svg b/priv/static/emoji/1f1f9-1f1fc.svg new file mode 100644 index 000000000..948f05efe --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9-1f1ff.svg b/priv/static/emoji/1f1f9-1f1ff.svg new file mode 100644 index 000000000..8a5cbf680 --- /dev/null +++ b/priv/static/emoji/1f1f9-1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1f9.svg b/priv/static/emoji/1f1f9.svg new file mode 100644 index 000000000..c230bbcfc --- /dev/null +++ b/priv/static/emoji/1f1f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fa-1f1e6.svg b/priv/static/emoji/1f1fa-1f1e6.svg new file mode 100644 index 000000000..6d7254dce --- /dev/null +++ b/priv/static/emoji/1f1fa-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fa-1f1ec.svg b/priv/static/emoji/1f1fa-1f1ec.svg new file mode 100644 index 000000000..cc3422c62 --- /dev/null +++ b/priv/static/emoji/1f1fa-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fa-1f1f2.svg b/priv/static/emoji/1f1fa-1f1f2.svg new file mode 100644 index 000000000..a7e325796 --- /dev/null +++ b/priv/static/emoji/1f1fa-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fa-1f1f3.svg b/priv/static/emoji/1f1fa-1f1f3.svg new file mode 100644 index 000000000..825b32dac --- /dev/null +++ b/priv/static/emoji/1f1fa-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fa-1f1f8.svg b/priv/static/emoji/1f1fa-1f1f8.svg new file mode 100644 index 000000000..a7e325796 --- /dev/null +++ b/priv/static/emoji/1f1fa-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fa-1f1fe.svg b/priv/static/emoji/1f1fa-1f1fe.svg new file mode 100644 index 000000000..dfd2535a0 --- /dev/null +++ b/priv/static/emoji/1f1fa-1f1fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fa-1f1ff.svg b/priv/static/emoji/1f1fa-1f1ff.svg new file mode 100644 index 000000000..b9997256e --- /dev/null +++ b/priv/static/emoji/1f1fa-1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fa.svg b/priv/static/emoji/1f1fa.svg new file mode 100644 index 000000000..1e7d29869 --- /dev/null +++ b/priv/static/emoji/1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fb-1f1e6.svg b/priv/static/emoji/1f1fb-1f1e6.svg new file mode 100644 index 000000000..af4d69603 --- /dev/null +++ b/priv/static/emoji/1f1fb-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fb-1f1e8.svg b/priv/static/emoji/1f1fb-1f1e8.svg new file mode 100644 index 000000000..06ffac698 --- /dev/null +++ b/priv/static/emoji/1f1fb-1f1e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fb-1f1ea.svg b/priv/static/emoji/1f1fb-1f1ea.svg new file mode 100644 index 000000000..a4ed2d2aa --- /dev/null +++ b/priv/static/emoji/1f1fb-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fb-1f1ec.svg b/priv/static/emoji/1f1fb-1f1ec.svg new file mode 100644 index 000000000..6357a52fa --- /dev/null +++ b/priv/static/emoji/1f1fb-1f1ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fb-1f1ee.svg b/priv/static/emoji/1f1fb-1f1ee.svg new file mode 100644 index 000000000..2f0b93194 --- /dev/null +++ b/priv/static/emoji/1f1fb-1f1ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fb-1f1f3.svg b/priv/static/emoji/1f1fb-1f1f3.svg new file mode 100644 index 000000000..d0b7daeb4 --- /dev/null +++ b/priv/static/emoji/1f1fb-1f1f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fb-1f1fa.svg b/priv/static/emoji/1f1fb-1f1fa.svg new file mode 100644 index 000000000..7595f2f72 --- /dev/null +++ b/priv/static/emoji/1f1fb-1f1fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fb.svg b/priv/static/emoji/1f1fb.svg new file mode 100644 index 000000000..946cf36a1 --- /dev/null +++ b/priv/static/emoji/1f1fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fc-1f1eb.svg b/priv/static/emoji/1f1fc-1f1eb.svg new file mode 100644 index 000000000..b7d01ea66 --- /dev/null +++ b/priv/static/emoji/1f1fc-1f1eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fc-1f1f8.svg b/priv/static/emoji/1f1fc-1f1f8.svg new file mode 100644 index 000000000..6e11aab76 --- /dev/null +++ b/priv/static/emoji/1f1fc-1f1f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fc.svg b/priv/static/emoji/1f1fc.svg new file mode 100644 index 000000000..aed47a882 --- /dev/null +++ b/priv/static/emoji/1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fd-1f1f0.svg b/priv/static/emoji/1f1fd-1f1f0.svg new file mode 100644 index 000000000..4499d2cfd --- /dev/null +++ b/priv/static/emoji/1f1fd-1f1f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fd.svg b/priv/static/emoji/1f1fd.svg new file mode 100644 index 000000000..9af21b8df --- /dev/null +++ b/priv/static/emoji/1f1fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fe-1f1ea.svg b/priv/static/emoji/1f1fe-1f1ea.svg new file mode 100644 index 000000000..667d2ae89 --- /dev/null +++ b/priv/static/emoji/1f1fe-1f1ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1fe-1f1f9.svg b/priv/static/emoji/1f1fe-1f1f9.svg new file mode 100644 index 000000000..5560649cb --- /dev/null +++ b/priv/static/emoji/1f1fe-1f1f9.svg @@ -0,0 +1 @@ +image/svg+xmlMAYOTTE diff --git a/priv/static/emoji/1f1fe.svg b/priv/static/emoji/1f1fe.svg new file mode 100644 index 000000000..49eecb7d6 --- /dev/null +++ b/priv/static/emoji/1f1fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ff-1f1e6.svg b/priv/static/emoji/1f1ff-1f1e6.svg new file mode 100644 index 000000000..cb41b2ef6 --- /dev/null +++ b/priv/static/emoji/1f1ff-1f1e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ff-1f1f2.svg b/priv/static/emoji/1f1ff-1f1f2.svg new file mode 100644 index 000000000..25e86be03 --- /dev/null +++ b/priv/static/emoji/1f1ff-1f1f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ff-1f1fc.svg b/priv/static/emoji/1f1ff-1f1fc.svg new file mode 100644 index 000000000..aeb9a3c81 --- /dev/null +++ b/priv/static/emoji/1f1ff-1f1fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f1ff.svg b/priv/static/emoji/1f1ff.svg new file mode 100644 index 000000000..f8f798989 --- /dev/null +++ b/priv/static/emoji/1f1ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f201.svg b/priv/static/emoji/1f201.svg new file mode 100644 index 000000000..824d957c3 --- /dev/null +++ b/priv/static/emoji/1f201.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f202.svg b/priv/static/emoji/1f202.svg new file mode 100644 index 000000000..b2c039cb7 --- /dev/null +++ b/priv/static/emoji/1f202.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f21a.svg b/priv/static/emoji/1f21a.svg new file mode 100644 index 000000000..1992f1d49 --- /dev/null +++ b/priv/static/emoji/1f21a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f22f.svg b/priv/static/emoji/1f22f.svg new file mode 100644 index 000000000..265e896a9 --- /dev/null +++ b/priv/static/emoji/1f22f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f232.svg b/priv/static/emoji/1f232.svg new file mode 100644 index 000000000..442d11dce --- /dev/null +++ b/priv/static/emoji/1f232.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f233.svg b/priv/static/emoji/1f233.svg new file mode 100644 index 000000000..c9de76080 --- /dev/null +++ b/priv/static/emoji/1f233.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f234.svg b/priv/static/emoji/1f234.svg new file mode 100644 index 000000000..8d24fe0b1 --- /dev/null +++ b/priv/static/emoji/1f234.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f235.svg b/priv/static/emoji/1f235.svg new file mode 100644 index 000000000..69992bd9b --- /dev/null +++ b/priv/static/emoji/1f235.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f236.svg b/priv/static/emoji/1f236.svg new file mode 100644 index 000000000..161b13898 --- /dev/null +++ b/priv/static/emoji/1f236.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f237.svg b/priv/static/emoji/1f237.svg new file mode 100644 index 000000000..a0590d6a3 --- /dev/null +++ b/priv/static/emoji/1f237.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f238.svg b/priv/static/emoji/1f238.svg new file mode 100644 index 000000000..913f6ee10 --- /dev/null +++ b/priv/static/emoji/1f238.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f239.svg b/priv/static/emoji/1f239.svg new file mode 100644 index 000000000..a85431feb --- /dev/null +++ b/priv/static/emoji/1f239.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f23a.svg b/priv/static/emoji/1f23a.svg new file mode 100644 index 000000000..3b7447811 --- /dev/null +++ b/priv/static/emoji/1f23a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f250.svg b/priv/static/emoji/1f250.svg new file mode 100644 index 000000000..b33576a7a --- /dev/null +++ b/priv/static/emoji/1f250.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f251.svg b/priv/static/emoji/1f251.svg new file mode 100644 index 000000000..c47e05b21 --- /dev/null +++ b/priv/static/emoji/1f251.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f300.svg b/priv/static/emoji/1f300.svg new file mode 100644 index 000000000..2dc5286f7 --- /dev/null +++ b/priv/static/emoji/1f300.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f301.svg b/priv/static/emoji/1f301.svg new file mode 100644 index 000000000..0ab7d698b --- /dev/null +++ b/priv/static/emoji/1f301.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f302.svg b/priv/static/emoji/1f302.svg new file mode 100644 index 000000000..881160d3a --- /dev/null +++ b/priv/static/emoji/1f302.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f303.svg b/priv/static/emoji/1f303.svg new file mode 100644 index 000000000..958318bc8 --- /dev/null +++ b/priv/static/emoji/1f303.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f304.svg b/priv/static/emoji/1f304.svg new file mode 100644 index 000000000..9b9aab4d6 --- /dev/null +++ b/priv/static/emoji/1f304.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f305.svg b/priv/static/emoji/1f305.svg new file mode 100644 index 000000000..df6b2f0d5 --- /dev/null +++ b/priv/static/emoji/1f305.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f306.svg b/priv/static/emoji/1f306.svg new file mode 100644 index 000000000..49a62d499 --- /dev/null +++ b/priv/static/emoji/1f306.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f307.svg b/priv/static/emoji/1f307.svg new file mode 100644 index 000000000..03edebae1 --- /dev/null +++ b/priv/static/emoji/1f307.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f308.svg b/priv/static/emoji/1f308.svg new file mode 100644 index 000000000..000d18deb --- /dev/null +++ b/priv/static/emoji/1f308.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f309.svg b/priv/static/emoji/1f309.svg new file mode 100644 index 000000000..20776394b --- /dev/null +++ b/priv/static/emoji/1f309.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f30a.svg b/priv/static/emoji/1f30a.svg new file mode 100644 index 000000000..e72edf1e6 --- /dev/null +++ b/priv/static/emoji/1f30a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f30b.svg b/priv/static/emoji/1f30b.svg new file mode 100644 index 000000000..9d4ca1818 --- /dev/null +++ b/priv/static/emoji/1f30b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f30c.svg b/priv/static/emoji/1f30c.svg new file mode 100644 index 000000000..d6764f50f --- /dev/null +++ b/priv/static/emoji/1f30c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f30d.svg b/priv/static/emoji/1f30d.svg new file mode 100644 index 000000000..d34b7012d --- /dev/null +++ b/priv/static/emoji/1f30d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f30e.svg b/priv/static/emoji/1f30e.svg new file mode 100644 index 000000000..609dd5c93 --- /dev/null +++ b/priv/static/emoji/1f30e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f30f.svg b/priv/static/emoji/1f30f.svg new file mode 100644 index 000000000..21b702ddb --- /dev/null +++ b/priv/static/emoji/1f30f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f310.svg b/priv/static/emoji/1f310.svg new file mode 100644 index 000000000..fa1e93b6c --- /dev/null +++ b/priv/static/emoji/1f310.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f311.svg b/priv/static/emoji/1f311.svg new file mode 100644 index 000000000..6b7dd3d8d --- /dev/null +++ b/priv/static/emoji/1f311.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f312.svg b/priv/static/emoji/1f312.svg new file mode 100644 index 000000000..6b7680e36 --- /dev/null +++ b/priv/static/emoji/1f312.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f313.svg b/priv/static/emoji/1f313.svg new file mode 100644 index 000000000..8ade662c7 --- /dev/null +++ b/priv/static/emoji/1f313.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f314.svg b/priv/static/emoji/1f314.svg new file mode 100644 index 000000000..1609b18e9 --- /dev/null +++ b/priv/static/emoji/1f314.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f315.svg b/priv/static/emoji/1f315.svg new file mode 100644 index 000000000..e0143639f --- /dev/null +++ b/priv/static/emoji/1f315.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f316.svg b/priv/static/emoji/1f316.svg new file mode 100644 index 000000000..c7a3390eb --- /dev/null +++ b/priv/static/emoji/1f316.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f317.svg b/priv/static/emoji/1f317.svg new file mode 100644 index 000000000..2c63c0179 --- /dev/null +++ b/priv/static/emoji/1f317.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f318.svg b/priv/static/emoji/1f318.svg new file mode 100644 index 000000000..0cd9693b5 --- /dev/null +++ b/priv/static/emoji/1f318.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f319.svg b/priv/static/emoji/1f319.svg new file mode 100644 index 000000000..a05283d37 --- /dev/null +++ b/priv/static/emoji/1f319.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f31a.svg b/priv/static/emoji/1f31a.svg new file mode 100644 index 000000000..ea21d3f3d --- /dev/null +++ b/priv/static/emoji/1f31a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f31b.svg b/priv/static/emoji/1f31b.svg new file mode 100644 index 000000000..14707c9d2 --- /dev/null +++ b/priv/static/emoji/1f31b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f31c.svg b/priv/static/emoji/1f31c.svg new file mode 100644 index 000000000..b1c8b5250 --- /dev/null +++ b/priv/static/emoji/1f31c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f31d.svg b/priv/static/emoji/1f31d.svg new file mode 100644 index 000000000..cc75e8a56 --- /dev/null +++ b/priv/static/emoji/1f31d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f31e.svg b/priv/static/emoji/1f31e.svg new file mode 100644 index 000000000..f694aa74a --- /dev/null +++ b/priv/static/emoji/1f31e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f31f.svg b/priv/static/emoji/1f31f.svg new file mode 100644 index 000000000..ac88d0d94 --- /dev/null +++ b/priv/static/emoji/1f31f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f320.svg b/priv/static/emoji/1f320.svg new file mode 100644 index 000000000..5d54372e3 --- /dev/null +++ b/priv/static/emoji/1f320.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f321.svg b/priv/static/emoji/1f321.svg new file mode 100644 index 000000000..8f55e77e1 --- /dev/null +++ b/priv/static/emoji/1f321.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f324.svg b/priv/static/emoji/1f324.svg new file mode 100644 index 000000000..b5d8293ce --- /dev/null +++ b/priv/static/emoji/1f324.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f325.svg b/priv/static/emoji/1f325.svg new file mode 100644 index 000000000..8155577a3 --- /dev/null +++ b/priv/static/emoji/1f325.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f326.svg b/priv/static/emoji/1f326.svg new file mode 100644 index 000000000..383aa2e97 --- /dev/null +++ b/priv/static/emoji/1f326.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f327.svg b/priv/static/emoji/1f327.svg new file mode 100644 index 000000000..2ff8cdfa3 --- /dev/null +++ b/priv/static/emoji/1f327.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f328.svg b/priv/static/emoji/1f328.svg new file mode 100644 index 000000000..35476fa95 --- /dev/null +++ b/priv/static/emoji/1f328.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f329.svg b/priv/static/emoji/1f329.svg new file mode 100644 index 000000000..88bf05d37 --- /dev/null +++ b/priv/static/emoji/1f329.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f32a.svg b/priv/static/emoji/1f32a.svg new file mode 100644 index 000000000..ca5c1694a --- /dev/null +++ b/priv/static/emoji/1f32a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f32b.svg b/priv/static/emoji/1f32b.svg new file mode 100644 index 000000000..f22dfdd84 --- /dev/null +++ b/priv/static/emoji/1f32b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f32c.svg b/priv/static/emoji/1f32c.svg new file mode 100644 index 000000000..cb0615f1b --- /dev/null +++ b/priv/static/emoji/1f32c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f32d.svg b/priv/static/emoji/1f32d.svg new file mode 100644 index 000000000..e4c7c5b61 --- /dev/null +++ b/priv/static/emoji/1f32d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f32e.svg b/priv/static/emoji/1f32e.svg new file mode 100644 index 000000000..1ed1f80c8 --- /dev/null +++ b/priv/static/emoji/1f32e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f32f.svg b/priv/static/emoji/1f32f.svg new file mode 100644 index 000000000..78023dd5d --- /dev/null +++ b/priv/static/emoji/1f32f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f330.svg b/priv/static/emoji/1f330.svg new file mode 100644 index 000000000..2bdaacc0c --- /dev/null +++ b/priv/static/emoji/1f330.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f331.svg b/priv/static/emoji/1f331.svg new file mode 100644 index 000000000..3fbe3c819 --- /dev/null +++ b/priv/static/emoji/1f331.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f332.svg b/priv/static/emoji/1f332.svg new file mode 100644 index 000000000..6c6ce5505 --- /dev/null +++ b/priv/static/emoji/1f332.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f333.svg b/priv/static/emoji/1f333.svg new file mode 100644 index 000000000..27070cdc1 --- /dev/null +++ b/priv/static/emoji/1f333.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f334.svg b/priv/static/emoji/1f334.svg new file mode 100644 index 000000000..e20f94e27 --- /dev/null +++ b/priv/static/emoji/1f334.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f335.svg b/priv/static/emoji/1f335.svg new file mode 100644 index 000000000..972a1fc9b --- /dev/null +++ b/priv/static/emoji/1f335.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f336.svg b/priv/static/emoji/1f336.svg new file mode 100644 index 000000000..a5f14a3bb --- /dev/null +++ b/priv/static/emoji/1f336.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f337.svg b/priv/static/emoji/1f337.svg new file mode 100644 index 000000000..0c5a2c362 --- /dev/null +++ b/priv/static/emoji/1f337.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f338.svg b/priv/static/emoji/1f338.svg new file mode 100644 index 000000000..8188ae92a --- /dev/null +++ b/priv/static/emoji/1f338.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f339.svg b/priv/static/emoji/1f339.svg new file mode 100644 index 000000000..66a4b9c6a --- /dev/null +++ b/priv/static/emoji/1f339.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f33a.svg b/priv/static/emoji/1f33a.svg new file mode 100644 index 000000000..19e7e3001 --- /dev/null +++ b/priv/static/emoji/1f33a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f33b.svg b/priv/static/emoji/1f33b.svg new file mode 100644 index 000000000..b39eabf1c --- /dev/null +++ b/priv/static/emoji/1f33b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f33c.svg b/priv/static/emoji/1f33c.svg new file mode 100644 index 000000000..3242c56f7 --- /dev/null +++ b/priv/static/emoji/1f33c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f33d.svg b/priv/static/emoji/1f33d.svg new file mode 100644 index 000000000..8e542a038 --- /dev/null +++ b/priv/static/emoji/1f33d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f33e.svg b/priv/static/emoji/1f33e.svg new file mode 100644 index 000000000..ce4151b06 --- /dev/null +++ b/priv/static/emoji/1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f33f.svg b/priv/static/emoji/1f33f.svg new file mode 100644 index 000000000..48fb3f3fd --- /dev/null +++ b/priv/static/emoji/1f33f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f340.svg b/priv/static/emoji/1f340.svg new file mode 100644 index 000000000..1685a7ca1 --- /dev/null +++ b/priv/static/emoji/1f340.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f341.svg b/priv/static/emoji/1f341.svg new file mode 100644 index 000000000..2b65956e1 --- /dev/null +++ b/priv/static/emoji/1f341.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f342.svg b/priv/static/emoji/1f342.svg new file mode 100644 index 000000000..e03bcc4de --- /dev/null +++ b/priv/static/emoji/1f342.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f343.svg b/priv/static/emoji/1f343.svg new file mode 100644 index 000000000..ec4e9d7f6 --- /dev/null +++ b/priv/static/emoji/1f343.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f344.svg b/priv/static/emoji/1f344.svg new file mode 100644 index 000000000..2ebc9dd2e --- /dev/null +++ b/priv/static/emoji/1f344.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f345.svg b/priv/static/emoji/1f345.svg new file mode 100644 index 000000000..6921847d1 --- /dev/null +++ b/priv/static/emoji/1f345.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f346.svg b/priv/static/emoji/1f346.svg new file mode 100644 index 000000000..a6eb93647 --- /dev/null +++ b/priv/static/emoji/1f346.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f347.svg b/priv/static/emoji/1f347.svg new file mode 100644 index 000000000..bbcc06a29 --- /dev/null +++ b/priv/static/emoji/1f347.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f348.svg b/priv/static/emoji/1f348.svg new file mode 100644 index 000000000..ddd15f631 --- /dev/null +++ b/priv/static/emoji/1f348.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f349.svg b/priv/static/emoji/1f349.svg new file mode 100644 index 000000000..4ba2a40d9 --- /dev/null +++ b/priv/static/emoji/1f349.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f34a.svg b/priv/static/emoji/1f34a.svg new file mode 100644 index 000000000..8dc08a76c --- /dev/null +++ b/priv/static/emoji/1f34a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f34b.svg b/priv/static/emoji/1f34b.svg new file mode 100644 index 000000000..6a4aea458 --- /dev/null +++ b/priv/static/emoji/1f34b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f34c.svg b/priv/static/emoji/1f34c.svg new file mode 100644 index 000000000..19a2413fe --- /dev/null +++ b/priv/static/emoji/1f34c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f34d.svg b/priv/static/emoji/1f34d.svg new file mode 100644 index 000000000..ed6150475 --- /dev/null +++ b/priv/static/emoji/1f34d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f34e.svg b/priv/static/emoji/1f34e.svg new file mode 100644 index 000000000..47576d4e5 --- /dev/null +++ b/priv/static/emoji/1f34e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f34f.svg b/priv/static/emoji/1f34f.svg new file mode 100644 index 000000000..821091041 --- /dev/null +++ b/priv/static/emoji/1f34f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f350.svg b/priv/static/emoji/1f350.svg new file mode 100644 index 000000000..161fe7a94 --- /dev/null +++ b/priv/static/emoji/1f350.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f351.svg b/priv/static/emoji/1f351.svg new file mode 100644 index 000000000..2f6beeebe --- /dev/null +++ b/priv/static/emoji/1f351.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f352.svg b/priv/static/emoji/1f352.svg new file mode 100644 index 000000000..ba6f99a59 --- /dev/null +++ b/priv/static/emoji/1f352.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f353.svg b/priv/static/emoji/1f353.svg new file mode 100644 index 000000000..0243a55b7 --- /dev/null +++ b/priv/static/emoji/1f353.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f354.svg b/priv/static/emoji/1f354.svg new file mode 100644 index 000000000..7c954be89 --- /dev/null +++ b/priv/static/emoji/1f354.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f355.svg b/priv/static/emoji/1f355.svg new file mode 100644 index 000000000..1bd819aca --- /dev/null +++ b/priv/static/emoji/1f355.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f356.svg b/priv/static/emoji/1f356.svg new file mode 100644 index 000000000..bb4e72396 --- /dev/null +++ b/priv/static/emoji/1f356.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f357.svg b/priv/static/emoji/1f357.svg new file mode 100644 index 000000000..6096785de --- /dev/null +++ b/priv/static/emoji/1f357.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f358.svg b/priv/static/emoji/1f358.svg new file mode 100644 index 000000000..f59e71bc0 --- /dev/null +++ b/priv/static/emoji/1f358.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f359.svg b/priv/static/emoji/1f359.svg new file mode 100644 index 000000000..7d6ececa8 --- /dev/null +++ b/priv/static/emoji/1f359.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f35a.svg b/priv/static/emoji/1f35a.svg new file mode 100644 index 000000000..ebbc452f5 --- /dev/null +++ b/priv/static/emoji/1f35a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f35b.svg b/priv/static/emoji/1f35b.svg new file mode 100644 index 000000000..f26558101 --- /dev/null +++ b/priv/static/emoji/1f35b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f35c.svg b/priv/static/emoji/1f35c.svg new file mode 100644 index 000000000..f5371889f --- /dev/null +++ b/priv/static/emoji/1f35c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f35d.svg b/priv/static/emoji/1f35d.svg new file mode 100644 index 000000000..6c795af57 --- /dev/null +++ b/priv/static/emoji/1f35d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f35e.svg b/priv/static/emoji/1f35e.svg new file mode 100644 index 000000000..1df731d9d --- /dev/null +++ b/priv/static/emoji/1f35e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f35f.svg b/priv/static/emoji/1f35f.svg new file mode 100644 index 000000000..15661bc92 --- /dev/null +++ b/priv/static/emoji/1f35f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f360.svg b/priv/static/emoji/1f360.svg new file mode 100644 index 000000000..6ad2c8568 --- /dev/null +++ b/priv/static/emoji/1f360.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f361.svg b/priv/static/emoji/1f361.svg new file mode 100644 index 000000000..e74a76be2 --- /dev/null +++ b/priv/static/emoji/1f361.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f362.svg b/priv/static/emoji/1f362.svg new file mode 100644 index 000000000..c7dda46dc --- /dev/null +++ b/priv/static/emoji/1f362.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f363.svg b/priv/static/emoji/1f363.svg new file mode 100644 index 000000000..ec00279f9 --- /dev/null +++ b/priv/static/emoji/1f363.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f364.svg b/priv/static/emoji/1f364.svg new file mode 100644 index 000000000..3bc480d47 --- /dev/null +++ b/priv/static/emoji/1f364.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f365.svg b/priv/static/emoji/1f365.svg new file mode 100644 index 000000000..bd9130486 --- /dev/null +++ b/priv/static/emoji/1f365.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f366.svg b/priv/static/emoji/1f366.svg new file mode 100644 index 000000000..bf9a7609c --- /dev/null +++ b/priv/static/emoji/1f366.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f367.svg b/priv/static/emoji/1f367.svg new file mode 100644 index 000000000..0d3c276dd --- /dev/null +++ b/priv/static/emoji/1f367.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f368.svg b/priv/static/emoji/1f368.svg new file mode 100644 index 000000000..693e2afe7 --- /dev/null +++ b/priv/static/emoji/1f368.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f369.svg b/priv/static/emoji/1f369.svg new file mode 100644 index 000000000..ae1d58f02 --- /dev/null +++ b/priv/static/emoji/1f369.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f36a.svg b/priv/static/emoji/1f36a.svg new file mode 100644 index 000000000..31f6bf342 --- /dev/null +++ b/priv/static/emoji/1f36a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f36b.svg b/priv/static/emoji/1f36b.svg new file mode 100644 index 000000000..1ac9c24d2 --- /dev/null +++ b/priv/static/emoji/1f36b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f36c.svg b/priv/static/emoji/1f36c.svg new file mode 100644 index 000000000..d12a6545a --- /dev/null +++ b/priv/static/emoji/1f36c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f36d.svg b/priv/static/emoji/1f36d.svg new file mode 100644 index 000000000..2dc9f0c59 --- /dev/null +++ b/priv/static/emoji/1f36d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f36e.svg b/priv/static/emoji/1f36e.svg new file mode 100644 index 000000000..4e251e450 --- /dev/null +++ b/priv/static/emoji/1f36e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f36f.svg b/priv/static/emoji/1f36f.svg new file mode 100644 index 000000000..b29e9bf7f --- /dev/null +++ b/priv/static/emoji/1f36f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f370.svg b/priv/static/emoji/1f370.svg new file mode 100644 index 000000000..7156f048d --- /dev/null +++ b/priv/static/emoji/1f370.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f371.svg b/priv/static/emoji/1f371.svg new file mode 100644 index 000000000..da1195afa --- /dev/null +++ b/priv/static/emoji/1f371.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f372.svg b/priv/static/emoji/1f372.svg new file mode 100644 index 000000000..65a5fcacc --- /dev/null +++ b/priv/static/emoji/1f372.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f373.svg b/priv/static/emoji/1f373.svg new file mode 100644 index 000000000..33e20b728 --- /dev/null +++ b/priv/static/emoji/1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f374.svg b/priv/static/emoji/1f374.svg new file mode 100644 index 000000000..3585bc0ea --- /dev/null +++ b/priv/static/emoji/1f374.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f375.svg b/priv/static/emoji/1f375.svg new file mode 100644 index 000000000..deabda3dd --- /dev/null +++ b/priv/static/emoji/1f375.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f376.svg b/priv/static/emoji/1f376.svg new file mode 100644 index 000000000..f8df7b4fb --- /dev/null +++ b/priv/static/emoji/1f376.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f377.svg b/priv/static/emoji/1f377.svg new file mode 100644 index 000000000..4df8c35fa --- /dev/null +++ b/priv/static/emoji/1f377.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f378.svg b/priv/static/emoji/1f378.svg new file mode 100644 index 000000000..ed6ca0eb0 --- /dev/null +++ b/priv/static/emoji/1f378.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f379.svg b/priv/static/emoji/1f379.svg new file mode 100644 index 000000000..7b4f6eebf --- /dev/null +++ b/priv/static/emoji/1f379.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f37a.svg b/priv/static/emoji/1f37a.svg new file mode 100644 index 000000000..575e03bd5 --- /dev/null +++ b/priv/static/emoji/1f37a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f37b.svg b/priv/static/emoji/1f37b.svg new file mode 100644 index 000000000..c4bd4c719 --- /dev/null +++ b/priv/static/emoji/1f37b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f37c.svg b/priv/static/emoji/1f37c.svg new file mode 100644 index 000000000..0f776fcb7 --- /dev/null +++ b/priv/static/emoji/1f37c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f37d.svg b/priv/static/emoji/1f37d.svg new file mode 100644 index 000000000..469593c05 --- /dev/null +++ b/priv/static/emoji/1f37d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f37e.svg b/priv/static/emoji/1f37e.svg new file mode 100644 index 000000000..604147b6e --- /dev/null +++ b/priv/static/emoji/1f37e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f37f.svg b/priv/static/emoji/1f37f.svg new file mode 100644 index 000000000..0902f2880 --- /dev/null +++ b/priv/static/emoji/1f37f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f380.svg b/priv/static/emoji/1f380.svg new file mode 100644 index 000000000..d031920ef --- /dev/null +++ b/priv/static/emoji/1f380.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f381.svg b/priv/static/emoji/1f381.svg new file mode 100644 index 000000000..bbe0fa9e0 --- /dev/null +++ b/priv/static/emoji/1f381.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f382.svg b/priv/static/emoji/1f382.svg new file mode 100644 index 000000000..955152aad --- /dev/null +++ b/priv/static/emoji/1f382.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f383.svg b/priv/static/emoji/1f383.svg new file mode 100644 index 000000000..bdab6d290 --- /dev/null +++ b/priv/static/emoji/1f383.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f384.svg b/priv/static/emoji/1f384.svg new file mode 100644 index 000000000..d8f76bc7f --- /dev/null +++ b/priv/static/emoji/1f384.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f385-1f3fb.svg b/priv/static/emoji/1f385-1f3fb.svg new file mode 100644 index 000000000..2eef1d1d0 --- /dev/null +++ b/priv/static/emoji/1f385-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f385-1f3fc.svg b/priv/static/emoji/1f385-1f3fc.svg new file mode 100644 index 000000000..ce5e991ff --- /dev/null +++ b/priv/static/emoji/1f385-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f385-1f3fd.svg b/priv/static/emoji/1f385-1f3fd.svg new file mode 100644 index 000000000..e6b9f1487 --- /dev/null +++ b/priv/static/emoji/1f385-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f385-1f3fe.svg b/priv/static/emoji/1f385-1f3fe.svg new file mode 100644 index 000000000..4e6a2efeb --- /dev/null +++ b/priv/static/emoji/1f385-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f385-1f3ff.svg b/priv/static/emoji/1f385-1f3ff.svg new file mode 100644 index 000000000..91b20f10b --- /dev/null +++ b/priv/static/emoji/1f385-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f385.svg b/priv/static/emoji/1f385.svg new file mode 100644 index 000000000..55e0d6c56 --- /dev/null +++ b/priv/static/emoji/1f385.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f386.svg b/priv/static/emoji/1f386.svg new file mode 100644 index 000000000..712a7f011 --- /dev/null +++ b/priv/static/emoji/1f386.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f387.svg b/priv/static/emoji/1f387.svg new file mode 100644 index 000000000..3e81c5c2d --- /dev/null +++ b/priv/static/emoji/1f387.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f388.svg b/priv/static/emoji/1f388.svg new file mode 100644 index 000000000..d799bc41b --- /dev/null +++ b/priv/static/emoji/1f388.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f389.svg b/priv/static/emoji/1f389.svg new file mode 100644 index 000000000..0e5d08936 --- /dev/null +++ b/priv/static/emoji/1f389.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f38a.svg b/priv/static/emoji/1f38a.svg new file mode 100644 index 000000000..961ed4fb6 --- /dev/null +++ b/priv/static/emoji/1f38a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f38b.svg b/priv/static/emoji/1f38b.svg new file mode 100644 index 000000000..80bdcf94a --- /dev/null +++ b/priv/static/emoji/1f38b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f38c.svg b/priv/static/emoji/1f38c.svg new file mode 100644 index 000000000..8ec2b57f6 --- /dev/null +++ b/priv/static/emoji/1f38c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f38d.svg b/priv/static/emoji/1f38d.svg new file mode 100644 index 000000000..f3bc7cfe4 --- /dev/null +++ b/priv/static/emoji/1f38d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f38e.svg b/priv/static/emoji/1f38e.svg new file mode 100644 index 000000000..beb21af5c --- /dev/null +++ b/priv/static/emoji/1f38e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f38f.svg b/priv/static/emoji/1f38f.svg new file mode 100644 index 000000000..51c1fbde8 --- /dev/null +++ b/priv/static/emoji/1f38f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f390.svg b/priv/static/emoji/1f390.svg new file mode 100644 index 000000000..f2c5c6ea8 --- /dev/null +++ b/priv/static/emoji/1f390.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f391.svg b/priv/static/emoji/1f391.svg new file mode 100644 index 000000000..5fae1c37b --- /dev/null +++ b/priv/static/emoji/1f391.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f392.svg b/priv/static/emoji/1f392.svg new file mode 100644 index 000000000..67c626e86 --- /dev/null +++ b/priv/static/emoji/1f392.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f393.svg b/priv/static/emoji/1f393.svg new file mode 100644 index 000000000..b3e6d83e1 --- /dev/null +++ b/priv/static/emoji/1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f396.svg b/priv/static/emoji/1f396.svg new file mode 100644 index 000000000..b9102321a --- /dev/null +++ b/priv/static/emoji/1f396.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f397.svg b/priv/static/emoji/1f397.svg new file mode 100644 index 000000000..9c6a7b408 --- /dev/null +++ b/priv/static/emoji/1f397.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f399.svg b/priv/static/emoji/1f399.svg new file mode 100644 index 000000000..853475c23 --- /dev/null +++ b/priv/static/emoji/1f399.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f39a.svg b/priv/static/emoji/1f39a.svg new file mode 100644 index 000000000..28cd6ecd0 --- /dev/null +++ b/priv/static/emoji/1f39a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f39b.svg b/priv/static/emoji/1f39b.svg new file mode 100644 index 000000000..4bb880b27 --- /dev/null +++ b/priv/static/emoji/1f39b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f39e.svg b/priv/static/emoji/1f39e.svg new file mode 100644 index 000000000..2823df68c --- /dev/null +++ b/priv/static/emoji/1f39e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f39f.svg b/priv/static/emoji/1f39f.svg new file mode 100644 index 000000000..59db5eb8c --- /dev/null +++ b/priv/static/emoji/1f39f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3a0.svg b/priv/static/emoji/1f3a0.svg new file mode 100644 index 000000000..fd3e3464f --- /dev/null +++ b/priv/static/emoji/1f3a0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3a1.svg b/priv/static/emoji/1f3a1.svg new file mode 100644 index 000000000..70b23f1e4 --- /dev/null +++ b/priv/static/emoji/1f3a1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3a2.svg b/priv/static/emoji/1f3a2.svg new file mode 100644 index 000000000..350ee1c32 --- /dev/null +++ b/priv/static/emoji/1f3a2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3a3.svg b/priv/static/emoji/1f3a3.svg new file mode 100644 index 000000000..8a4146941 --- /dev/null +++ b/priv/static/emoji/1f3a3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3a4.svg b/priv/static/emoji/1f3a4.svg new file mode 100644 index 000000000..854679bc7 --- /dev/null +++ b/priv/static/emoji/1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3a5.svg b/priv/static/emoji/1f3a5.svg new file mode 100644 index 000000000..7d6255d80 --- /dev/null +++ b/priv/static/emoji/1f3a5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3a6.svg b/priv/static/emoji/1f3a6.svg new file mode 100644 index 000000000..20804c977 --- /dev/null +++ b/priv/static/emoji/1f3a6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3a7.svg b/priv/static/emoji/1f3a7.svg new file mode 100644 index 000000000..ef591d6b1 --- /dev/null +++ b/priv/static/emoji/1f3a7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3a8.svg b/priv/static/emoji/1f3a8.svg new file mode 100644 index 000000000..184cb761b --- /dev/null +++ b/priv/static/emoji/1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3a9.svg b/priv/static/emoji/1f3a9.svg new file mode 100644 index 000000000..6fd99395d --- /dev/null +++ b/priv/static/emoji/1f3a9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3aa.svg b/priv/static/emoji/1f3aa.svg new file mode 100644 index 000000000..e68ca8a78 --- /dev/null +++ b/priv/static/emoji/1f3aa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ab.svg b/priv/static/emoji/1f3ab.svg new file mode 100644 index 000000000..c29ba2917 --- /dev/null +++ b/priv/static/emoji/1f3ab.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ac.svg b/priv/static/emoji/1f3ac.svg new file mode 100644 index 000000000..1a91c024e --- /dev/null +++ b/priv/static/emoji/1f3ac.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ad.svg b/priv/static/emoji/1f3ad.svg new file mode 100644 index 000000000..de1ca17bb --- /dev/null +++ b/priv/static/emoji/1f3ad.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ae.svg b/priv/static/emoji/1f3ae.svg new file mode 100644 index 000000000..c96c63589 --- /dev/null +++ b/priv/static/emoji/1f3ae.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3af.svg b/priv/static/emoji/1f3af.svg new file mode 100644 index 000000000..fffbf85a5 --- /dev/null +++ b/priv/static/emoji/1f3af.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3b0.svg b/priv/static/emoji/1f3b0.svg new file mode 100644 index 000000000..94d62408f --- /dev/null +++ b/priv/static/emoji/1f3b0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3b1.svg b/priv/static/emoji/1f3b1.svg new file mode 100644 index 000000000..29ad50683 --- /dev/null +++ b/priv/static/emoji/1f3b1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3b2.svg b/priv/static/emoji/1f3b2.svg new file mode 100644 index 000000000..036835dc7 --- /dev/null +++ b/priv/static/emoji/1f3b2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3b3.svg b/priv/static/emoji/1f3b3.svg new file mode 100644 index 000000000..997b5d309 --- /dev/null +++ b/priv/static/emoji/1f3b3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3b4.svg b/priv/static/emoji/1f3b4.svg new file mode 100644 index 000000000..e0dcba142 --- /dev/null +++ b/priv/static/emoji/1f3b4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3b5.svg b/priv/static/emoji/1f3b5.svg new file mode 100644 index 000000000..d748d57ac --- /dev/null +++ b/priv/static/emoji/1f3b5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3b6.svg b/priv/static/emoji/1f3b6.svg new file mode 100644 index 000000000..f1e96a143 --- /dev/null +++ b/priv/static/emoji/1f3b6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3b7.svg b/priv/static/emoji/1f3b7.svg new file mode 100644 index 000000000..146331c50 --- /dev/null +++ b/priv/static/emoji/1f3b7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3b8.svg b/priv/static/emoji/1f3b8.svg new file mode 100644 index 000000000..9253fa712 --- /dev/null +++ b/priv/static/emoji/1f3b8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3b9.svg b/priv/static/emoji/1f3b9.svg new file mode 100644 index 000000000..f3dc5d6fb --- /dev/null +++ b/priv/static/emoji/1f3b9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ba.svg b/priv/static/emoji/1f3ba.svg new file mode 100644 index 000000000..69c96b2bc --- /dev/null +++ b/priv/static/emoji/1f3ba.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3bb.svg b/priv/static/emoji/1f3bb.svg new file mode 100644 index 000000000..bb41fa03a --- /dev/null +++ b/priv/static/emoji/1f3bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3bc.svg b/priv/static/emoji/1f3bc.svg new file mode 100644 index 000000000..5a6b2c543 --- /dev/null +++ b/priv/static/emoji/1f3bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3bd.svg b/priv/static/emoji/1f3bd.svg new file mode 100644 index 000000000..5afc205fc --- /dev/null +++ b/priv/static/emoji/1f3bd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3be.svg b/priv/static/emoji/1f3be.svg new file mode 100644 index 000000000..a32596c85 --- /dev/null +++ b/priv/static/emoji/1f3be.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3bf.svg b/priv/static/emoji/1f3bf.svg new file mode 100644 index 000000000..8fc9b173d --- /dev/null +++ b/priv/static/emoji/1f3bf.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c0.svg b/priv/static/emoji/1f3c0.svg new file mode 100644 index 000000000..19fe48e47 --- /dev/null +++ b/priv/static/emoji/1f3c0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c1.svg b/priv/static/emoji/1f3c1.svg new file mode 100644 index 000000000..a8b271864 --- /dev/null +++ b/priv/static/emoji/1f3c1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c2-1f3fb.svg b/priv/static/emoji/1f3c2-1f3fb.svg new file mode 100644 index 000000000..80f18eae4 --- /dev/null +++ b/priv/static/emoji/1f3c2-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c2-1f3fc.svg b/priv/static/emoji/1f3c2-1f3fc.svg new file mode 100644 index 000000000..d9d27bd1b --- /dev/null +++ b/priv/static/emoji/1f3c2-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c2-1f3fd.svg b/priv/static/emoji/1f3c2-1f3fd.svg new file mode 100644 index 000000000..93bdecc58 --- /dev/null +++ b/priv/static/emoji/1f3c2-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c2-1f3fe.svg b/priv/static/emoji/1f3c2-1f3fe.svg new file mode 100644 index 000000000..076c81b98 --- /dev/null +++ b/priv/static/emoji/1f3c2-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c2-1f3ff.svg b/priv/static/emoji/1f3c2-1f3ff.svg new file mode 100644 index 000000000..b2d6ad96e --- /dev/null +++ b/priv/static/emoji/1f3c2-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c2.svg b/priv/static/emoji/1f3c2.svg new file mode 100644 index 000000000..7239e1252 --- /dev/null +++ b/priv/static/emoji/1f3c2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f3c3-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..570fc7cc0 --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f3c3-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..dfff62b71 --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fb.svg b/priv/static/emoji/1f3c3-1f3fb.svg new file mode 100644 index 000000000..dfff62b71 --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f3c3-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..ab219949d --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f3c3-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..093f4ba69 --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fc.svg b/priv/static/emoji/1f3c3-1f3fc.svg new file mode 100644 index 000000000..093f4ba69 --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f3c3-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..c7d77e2af --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f3c3-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..fc486856e --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fd.svg b/priv/static/emoji/1f3c3-1f3fd.svg new file mode 100644 index 000000000..fc486856e --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f3c3-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..ec6cb8d7b --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f3c3-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..ebf10ebde --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3fe.svg b/priv/static/emoji/1f3c3-1f3fe.svg new file mode 100644 index 000000000..ebf10ebde --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f3c3-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..6a6be6cb8 --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f3c3-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..870bf9f5b --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-1f3ff.svg b/priv/static/emoji/1f3c3-1f3ff.svg new file mode 100644 index 000000000..870bf9f5b --- /dev/null +++ b/priv/static/emoji/1f3c3-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-200d-2640-fe0f.svg b/priv/static/emoji/1f3c3-200d-2640-fe0f.svg new file mode 100644 index 000000000..267f23f2a --- /dev/null +++ b/priv/static/emoji/1f3c3-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3-200d-2642-fe0f.svg b/priv/static/emoji/1f3c3-200d-2642-fe0f.svg new file mode 100644 index 000000000..2916e5897 --- /dev/null +++ b/priv/static/emoji/1f3c3-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c3.svg b/priv/static/emoji/1f3c3.svg new file mode 100644 index 000000000..2916e5897 --- /dev/null +++ b/priv/static/emoji/1f3c3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f3c4-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..1e6a1bb30 --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f3c4-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..10680958e --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fb.svg b/priv/static/emoji/1f3c4-1f3fb.svg new file mode 100644 index 000000000..10680958e --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f3c4-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..63730d1c0 --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f3c4-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..02facb5ce --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fc.svg b/priv/static/emoji/1f3c4-1f3fc.svg new file mode 100644 index 000000000..02facb5ce --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f3c4-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..03e18b72d --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f3c4-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..bf3a8b32b --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fd.svg b/priv/static/emoji/1f3c4-1f3fd.svg new file mode 100644 index 000000000..bf3a8b32b --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f3c4-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..866a81364 --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f3c4-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..d3529de70 --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3fe.svg b/priv/static/emoji/1f3c4-1f3fe.svg new file mode 100644 index 000000000..d3529de70 --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f3c4-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..40c4e2605 --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f3c4-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..5c4f2a5e4 --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-1f3ff.svg b/priv/static/emoji/1f3c4-1f3ff.svg new file mode 100644 index 000000000..5c4f2a5e4 --- /dev/null +++ b/priv/static/emoji/1f3c4-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-200d-2640-fe0f.svg b/priv/static/emoji/1f3c4-200d-2640-fe0f.svg new file mode 100644 index 000000000..ea334a12a --- /dev/null +++ b/priv/static/emoji/1f3c4-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4-200d-2642-fe0f.svg b/priv/static/emoji/1f3c4-200d-2642-fe0f.svg new file mode 100644 index 000000000..88bd36f1a --- /dev/null +++ b/priv/static/emoji/1f3c4-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c4.svg b/priv/static/emoji/1f3c4.svg new file mode 100644 index 000000000..88bd36f1a --- /dev/null +++ b/priv/static/emoji/1f3c4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c5.svg b/priv/static/emoji/1f3c5.svg new file mode 100644 index 000000000..1514714dc --- /dev/null +++ b/priv/static/emoji/1f3c5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c6.svg b/priv/static/emoji/1f3c6.svg new file mode 100644 index 000000000..6ecc234af --- /dev/null +++ b/priv/static/emoji/1f3c6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c7-1f3fb.svg b/priv/static/emoji/1f3c7-1f3fb.svg new file mode 100644 index 000000000..47ac7e418 --- /dev/null +++ b/priv/static/emoji/1f3c7-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c7-1f3fc.svg b/priv/static/emoji/1f3c7-1f3fc.svg new file mode 100644 index 000000000..b8509d9d1 --- /dev/null +++ b/priv/static/emoji/1f3c7-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c7-1f3fd.svg b/priv/static/emoji/1f3c7-1f3fd.svg new file mode 100644 index 000000000..67944e288 --- /dev/null +++ b/priv/static/emoji/1f3c7-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c7-1f3fe.svg b/priv/static/emoji/1f3c7-1f3fe.svg new file mode 100644 index 000000000..5bea32d7c --- /dev/null +++ b/priv/static/emoji/1f3c7-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c7-1f3ff.svg b/priv/static/emoji/1f3c7-1f3ff.svg new file mode 100644 index 000000000..a6c6031f7 --- /dev/null +++ b/priv/static/emoji/1f3c7-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c7.svg b/priv/static/emoji/1f3c7.svg new file mode 100644 index 000000000..b6b0ecc8e --- /dev/null +++ b/priv/static/emoji/1f3c7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c8.svg b/priv/static/emoji/1f3c8.svg new file mode 100644 index 000000000..3a7e9ea5c --- /dev/null +++ b/priv/static/emoji/1f3c8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3c9.svg b/priv/static/emoji/1f3c9.svg new file mode 100644 index 000000000..c61d5e104 --- /dev/null +++ b/priv/static/emoji/1f3c9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f3ca-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..b566b0b49 --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f3ca-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..4adae1bee --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fb.svg b/priv/static/emoji/1f3ca-1f3fb.svg new file mode 100644 index 000000000..4adae1bee --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f3ca-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..938af613b --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f3ca-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..b7bad3195 --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fc.svg b/priv/static/emoji/1f3ca-1f3fc.svg new file mode 100644 index 000000000..b7bad3195 --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f3ca-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..fb1f38e4b --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f3ca-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..87d970d38 --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fd.svg b/priv/static/emoji/1f3ca-1f3fd.svg new file mode 100644 index 000000000..87d970d38 --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f3ca-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..c50640082 --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f3ca-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..68084d89a --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3fe.svg b/priv/static/emoji/1f3ca-1f3fe.svg new file mode 100644 index 000000000..68084d89a --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f3ca-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..7f97b5f07 --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f3ca-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..0e93a98c9 --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-1f3ff.svg b/priv/static/emoji/1f3ca-1f3ff.svg new file mode 100644 index 000000000..0e93a98c9 --- /dev/null +++ b/priv/static/emoji/1f3ca-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-200d-2640-fe0f.svg b/priv/static/emoji/1f3ca-200d-2640-fe0f.svg new file mode 100644 index 000000000..1d4abfd76 --- /dev/null +++ b/priv/static/emoji/1f3ca-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca-200d-2642-fe0f.svg b/priv/static/emoji/1f3ca-200d-2642-fe0f.svg new file mode 100644 index 000000000..7611ea22a --- /dev/null +++ b/priv/static/emoji/1f3ca-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ca.svg b/priv/static/emoji/1f3ca.svg new file mode 100644 index 000000000..7611ea22a --- /dev/null +++ b/priv/static/emoji/1f3ca.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f3cb-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..70fdc084f --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f3cb-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..3938ed9cc --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fb.svg b/priv/static/emoji/1f3cb-1f3fb.svg new file mode 100644 index 000000000..3938ed9cc --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f3cb-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..5f8438793 --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f3cb-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..11f1a1728 --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fc.svg b/priv/static/emoji/1f3cb-1f3fc.svg new file mode 100644 index 000000000..11f1a1728 --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f3cb-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..310e48533 --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f3cb-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..8f7a55728 --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fd.svg b/priv/static/emoji/1f3cb-1f3fd.svg new file mode 100644 index 000000000..8f7a55728 --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f3cb-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..7026af4e9 --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f3cb-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..4e06d696b --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3fe.svg b/priv/static/emoji/1f3cb-1f3fe.svg new file mode 100644 index 000000000..4e06d696b --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f3cb-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..27cfbeef6 --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f3cb-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..08e998ed9 --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-1f3ff.svg b/priv/static/emoji/1f3cb-1f3ff.svg new file mode 100644 index 000000000..08e998ed9 --- /dev/null +++ b/priv/static/emoji/1f3cb-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-fe0f-200d-2640-fe0f.svg b/priv/static/emoji/1f3cb-fe0f-200d-2640-fe0f.svg new file mode 100644 index 000000000..3e6f21e92 --- /dev/null +++ b/priv/static/emoji/1f3cb-fe0f-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb-fe0f-200d-2642-fe0f.svg b/priv/static/emoji/1f3cb-fe0f-200d-2642-fe0f.svg new file mode 100644 index 000000000..01306a753 --- /dev/null +++ b/priv/static/emoji/1f3cb-fe0f-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cb.svg b/priv/static/emoji/1f3cb.svg new file mode 100644 index 000000000..01306a753 --- /dev/null +++ b/priv/static/emoji/1f3cb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f3cc-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..24b0ade25 --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f3cc-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..ca733cb95 --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fb.svg b/priv/static/emoji/1f3cc-1f3fb.svg new file mode 100644 index 000000000..ca733cb95 --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f3cc-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..e3379b1e3 --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f3cc-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..c0c794162 --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fc.svg b/priv/static/emoji/1f3cc-1f3fc.svg new file mode 100644 index 000000000..c0c794162 --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f3cc-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..0fb927c82 --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f3cc-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..6e67fa7ab --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fd.svg b/priv/static/emoji/1f3cc-1f3fd.svg new file mode 100644 index 000000000..6e67fa7ab --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f3cc-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..150fc0e21 --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f3cc-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..c891ce67a --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3fe.svg b/priv/static/emoji/1f3cc-1f3fe.svg new file mode 100644 index 000000000..c891ce67a --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f3cc-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..78031ea85 --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f3cc-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..703b6c66e --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-1f3ff.svg b/priv/static/emoji/1f3cc-1f3ff.svg new file mode 100644 index 000000000..703b6c66e --- /dev/null +++ b/priv/static/emoji/1f3cc-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-fe0f-200d-2640-fe0f.svg b/priv/static/emoji/1f3cc-fe0f-200d-2640-fe0f.svg new file mode 100644 index 000000000..a51cba2e1 --- /dev/null +++ b/priv/static/emoji/1f3cc-fe0f-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc-fe0f-200d-2642-fe0f.svg b/priv/static/emoji/1f3cc-fe0f-200d-2642-fe0f.svg new file mode 100644 index 000000000..23c4ae77e --- /dev/null +++ b/priv/static/emoji/1f3cc-fe0f-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cc.svg b/priv/static/emoji/1f3cc.svg new file mode 100644 index 000000000..23c4ae77e --- /dev/null +++ b/priv/static/emoji/1f3cc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cd.svg b/priv/static/emoji/1f3cd.svg new file mode 100644 index 000000000..7384d6b0e --- /dev/null +++ b/priv/static/emoji/1f3cd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ce.svg b/priv/static/emoji/1f3ce.svg new file mode 100644 index 000000000..3fc893c90 --- /dev/null +++ b/priv/static/emoji/1f3ce.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3cf.svg b/priv/static/emoji/1f3cf.svg new file mode 100644 index 000000000..c9f934012 --- /dev/null +++ b/priv/static/emoji/1f3cf.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3d0.svg b/priv/static/emoji/1f3d0.svg new file mode 100644 index 000000000..6f3923c6a --- /dev/null +++ b/priv/static/emoji/1f3d0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3d1.svg b/priv/static/emoji/1f3d1.svg new file mode 100644 index 000000000..3cd95b299 --- /dev/null +++ b/priv/static/emoji/1f3d1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3d2.svg b/priv/static/emoji/1f3d2.svg new file mode 100644 index 000000000..25513203c --- /dev/null +++ b/priv/static/emoji/1f3d2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3d3.svg b/priv/static/emoji/1f3d3.svg new file mode 100644 index 000000000..f9fe5dedb --- /dev/null +++ b/priv/static/emoji/1f3d3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3d4.svg b/priv/static/emoji/1f3d4.svg new file mode 100644 index 000000000..06a703edb --- /dev/null +++ b/priv/static/emoji/1f3d4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3d5.svg b/priv/static/emoji/1f3d5.svg new file mode 100644 index 000000000..2aec636dc --- /dev/null +++ b/priv/static/emoji/1f3d5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3d6.svg b/priv/static/emoji/1f3d6.svg new file mode 100644 index 000000000..0e9cc8076 --- /dev/null +++ b/priv/static/emoji/1f3d6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3d7.svg b/priv/static/emoji/1f3d7.svg new file mode 100644 index 000000000..271e35a24 --- /dev/null +++ b/priv/static/emoji/1f3d7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3d8.svg b/priv/static/emoji/1f3d8.svg new file mode 100644 index 000000000..805e0aa14 --- /dev/null +++ b/priv/static/emoji/1f3d8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3d9.svg b/priv/static/emoji/1f3d9.svg new file mode 100644 index 000000000..b740e61a2 --- /dev/null +++ b/priv/static/emoji/1f3d9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3da.svg b/priv/static/emoji/1f3da.svg new file mode 100644 index 000000000..df78c98e8 --- /dev/null +++ b/priv/static/emoji/1f3da.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3db.svg b/priv/static/emoji/1f3db.svg new file mode 100644 index 000000000..85a798427 --- /dev/null +++ b/priv/static/emoji/1f3db.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3dc.svg b/priv/static/emoji/1f3dc.svg new file mode 100644 index 000000000..5dd33f2b9 --- /dev/null +++ b/priv/static/emoji/1f3dc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3dd.svg b/priv/static/emoji/1f3dd.svg new file mode 100644 index 000000000..ef5d06435 --- /dev/null +++ b/priv/static/emoji/1f3dd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3de.svg b/priv/static/emoji/1f3de.svg new file mode 100644 index 000000000..d0d38a8a1 --- /dev/null +++ b/priv/static/emoji/1f3de.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3df.svg b/priv/static/emoji/1f3df.svg new file mode 100644 index 000000000..4b9818a8e --- /dev/null +++ b/priv/static/emoji/1f3df.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3e0.svg b/priv/static/emoji/1f3e0.svg new file mode 100644 index 000000000..c6b274a31 --- /dev/null +++ b/priv/static/emoji/1f3e0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3e1.svg b/priv/static/emoji/1f3e1.svg new file mode 100644 index 000000000..b7fb3cc8a --- /dev/null +++ b/priv/static/emoji/1f3e1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3e2.svg b/priv/static/emoji/1f3e2.svg new file mode 100644 index 000000000..71a433061 --- /dev/null +++ b/priv/static/emoji/1f3e2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3e3.svg b/priv/static/emoji/1f3e3.svg new file mode 100644 index 000000000..697b1bd85 --- /dev/null +++ b/priv/static/emoji/1f3e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3e4.svg b/priv/static/emoji/1f3e4.svg new file mode 100644 index 000000000..62040366a --- /dev/null +++ b/priv/static/emoji/1f3e4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3e5.svg b/priv/static/emoji/1f3e5.svg new file mode 100644 index 000000000..f115d2de4 --- /dev/null +++ b/priv/static/emoji/1f3e5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3e6.svg b/priv/static/emoji/1f3e6.svg new file mode 100644 index 000000000..99f5f1ff0 --- /dev/null +++ b/priv/static/emoji/1f3e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3e7.svg b/priv/static/emoji/1f3e7.svg new file mode 100644 index 000000000..520b82114 --- /dev/null +++ b/priv/static/emoji/1f3e7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3e8.svg b/priv/static/emoji/1f3e8.svg new file mode 100644 index 000000000..667bffaf7 --- /dev/null +++ b/priv/static/emoji/1f3e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3e9.svg b/priv/static/emoji/1f3e9.svg new file mode 100644 index 000000000..036f2cb6e --- /dev/null +++ b/priv/static/emoji/1f3e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ea.svg b/priv/static/emoji/1f3ea.svg new file mode 100644 index 000000000..73b362028 --- /dev/null +++ b/priv/static/emoji/1f3ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3eb.svg b/priv/static/emoji/1f3eb.svg new file mode 100644 index 000000000..e02359f96 --- /dev/null +++ b/priv/static/emoji/1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ec.svg b/priv/static/emoji/1f3ec.svg new file mode 100644 index 000000000..da4dac448 --- /dev/null +++ b/priv/static/emoji/1f3ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ed.svg b/priv/static/emoji/1f3ed.svg new file mode 100644 index 000000000..2303b92e1 --- /dev/null +++ b/priv/static/emoji/1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ee.svg b/priv/static/emoji/1f3ee.svg new file mode 100644 index 000000000..3fa57346b --- /dev/null +++ b/priv/static/emoji/1f3ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ef.svg b/priv/static/emoji/1f3ef.svg new file mode 100644 index 000000000..19127e6ff --- /dev/null +++ b/priv/static/emoji/1f3ef.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f0.svg b/priv/static/emoji/1f3f0.svg new file mode 100644 index 000000000..a8a08cdc2 --- /dev/null +++ b/priv/static/emoji/1f3f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f3-fe0f-200d-1f308.svg b/priv/static/emoji/1f3f3-fe0f-200d-1f308.svg new file mode 100644 index 000000000..f3994d389 --- /dev/null +++ b/priv/static/emoji/1f3f3-fe0f-200d-1f308.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f3.svg b/priv/static/emoji/1f3f3.svg new file mode 100644 index 000000000..2c792674e --- /dev/null +++ b/priv/static/emoji/1f3f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f4-200d-2620-fe0f.svg b/priv/static/emoji/1f3f4-200d-2620-fe0f.svg new file mode 100644 index 000000000..4c8a34344 --- /dev/null +++ b/priv/static/emoji/1f3f4-200d-2620-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg b/priv/static/emoji/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg new file mode 100644 index 000000000..a929886b8 --- /dev/null +++ b/priv/static/emoji/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg b/priv/static/emoji/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg new file mode 100644 index 000000000..f732be741 --- /dev/null +++ b/priv/static/emoji/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg b/priv/static/emoji/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg new file mode 100644 index 000000000..76ac4e04f --- /dev/null +++ b/priv/static/emoji/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f4.svg b/priv/static/emoji/1f3f4.svg new file mode 100644 index 000000000..82a6942b3 --- /dev/null +++ b/priv/static/emoji/1f3f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f5.svg b/priv/static/emoji/1f3f5.svg new file mode 100644 index 000000000..624353dea --- /dev/null +++ b/priv/static/emoji/1f3f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f7.svg b/priv/static/emoji/1f3f7.svg new file mode 100644 index 000000000..3851970f9 --- /dev/null +++ b/priv/static/emoji/1f3f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f8.svg b/priv/static/emoji/1f3f8.svg new file mode 100644 index 000000000..e4ade6338 --- /dev/null +++ b/priv/static/emoji/1f3f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3f9.svg b/priv/static/emoji/1f3f9.svg new file mode 100644 index 000000000..bc367fc4e --- /dev/null +++ b/priv/static/emoji/1f3f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3fa.svg b/priv/static/emoji/1f3fa.svg new file mode 100644 index 000000000..e2c6cd44f --- /dev/null +++ b/priv/static/emoji/1f3fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3fb.svg b/priv/static/emoji/1f3fb.svg new file mode 100644 index 000000000..dd5723819 --- /dev/null +++ b/priv/static/emoji/1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3fc.svg b/priv/static/emoji/1f3fc.svg new file mode 100644 index 000000000..635292095 --- /dev/null +++ b/priv/static/emoji/1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3fd.svg b/priv/static/emoji/1f3fd.svg new file mode 100644 index 000000000..efeab639c --- /dev/null +++ b/priv/static/emoji/1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3fe.svg b/priv/static/emoji/1f3fe.svg new file mode 100644 index 000000000..ac82ddb05 --- /dev/null +++ b/priv/static/emoji/1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f3ff.svg b/priv/static/emoji/1f3ff.svg new file mode 100644 index 000000000..d0683b427 --- /dev/null +++ b/priv/static/emoji/1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f400.svg b/priv/static/emoji/1f400.svg new file mode 100644 index 000000000..b3a80271c --- /dev/null +++ b/priv/static/emoji/1f400.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f401.svg b/priv/static/emoji/1f401.svg new file mode 100644 index 000000000..54852c8f4 --- /dev/null +++ b/priv/static/emoji/1f401.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f402.svg b/priv/static/emoji/1f402.svg new file mode 100644 index 000000000..b06f60b19 --- /dev/null +++ b/priv/static/emoji/1f402.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f403.svg b/priv/static/emoji/1f403.svg new file mode 100644 index 000000000..cc5483e9f --- /dev/null +++ b/priv/static/emoji/1f403.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f404.svg b/priv/static/emoji/1f404.svg new file mode 100644 index 000000000..d0dca2b50 --- /dev/null +++ b/priv/static/emoji/1f404.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f405.svg b/priv/static/emoji/1f405.svg new file mode 100644 index 000000000..383ee31f8 --- /dev/null +++ b/priv/static/emoji/1f405.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f406.svg b/priv/static/emoji/1f406.svg new file mode 100644 index 000000000..59a2e0585 --- /dev/null +++ b/priv/static/emoji/1f406.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f407.svg b/priv/static/emoji/1f407.svg new file mode 100644 index 000000000..54f4d6965 --- /dev/null +++ b/priv/static/emoji/1f407.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f408.svg b/priv/static/emoji/1f408.svg new file mode 100644 index 000000000..68fe8f2a1 --- /dev/null +++ b/priv/static/emoji/1f408.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f409.svg b/priv/static/emoji/1f409.svg new file mode 100644 index 000000000..ab05374fb --- /dev/null +++ b/priv/static/emoji/1f409.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f40a.svg b/priv/static/emoji/1f40a.svg new file mode 100644 index 000000000..1d3f3be01 --- /dev/null +++ b/priv/static/emoji/1f40a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f40b.svg b/priv/static/emoji/1f40b.svg new file mode 100644 index 000000000..b6d3c6032 --- /dev/null +++ b/priv/static/emoji/1f40b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f40c.svg b/priv/static/emoji/1f40c.svg new file mode 100644 index 000000000..75393adf4 --- /dev/null +++ b/priv/static/emoji/1f40c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f40d.svg b/priv/static/emoji/1f40d.svg new file mode 100644 index 000000000..7e2fc51c2 --- /dev/null +++ b/priv/static/emoji/1f40d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f40e.svg b/priv/static/emoji/1f40e.svg new file mode 100644 index 000000000..ac2eab05a --- /dev/null +++ b/priv/static/emoji/1f40e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f40f.svg b/priv/static/emoji/1f40f.svg new file mode 100644 index 000000000..590560909 --- /dev/null +++ b/priv/static/emoji/1f40f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f410.svg b/priv/static/emoji/1f410.svg new file mode 100644 index 000000000..056f6ba06 --- /dev/null +++ b/priv/static/emoji/1f410.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f411.svg b/priv/static/emoji/1f411.svg new file mode 100644 index 000000000..58cf59a30 --- /dev/null +++ b/priv/static/emoji/1f411.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f412.svg b/priv/static/emoji/1f412.svg new file mode 100644 index 000000000..f6335f367 --- /dev/null +++ b/priv/static/emoji/1f412.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f413.svg b/priv/static/emoji/1f413.svg new file mode 100644 index 000000000..b952ce5be --- /dev/null +++ b/priv/static/emoji/1f413.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f414.svg b/priv/static/emoji/1f414.svg new file mode 100644 index 000000000..1fd133345 --- /dev/null +++ b/priv/static/emoji/1f414.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f415.svg b/priv/static/emoji/1f415.svg new file mode 100644 index 000000000..3626f8a36 --- /dev/null +++ b/priv/static/emoji/1f415.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f416.svg b/priv/static/emoji/1f416.svg new file mode 100644 index 000000000..d6fbe7c17 --- /dev/null +++ b/priv/static/emoji/1f416.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f417.svg b/priv/static/emoji/1f417.svg new file mode 100644 index 000000000..39715ce4e --- /dev/null +++ b/priv/static/emoji/1f417.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f418.svg b/priv/static/emoji/1f418.svg new file mode 100644 index 000000000..595a80805 --- /dev/null +++ b/priv/static/emoji/1f418.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f419.svg b/priv/static/emoji/1f419.svg new file mode 100644 index 000000000..0f00d078e --- /dev/null +++ b/priv/static/emoji/1f419.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f41a.svg b/priv/static/emoji/1f41a.svg new file mode 100644 index 000000000..e4aef0416 --- /dev/null +++ b/priv/static/emoji/1f41a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f41b.svg b/priv/static/emoji/1f41b.svg new file mode 100644 index 000000000..ddc70682e --- /dev/null +++ b/priv/static/emoji/1f41b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f41c.svg b/priv/static/emoji/1f41c.svg new file mode 100644 index 000000000..8d8d18afd --- /dev/null +++ b/priv/static/emoji/1f41c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f41d.svg b/priv/static/emoji/1f41d.svg new file mode 100644 index 000000000..956227a51 --- /dev/null +++ b/priv/static/emoji/1f41d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f41e.svg b/priv/static/emoji/1f41e.svg new file mode 100644 index 000000000..179f097dd --- /dev/null +++ b/priv/static/emoji/1f41e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f41f.svg b/priv/static/emoji/1f41f.svg new file mode 100644 index 000000000..4ad051562 --- /dev/null +++ b/priv/static/emoji/1f41f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f420.svg b/priv/static/emoji/1f420.svg new file mode 100644 index 000000000..0dc45ffe7 --- /dev/null +++ b/priv/static/emoji/1f420.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f421.svg b/priv/static/emoji/1f421.svg new file mode 100644 index 000000000..1c24b12d0 --- /dev/null +++ b/priv/static/emoji/1f421.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f422.svg b/priv/static/emoji/1f422.svg new file mode 100644 index 000000000..4ad52f2ee --- /dev/null +++ b/priv/static/emoji/1f422.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f423.svg b/priv/static/emoji/1f423.svg new file mode 100644 index 000000000..b3635cdd0 --- /dev/null +++ b/priv/static/emoji/1f423.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f424.svg b/priv/static/emoji/1f424.svg new file mode 100644 index 000000000..976679286 --- /dev/null +++ b/priv/static/emoji/1f424.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f425.svg b/priv/static/emoji/1f425.svg new file mode 100644 index 000000000..24dbec2aa --- /dev/null +++ b/priv/static/emoji/1f425.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f426.svg b/priv/static/emoji/1f426.svg new file mode 100644 index 000000000..2760fec59 --- /dev/null +++ b/priv/static/emoji/1f426.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f427.svg b/priv/static/emoji/1f427.svg new file mode 100644 index 000000000..b83882c12 --- /dev/null +++ b/priv/static/emoji/1f427.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f428.svg b/priv/static/emoji/1f428.svg new file mode 100644 index 000000000..9a54a0d28 --- /dev/null +++ b/priv/static/emoji/1f428.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f429.svg b/priv/static/emoji/1f429.svg new file mode 100644 index 000000000..33c5b7ec0 --- /dev/null +++ b/priv/static/emoji/1f429.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f42a.svg b/priv/static/emoji/1f42a.svg new file mode 100644 index 000000000..e7f97340d --- /dev/null +++ b/priv/static/emoji/1f42a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f42b.svg b/priv/static/emoji/1f42b.svg new file mode 100644 index 000000000..a6b76e272 --- /dev/null +++ b/priv/static/emoji/1f42b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f42c.svg b/priv/static/emoji/1f42c.svg new file mode 100644 index 000000000..dc57e89ab --- /dev/null +++ b/priv/static/emoji/1f42c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f42d.svg b/priv/static/emoji/1f42d.svg new file mode 100644 index 000000000..60fec435e --- /dev/null +++ b/priv/static/emoji/1f42d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f42e.svg b/priv/static/emoji/1f42e.svg new file mode 100644 index 000000000..a3d5d0305 --- /dev/null +++ b/priv/static/emoji/1f42e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f42f.svg b/priv/static/emoji/1f42f.svg new file mode 100644 index 000000000..934ec15ec --- /dev/null +++ b/priv/static/emoji/1f42f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f430.svg b/priv/static/emoji/1f430.svg new file mode 100644 index 000000000..4d80f7cb5 --- /dev/null +++ b/priv/static/emoji/1f430.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f431.svg b/priv/static/emoji/1f431.svg new file mode 100644 index 000000000..7576d6bf3 --- /dev/null +++ b/priv/static/emoji/1f431.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f432.svg b/priv/static/emoji/1f432.svg new file mode 100644 index 000000000..4f099dc73 --- /dev/null +++ b/priv/static/emoji/1f432.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f433.svg b/priv/static/emoji/1f433.svg new file mode 100644 index 000000000..6085b4793 --- /dev/null +++ b/priv/static/emoji/1f433.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f434.svg b/priv/static/emoji/1f434.svg new file mode 100644 index 000000000..ae0185799 --- /dev/null +++ b/priv/static/emoji/1f434.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f435.svg b/priv/static/emoji/1f435.svg new file mode 100644 index 000000000..671de74ec --- /dev/null +++ b/priv/static/emoji/1f435.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f436.svg b/priv/static/emoji/1f436.svg new file mode 100644 index 000000000..d30951d4e --- /dev/null +++ b/priv/static/emoji/1f436.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f437.svg b/priv/static/emoji/1f437.svg new file mode 100644 index 000000000..41fe6ff8a --- /dev/null +++ b/priv/static/emoji/1f437.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f438.svg b/priv/static/emoji/1f438.svg new file mode 100644 index 000000000..4b2e5bbb8 --- /dev/null +++ b/priv/static/emoji/1f438.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f439.svg b/priv/static/emoji/1f439.svg new file mode 100644 index 000000000..a61817e29 --- /dev/null +++ b/priv/static/emoji/1f439.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f43a.svg b/priv/static/emoji/1f43a.svg new file mode 100644 index 000000000..5287eeea7 --- /dev/null +++ b/priv/static/emoji/1f43a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f43b.svg b/priv/static/emoji/1f43b.svg new file mode 100644 index 000000000..5b3c33d01 --- /dev/null +++ b/priv/static/emoji/1f43b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f43c.svg b/priv/static/emoji/1f43c.svg new file mode 100644 index 000000000..f8964d903 --- /dev/null +++ b/priv/static/emoji/1f43c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f43d.svg b/priv/static/emoji/1f43d.svg new file mode 100644 index 000000000..57642b28a --- /dev/null +++ b/priv/static/emoji/1f43d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f43e.svg b/priv/static/emoji/1f43e.svg new file mode 100644 index 000000000..846abe58e --- /dev/null +++ b/priv/static/emoji/1f43e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f43f.svg b/priv/static/emoji/1f43f.svg new file mode 100644 index 000000000..1363021ee --- /dev/null +++ b/priv/static/emoji/1f43f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f440.svg b/priv/static/emoji/1f440.svg new file mode 100644 index 000000000..b4f59a98b --- /dev/null +++ b/priv/static/emoji/1f440.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f441-200d-1f5e8.svg b/priv/static/emoji/1f441-200d-1f5e8.svg new file mode 100644 index 000000000..fd23adad7 --- /dev/null +++ b/priv/static/emoji/1f441-200d-1f5e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f441.svg b/priv/static/emoji/1f441.svg new file mode 100644 index 000000000..ae4257faa --- /dev/null +++ b/priv/static/emoji/1f441.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f442-1f3fb.svg b/priv/static/emoji/1f442-1f3fb.svg new file mode 100644 index 000000000..fcbaf7353 --- /dev/null +++ b/priv/static/emoji/1f442-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f442-1f3fc.svg b/priv/static/emoji/1f442-1f3fc.svg new file mode 100644 index 000000000..103d6aca1 --- /dev/null +++ b/priv/static/emoji/1f442-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f442-1f3fd.svg b/priv/static/emoji/1f442-1f3fd.svg new file mode 100644 index 000000000..50708efd1 --- /dev/null +++ b/priv/static/emoji/1f442-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f442-1f3fe.svg b/priv/static/emoji/1f442-1f3fe.svg new file mode 100644 index 000000000..1099e8151 --- /dev/null +++ b/priv/static/emoji/1f442-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f442-1f3ff.svg b/priv/static/emoji/1f442-1f3ff.svg new file mode 100644 index 000000000..7e451d62b --- /dev/null +++ b/priv/static/emoji/1f442-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f442.svg b/priv/static/emoji/1f442.svg new file mode 100644 index 000000000..6af51d61d --- /dev/null +++ b/priv/static/emoji/1f442.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f443-1f3fb.svg b/priv/static/emoji/1f443-1f3fb.svg new file mode 100644 index 000000000..22d8710ab --- /dev/null +++ b/priv/static/emoji/1f443-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f443-1f3fc.svg b/priv/static/emoji/1f443-1f3fc.svg new file mode 100644 index 000000000..dc165861c --- /dev/null +++ b/priv/static/emoji/1f443-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f443-1f3fd.svg b/priv/static/emoji/1f443-1f3fd.svg new file mode 100644 index 000000000..1fb7a658b --- /dev/null +++ b/priv/static/emoji/1f443-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f443-1f3fe.svg b/priv/static/emoji/1f443-1f3fe.svg new file mode 100644 index 000000000..38bb79d05 --- /dev/null +++ b/priv/static/emoji/1f443-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f443-1f3ff.svg b/priv/static/emoji/1f443-1f3ff.svg new file mode 100644 index 000000000..c3d638111 --- /dev/null +++ b/priv/static/emoji/1f443-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f443.svg b/priv/static/emoji/1f443.svg new file mode 100644 index 000000000..6aa7857d4 --- /dev/null +++ b/priv/static/emoji/1f443.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f444.svg b/priv/static/emoji/1f444.svg new file mode 100644 index 000000000..0d8e7cf6f --- /dev/null +++ b/priv/static/emoji/1f444.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f445.svg b/priv/static/emoji/1f445.svg new file mode 100644 index 000000000..86d4ea200 --- /dev/null +++ b/priv/static/emoji/1f445.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f446-1f3fb.svg b/priv/static/emoji/1f446-1f3fb.svg new file mode 100644 index 000000000..d3797818f --- /dev/null +++ b/priv/static/emoji/1f446-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f446-1f3fc.svg b/priv/static/emoji/1f446-1f3fc.svg new file mode 100644 index 000000000..478b8d097 --- /dev/null +++ b/priv/static/emoji/1f446-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f446-1f3fd.svg b/priv/static/emoji/1f446-1f3fd.svg new file mode 100644 index 000000000..f3f5c4d62 --- /dev/null +++ b/priv/static/emoji/1f446-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f446-1f3fe.svg b/priv/static/emoji/1f446-1f3fe.svg new file mode 100644 index 000000000..75943fadf --- /dev/null +++ b/priv/static/emoji/1f446-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f446-1f3ff.svg b/priv/static/emoji/1f446-1f3ff.svg new file mode 100644 index 000000000..21289fae2 --- /dev/null +++ b/priv/static/emoji/1f446-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f446.svg b/priv/static/emoji/1f446.svg new file mode 100644 index 000000000..73464961d --- /dev/null +++ b/priv/static/emoji/1f446.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f447-1f3fb.svg b/priv/static/emoji/1f447-1f3fb.svg new file mode 100644 index 000000000..942fadfdb --- /dev/null +++ b/priv/static/emoji/1f447-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f447-1f3fc.svg b/priv/static/emoji/1f447-1f3fc.svg new file mode 100644 index 000000000..891ba7088 --- /dev/null +++ b/priv/static/emoji/1f447-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f447-1f3fd.svg b/priv/static/emoji/1f447-1f3fd.svg new file mode 100644 index 000000000..e363bcc3c --- /dev/null +++ b/priv/static/emoji/1f447-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f447-1f3fe.svg b/priv/static/emoji/1f447-1f3fe.svg new file mode 100644 index 000000000..a61d20313 --- /dev/null +++ b/priv/static/emoji/1f447-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f447-1f3ff.svg b/priv/static/emoji/1f447-1f3ff.svg new file mode 100644 index 000000000..aca3691d9 --- /dev/null +++ b/priv/static/emoji/1f447-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f447.svg b/priv/static/emoji/1f447.svg new file mode 100644 index 000000000..9c0e52853 --- /dev/null +++ b/priv/static/emoji/1f447.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f448-1f3fb.svg b/priv/static/emoji/1f448-1f3fb.svg new file mode 100644 index 000000000..f3b7f99d3 --- /dev/null +++ b/priv/static/emoji/1f448-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f448-1f3fc.svg b/priv/static/emoji/1f448-1f3fc.svg new file mode 100644 index 000000000..cd2a2d02b --- /dev/null +++ b/priv/static/emoji/1f448-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f448-1f3fd.svg b/priv/static/emoji/1f448-1f3fd.svg new file mode 100644 index 000000000..b00149aaf --- /dev/null +++ b/priv/static/emoji/1f448-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f448-1f3fe.svg b/priv/static/emoji/1f448-1f3fe.svg new file mode 100644 index 000000000..970dcb2ce --- /dev/null +++ b/priv/static/emoji/1f448-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f448-1f3ff.svg b/priv/static/emoji/1f448-1f3ff.svg new file mode 100644 index 000000000..0c4851b8d --- /dev/null +++ b/priv/static/emoji/1f448-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f448.svg b/priv/static/emoji/1f448.svg new file mode 100644 index 000000000..800ff09aa --- /dev/null +++ b/priv/static/emoji/1f448.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f449-1f3fb.svg b/priv/static/emoji/1f449-1f3fb.svg new file mode 100644 index 000000000..c810f2a89 --- /dev/null +++ b/priv/static/emoji/1f449-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f449-1f3fc.svg b/priv/static/emoji/1f449-1f3fc.svg new file mode 100644 index 000000000..049a07e34 --- /dev/null +++ b/priv/static/emoji/1f449-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f449-1f3fd.svg b/priv/static/emoji/1f449-1f3fd.svg new file mode 100644 index 000000000..d5b62df74 --- /dev/null +++ b/priv/static/emoji/1f449-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f449-1f3fe.svg b/priv/static/emoji/1f449-1f3fe.svg new file mode 100644 index 000000000..850a672de --- /dev/null +++ b/priv/static/emoji/1f449-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f449-1f3ff.svg b/priv/static/emoji/1f449-1f3ff.svg new file mode 100644 index 000000000..a04f4c9e3 --- /dev/null +++ b/priv/static/emoji/1f449-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f449.svg b/priv/static/emoji/1f449.svg new file mode 100644 index 000000000..93f79ee85 --- /dev/null +++ b/priv/static/emoji/1f449.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44a-1f3fb.svg b/priv/static/emoji/1f44a-1f3fb.svg new file mode 100644 index 000000000..f4e937b74 --- /dev/null +++ b/priv/static/emoji/1f44a-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44a-1f3fc.svg b/priv/static/emoji/1f44a-1f3fc.svg new file mode 100644 index 000000000..a24a0a105 --- /dev/null +++ b/priv/static/emoji/1f44a-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44a-1f3fd.svg b/priv/static/emoji/1f44a-1f3fd.svg new file mode 100644 index 000000000..5d0cb8ee9 --- /dev/null +++ b/priv/static/emoji/1f44a-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44a-1f3fe.svg b/priv/static/emoji/1f44a-1f3fe.svg new file mode 100644 index 000000000..dabe7559b --- /dev/null +++ b/priv/static/emoji/1f44a-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44a-1f3ff.svg b/priv/static/emoji/1f44a-1f3ff.svg new file mode 100644 index 000000000..e06418546 --- /dev/null +++ b/priv/static/emoji/1f44a-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44a.svg b/priv/static/emoji/1f44a.svg new file mode 100644 index 000000000..6d8336daf --- /dev/null +++ b/priv/static/emoji/1f44a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44b-1f3fb.svg b/priv/static/emoji/1f44b-1f3fb.svg new file mode 100644 index 000000000..86471187b --- /dev/null +++ b/priv/static/emoji/1f44b-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44b-1f3fc.svg b/priv/static/emoji/1f44b-1f3fc.svg new file mode 100644 index 000000000..490e479a4 --- /dev/null +++ b/priv/static/emoji/1f44b-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44b-1f3fd.svg b/priv/static/emoji/1f44b-1f3fd.svg new file mode 100644 index 000000000..8988c6e17 --- /dev/null +++ b/priv/static/emoji/1f44b-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44b-1f3fe.svg b/priv/static/emoji/1f44b-1f3fe.svg new file mode 100644 index 000000000..6c35abe52 --- /dev/null +++ b/priv/static/emoji/1f44b-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44b-1f3ff.svg b/priv/static/emoji/1f44b-1f3ff.svg new file mode 100644 index 000000000..5ef6da63f --- /dev/null +++ b/priv/static/emoji/1f44b-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44b.svg b/priv/static/emoji/1f44b.svg new file mode 100644 index 000000000..5860e8159 --- /dev/null +++ b/priv/static/emoji/1f44b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44c-1f3fb.svg b/priv/static/emoji/1f44c-1f3fb.svg new file mode 100644 index 000000000..7c8564a1d --- /dev/null +++ b/priv/static/emoji/1f44c-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44c-1f3fc.svg b/priv/static/emoji/1f44c-1f3fc.svg new file mode 100644 index 000000000..606e6a14a --- /dev/null +++ b/priv/static/emoji/1f44c-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44c-1f3fd.svg b/priv/static/emoji/1f44c-1f3fd.svg new file mode 100644 index 000000000..047798834 --- /dev/null +++ b/priv/static/emoji/1f44c-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44c-1f3fe.svg b/priv/static/emoji/1f44c-1f3fe.svg new file mode 100644 index 000000000..3136ab5a9 --- /dev/null +++ b/priv/static/emoji/1f44c-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44c-1f3ff.svg b/priv/static/emoji/1f44c-1f3ff.svg new file mode 100644 index 000000000..6c60c5cce --- /dev/null +++ b/priv/static/emoji/1f44c-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44c.svg b/priv/static/emoji/1f44c.svg new file mode 100644 index 000000000..3ccac8265 --- /dev/null +++ b/priv/static/emoji/1f44c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44d-1f3fb.svg b/priv/static/emoji/1f44d-1f3fb.svg new file mode 100644 index 000000000..f2ea302f9 --- /dev/null +++ b/priv/static/emoji/1f44d-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44d-1f3fc.svg b/priv/static/emoji/1f44d-1f3fc.svg new file mode 100644 index 000000000..be40cb642 --- /dev/null +++ b/priv/static/emoji/1f44d-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44d-1f3fd.svg b/priv/static/emoji/1f44d-1f3fd.svg new file mode 100644 index 000000000..534a37fb2 --- /dev/null +++ b/priv/static/emoji/1f44d-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44d-1f3fe.svg b/priv/static/emoji/1f44d-1f3fe.svg new file mode 100644 index 000000000..682fed7d4 --- /dev/null +++ b/priv/static/emoji/1f44d-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44d-1f3ff.svg b/priv/static/emoji/1f44d-1f3ff.svg new file mode 100644 index 000000000..280fed6ac --- /dev/null +++ b/priv/static/emoji/1f44d-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44d.svg b/priv/static/emoji/1f44d.svg new file mode 100644 index 000000000..de2963f8b --- /dev/null +++ b/priv/static/emoji/1f44d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44e-1f3fb.svg b/priv/static/emoji/1f44e-1f3fb.svg new file mode 100644 index 000000000..98af17fe3 --- /dev/null +++ b/priv/static/emoji/1f44e-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44e-1f3fc.svg b/priv/static/emoji/1f44e-1f3fc.svg new file mode 100644 index 000000000..4504b3b67 --- /dev/null +++ b/priv/static/emoji/1f44e-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44e-1f3fd.svg b/priv/static/emoji/1f44e-1f3fd.svg new file mode 100644 index 000000000..b25cfcfbc --- /dev/null +++ b/priv/static/emoji/1f44e-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44e-1f3fe.svg b/priv/static/emoji/1f44e-1f3fe.svg new file mode 100644 index 000000000..fb26a9e6d --- /dev/null +++ b/priv/static/emoji/1f44e-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44e-1f3ff.svg b/priv/static/emoji/1f44e-1f3ff.svg new file mode 100644 index 000000000..9d064d53a --- /dev/null +++ b/priv/static/emoji/1f44e-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44e.svg b/priv/static/emoji/1f44e.svg new file mode 100644 index 000000000..05c5a1f97 --- /dev/null +++ b/priv/static/emoji/1f44e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44f-1f3fb.svg b/priv/static/emoji/1f44f-1f3fb.svg new file mode 100644 index 000000000..d11ee40be --- /dev/null +++ b/priv/static/emoji/1f44f-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44f-1f3fc.svg b/priv/static/emoji/1f44f-1f3fc.svg new file mode 100644 index 000000000..562ec0799 --- /dev/null +++ b/priv/static/emoji/1f44f-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44f-1f3fd.svg b/priv/static/emoji/1f44f-1f3fd.svg new file mode 100644 index 000000000..ca3e19e1c --- /dev/null +++ b/priv/static/emoji/1f44f-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44f-1f3fe.svg b/priv/static/emoji/1f44f-1f3fe.svg new file mode 100644 index 000000000..83b18c50e --- /dev/null +++ b/priv/static/emoji/1f44f-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44f-1f3ff.svg b/priv/static/emoji/1f44f-1f3ff.svg new file mode 100644 index 000000000..c214a9b51 --- /dev/null +++ b/priv/static/emoji/1f44f-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f44f.svg b/priv/static/emoji/1f44f.svg new file mode 100644 index 000000000..d190887b7 --- /dev/null +++ b/priv/static/emoji/1f44f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f450-1f3fb.svg b/priv/static/emoji/1f450-1f3fb.svg new file mode 100644 index 000000000..fc3e98804 --- /dev/null +++ b/priv/static/emoji/1f450-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f450-1f3fc.svg b/priv/static/emoji/1f450-1f3fc.svg new file mode 100644 index 000000000..da95cf19a --- /dev/null +++ b/priv/static/emoji/1f450-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f450-1f3fd.svg b/priv/static/emoji/1f450-1f3fd.svg new file mode 100644 index 000000000..3dfa45374 --- /dev/null +++ b/priv/static/emoji/1f450-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f450-1f3fe.svg b/priv/static/emoji/1f450-1f3fe.svg new file mode 100644 index 000000000..f15104c53 --- /dev/null +++ b/priv/static/emoji/1f450-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f450-1f3ff.svg b/priv/static/emoji/1f450-1f3ff.svg new file mode 100644 index 000000000..888cc644e --- /dev/null +++ b/priv/static/emoji/1f450-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f450.svg b/priv/static/emoji/1f450.svg new file mode 100644 index 000000000..5f4edc4c0 --- /dev/null +++ b/priv/static/emoji/1f450.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f451.svg b/priv/static/emoji/1f451.svg new file mode 100644 index 000000000..c8e31dfd5 --- /dev/null +++ b/priv/static/emoji/1f451.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f452.svg b/priv/static/emoji/1f452.svg new file mode 100644 index 000000000..19c624995 --- /dev/null +++ b/priv/static/emoji/1f452.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f453.svg b/priv/static/emoji/1f453.svg new file mode 100644 index 000000000..0e0451ea2 --- /dev/null +++ b/priv/static/emoji/1f453.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f454.svg b/priv/static/emoji/1f454.svg new file mode 100644 index 000000000..de9f10fee --- /dev/null +++ b/priv/static/emoji/1f454.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f455.svg b/priv/static/emoji/1f455.svg new file mode 100644 index 000000000..13581c7b6 --- /dev/null +++ b/priv/static/emoji/1f455.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f456.svg b/priv/static/emoji/1f456.svg new file mode 100644 index 000000000..8f07c2078 --- /dev/null +++ b/priv/static/emoji/1f456.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f457.svg b/priv/static/emoji/1f457.svg new file mode 100644 index 000000000..c00c84a04 --- /dev/null +++ b/priv/static/emoji/1f457.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f458.svg b/priv/static/emoji/1f458.svg new file mode 100644 index 000000000..6917bbc77 --- /dev/null +++ b/priv/static/emoji/1f458.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f459.svg b/priv/static/emoji/1f459.svg new file mode 100644 index 000000000..6480f8f85 --- /dev/null +++ b/priv/static/emoji/1f459.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f45a.svg b/priv/static/emoji/1f45a.svg new file mode 100644 index 000000000..4312f4ca5 --- /dev/null +++ b/priv/static/emoji/1f45a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f45b.svg b/priv/static/emoji/1f45b.svg new file mode 100644 index 000000000..615cb606c --- /dev/null +++ b/priv/static/emoji/1f45b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f45c.svg b/priv/static/emoji/1f45c.svg new file mode 100644 index 000000000..ffa83ff15 --- /dev/null +++ b/priv/static/emoji/1f45c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f45d.svg b/priv/static/emoji/1f45d.svg new file mode 100644 index 000000000..4cadb52c7 --- /dev/null +++ b/priv/static/emoji/1f45d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f45e.svg b/priv/static/emoji/1f45e.svg new file mode 100644 index 000000000..5b71d31ff --- /dev/null +++ b/priv/static/emoji/1f45e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f45f.svg b/priv/static/emoji/1f45f.svg new file mode 100644 index 000000000..3b94ca3ce --- /dev/null +++ b/priv/static/emoji/1f45f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f460.svg b/priv/static/emoji/1f460.svg new file mode 100644 index 000000000..334ea75ec --- /dev/null +++ b/priv/static/emoji/1f460.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f461.svg b/priv/static/emoji/1f461.svg new file mode 100644 index 000000000..4da080d37 --- /dev/null +++ b/priv/static/emoji/1f461.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f462.svg b/priv/static/emoji/1f462.svg new file mode 100644 index 000000000..47948a931 --- /dev/null +++ b/priv/static/emoji/1f462.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f463.svg b/priv/static/emoji/1f463.svg new file mode 100644 index 000000000..c4ee494e6 --- /dev/null +++ b/priv/static/emoji/1f463.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f464.svg b/priv/static/emoji/1f464.svg new file mode 100644 index 000000000..515da2c57 --- /dev/null +++ b/priv/static/emoji/1f464.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f465.svg b/priv/static/emoji/1f465.svg new file mode 100644 index 000000000..9ac02e6dc --- /dev/null +++ b/priv/static/emoji/1f465.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f466-1f3fb.svg b/priv/static/emoji/1f466-1f3fb.svg new file mode 100644 index 000000000..ae20d77b5 --- /dev/null +++ b/priv/static/emoji/1f466-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f466-1f3fc.svg b/priv/static/emoji/1f466-1f3fc.svg new file mode 100644 index 000000000..380488720 --- /dev/null +++ b/priv/static/emoji/1f466-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f466-1f3fd.svg b/priv/static/emoji/1f466-1f3fd.svg new file mode 100644 index 000000000..12d0d0f06 --- /dev/null +++ b/priv/static/emoji/1f466-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f466-1f3fe.svg b/priv/static/emoji/1f466-1f3fe.svg new file mode 100644 index 000000000..5c9c55d97 --- /dev/null +++ b/priv/static/emoji/1f466-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f466-1f3ff.svg b/priv/static/emoji/1f466-1f3ff.svg new file mode 100644 index 000000000..d0e4deca1 --- /dev/null +++ b/priv/static/emoji/1f466-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f466.svg b/priv/static/emoji/1f466.svg new file mode 100644 index 000000000..3ef0fcc58 --- /dev/null +++ b/priv/static/emoji/1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f467-1f3fb.svg b/priv/static/emoji/1f467-1f3fb.svg new file mode 100644 index 000000000..1836aaa67 --- /dev/null +++ b/priv/static/emoji/1f467-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f467-1f3fc.svg b/priv/static/emoji/1f467-1f3fc.svg new file mode 100644 index 000000000..08eae438e --- /dev/null +++ b/priv/static/emoji/1f467-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f467-1f3fd.svg b/priv/static/emoji/1f467-1f3fd.svg new file mode 100644 index 000000000..477ffe9ee --- /dev/null +++ b/priv/static/emoji/1f467-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f467-1f3fe.svg b/priv/static/emoji/1f467-1f3fe.svg new file mode 100644 index 000000000..190ba2229 --- /dev/null +++ b/priv/static/emoji/1f467-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f467-1f3ff.svg b/priv/static/emoji/1f467-1f3ff.svg new file mode 100644 index 000000000..8d2ca5636 --- /dev/null +++ b/priv/static/emoji/1f467-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f467.svg b/priv/static/emoji/1f467.svg new file mode 100644 index 000000000..a3bc67064 --- /dev/null +++ b/priv/static/emoji/1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f33e.svg b/priv/static/emoji/1f468-1f3fb-200d-1f33e.svg new file mode 100644 index 000000000..2b4b3e2dd --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f373.svg b/priv/static/emoji/1f468-1f3fb-200d-1f373.svg new file mode 100644 index 000000000..80e793c79 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f393.svg b/priv/static/emoji/1f468-1f3fb-200d-1f393.svg new file mode 100644 index 000000000..1b9ca687a --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f3a4.svg b/priv/static/emoji/1f468-1f3fb-200d-1f3a4.svg new file mode 100644 index 000000000..3c51ea959 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f3a8.svg b/priv/static/emoji/1f468-1f3fb-200d-1f3a8.svg new file mode 100644 index 000000000..b884ed15d --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f3eb.svg b/priv/static/emoji/1f468-1f3fb-200d-1f3eb.svg new file mode 100644 index 000000000..e33cca230 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f3ed.svg b/priv/static/emoji/1f468-1f3fb-200d-1f3ed.svg new file mode 100644 index 000000000..53b9e25b4 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f4bb.svg b/priv/static/emoji/1f468-1f3fb-200d-1f4bb.svg new file mode 100644 index 000000000..15601f70c --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f4bc.svg b/priv/static/emoji/1f468-1f3fb-200d-1f4bc.svg new file mode 100644 index 000000000..f5987b48e --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f527.svg b/priv/static/emoji/1f468-1f3fb-200d-1f527.svg new file mode 100644 index 000000000..7b44dc173 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f52c.svg b/priv/static/emoji/1f468-1f3fb-200d-1f52c.svg new file mode 100644 index 000000000..f14434d22 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f680.svg b/priv/static/emoji/1f468-1f3fb-200d-1f680.svg new file mode 100644 index 000000000..eab6f4e66 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-1f692.svg b/priv/static/emoji/1f468-1f3fb-200d-1f692.svg new file mode 100644 index 000000000..e562eadee --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-2695-fe0f.svg b/priv/static/emoji/1f468-1f3fb-200d-2695-fe0f.svg new file mode 100644 index 000000000..73027bb86 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-2696-fe0f.svg b/priv/static/emoji/1f468-1f3fb-200d-2696-fe0f.svg new file mode 100644 index 000000000..9418cad31 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb-200d-2708-fe0f.svg b/priv/static/emoji/1f468-1f3fb-200d-2708-fe0f.svg new file mode 100644 index 000000000..119142aec --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fb.svg b/priv/static/emoji/1f468-1f3fb.svg new file mode 100644 index 000000000..6c3bfe333 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f33e.svg b/priv/static/emoji/1f468-1f3fc-200d-1f33e.svg new file mode 100644 index 000000000..6b9dff148 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f373.svg b/priv/static/emoji/1f468-1f3fc-200d-1f373.svg new file mode 100644 index 000000000..3834a6fca --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f393.svg b/priv/static/emoji/1f468-1f3fc-200d-1f393.svg new file mode 100644 index 000000000..4c665c307 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f3a4.svg b/priv/static/emoji/1f468-1f3fc-200d-1f3a4.svg new file mode 100644 index 000000000..924e63cbb --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f3a8.svg b/priv/static/emoji/1f468-1f3fc-200d-1f3a8.svg new file mode 100644 index 000000000..340b2c74c --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f3eb.svg b/priv/static/emoji/1f468-1f3fc-200d-1f3eb.svg new file mode 100644 index 000000000..891c080bc --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f3ed.svg b/priv/static/emoji/1f468-1f3fc-200d-1f3ed.svg new file mode 100644 index 000000000..1e65941de --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f4bb.svg b/priv/static/emoji/1f468-1f3fc-200d-1f4bb.svg new file mode 100644 index 000000000..916faf924 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f4bc.svg b/priv/static/emoji/1f468-1f3fc-200d-1f4bc.svg new file mode 100644 index 000000000..68a414590 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f527.svg b/priv/static/emoji/1f468-1f3fc-200d-1f527.svg new file mode 100644 index 000000000..6ce9580f8 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f52c.svg b/priv/static/emoji/1f468-1f3fc-200d-1f52c.svg new file mode 100644 index 000000000..054ab0096 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f680.svg b/priv/static/emoji/1f468-1f3fc-200d-1f680.svg new file mode 100644 index 000000000..523fe1c98 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-1f692.svg b/priv/static/emoji/1f468-1f3fc-200d-1f692.svg new file mode 100644 index 000000000..4f05f832f --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-2695-fe0f.svg b/priv/static/emoji/1f468-1f3fc-200d-2695-fe0f.svg new file mode 100644 index 000000000..16625d457 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-2696-fe0f.svg b/priv/static/emoji/1f468-1f3fc-200d-2696-fe0f.svg new file mode 100644 index 000000000..f2d87d2d7 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc-200d-2708-fe0f.svg b/priv/static/emoji/1f468-1f3fc-200d-2708-fe0f.svg new file mode 100644 index 000000000..e2496e389 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fc.svg b/priv/static/emoji/1f468-1f3fc.svg new file mode 100644 index 000000000..19a37a432 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f33e.svg b/priv/static/emoji/1f468-1f3fd-200d-1f33e.svg new file mode 100644 index 000000000..9eb258598 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f373.svg b/priv/static/emoji/1f468-1f3fd-200d-1f373.svg new file mode 100644 index 000000000..5e723978b --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f393.svg b/priv/static/emoji/1f468-1f3fd-200d-1f393.svg new file mode 100644 index 000000000..15aa6ce23 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f3a4.svg b/priv/static/emoji/1f468-1f3fd-200d-1f3a4.svg new file mode 100644 index 000000000..9fec65130 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f3a8.svg b/priv/static/emoji/1f468-1f3fd-200d-1f3a8.svg new file mode 100644 index 000000000..979e5bc52 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f3eb.svg b/priv/static/emoji/1f468-1f3fd-200d-1f3eb.svg new file mode 100644 index 000000000..0ccca9bde --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f3ed.svg b/priv/static/emoji/1f468-1f3fd-200d-1f3ed.svg new file mode 100644 index 000000000..b8d6cacae --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f4bb.svg b/priv/static/emoji/1f468-1f3fd-200d-1f4bb.svg new file mode 100644 index 000000000..d26aa9ae2 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f4bc.svg b/priv/static/emoji/1f468-1f3fd-200d-1f4bc.svg new file mode 100644 index 000000000..3f59dbcbf --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f527.svg b/priv/static/emoji/1f468-1f3fd-200d-1f527.svg new file mode 100644 index 000000000..06b41a20c --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f52c.svg b/priv/static/emoji/1f468-1f3fd-200d-1f52c.svg new file mode 100644 index 000000000..98f161a81 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f680.svg b/priv/static/emoji/1f468-1f3fd-200d-1f680.svg new file mode 100644 index 000000000..fd0843423 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-1f692.svg b/priv/static/emoji/1f468-1f3fd-200d-1f692.svg new file mode 100644 index 000000000..5d9619e15 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-2695-fe0f.svg b/priv/static/emoji/1f468-1f3fd-200d-2695-fe0f.svg new file mode 100644 index 000000000..4a53e82bd --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-2696-fe0f.svg b/priv/static/emoji/1f468-1f3fd-200d-2696-fe0f.svg new file mode 100644 index 000000000..7815ddb92 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd-200d-2708-fe0f.svg b/priv/static/emoji/1f468-1f3fd-200d-2708-fe0f.svg new file mode 100644 index 000000000..caf7f3dfd --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fd.svg b/priv/static/emoji/1f468-1f3fd.svg new file mode 100644 index 000000000..42f34b8b0 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f33e.svg b/priv/static/emoji/1f468-1f3fe-200d-1f33e.svg new file mode 100644 index 000000000..96a2bf5bf --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f373.svg b/priv/static/emoji/1f468-1f3fe-200d-1f373.svg new file mode 100644 index 000000000..e608c4e26 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f393.svg b/priv/static/emoji/1f468-1f3fe-200d-1f393.svg new file mode 100644 index 000000000..da6f2b100 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f3a4.svg b/priv/static/emoji/1f468-1f3fe-200d-1f3a4.svg new file mode 100644 index 000000000..4eb5cd9c5 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f3a8.svg b/priv/static/emoji/1f468-1f3fe-200d-1f3a8.svg new file mode 100644 index 000000000..d01f1b275 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f3eb.svg b/priv/static/emoji/1f468-1f3fe-200d-1f3eb.svg new file mode 100644 index 000000000..ae70e8a4a --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f3ed.svg b/priv/static/emoji/1f468-1f3fe-200d-1f3ed.svg new file mode 100644 index 000000000..1663a9c95 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f4bb.svg b/priv/static/emoji/1f468-1f3fe-200d-1f4bb.svg new file mode 100644 index 000000000..7bcc7ecf4 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f4bc.svg b/priv/static/emoji/1f468-1f3fe-200d-1f4bc.svg new file mode 100644 index 000000000..094ce5d7e --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f527.svg b/priv/static/emoji/1f468-1f3fe-200d-1f527.svg new file mode 100644 index 000000000..176da65b1 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f52c.svg b/priv/static/emoji/1f468-1f3fe-200d-1f52c.svg new file mode 100644 index 000000000..ef4187208 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f680.svg b/priv/static/emoji/1f468-1f3fe-200d-1f680.svg new file mode 100644 index 000000000..56fc2b18b --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-1f692.svg b/priv/static/emoji/1f468-1f3fe-200d-1f692.svg new file mode 100644 index 000000000..0408f4d35 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-2695-fe0f.svg b/priv/static/emoji/1f468-1f3fe-200d-2695-fe0f.svg new file mode 100644 index 000000000..385369bf5 --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-2696-fe0f.svg b/priv/static/emoji/1f468-1f3fe-200d-2696-fe0f.svg new file mode 100644 index 000000000..ceb83559f --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe-200d-2708-fe0f.svg b/priv/static/emoji/1f468-1f3fe-200d-2708-fe0f.svg new file mode 100644 index 000000000..799fd409b --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3fe.svg b/priv/static/emoji/1f468-1f3fe.svg new file mode 100644 index 000000000..62054625a --- /dev/null +++ b/priv/static/emoji/1f468-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f33e.svg b/priv/static/emoji/1f468-1f3ff-200d-1f33e.svg new file mode 100644 index 000000000..e5edce814 --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f373.svg b/priv/static/emoji/1f468-1f3ff-200d-1f373.svg new file mode 100644 index 000000000..30eba86ed --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f393.svg b/priv/static/emoji/1f468-1f3ff-200d-1f393.svg new file mode 100644 index 000000000..7d5672e85 --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f3a4.svg b/priv/static/emoji/1f468-1f3ff-200d-1f3a4.svg new file mode 100644 index 000000000..28d5059ed --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f3a8.svg b/priv/static/emoji/1f468-1f3ff-200d-1f3a8.svg new file mode 100644 index 000000000..e63e974c6 --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f3eb.svg b/priv/static/emoji/1f468-1f3ff-200d-1f3eb.svg new file mode 100644 index 000000000..2565b202f --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f3ed.svg b/priv/static/emoji/1f468-1f3ff-200d-1f3ed.svg new file mode 100644 index 000000000..a3de0981d --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f4bb.svg b/priv/static/emoji/1f468-1f3ff-200d-1f4bb.svg new file mode 100644 index 000000000..401bfb9eb --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f4bc.svg b/priv/static/emoji/1f468-1f3ff-200d-1f4bc.svg new file mode 100644 index 000000000..6e48ee353 --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f527.svg b/priv/static/emoji/1f468-1f3ff-200d-1f527.svg new file mode 100644 index 000000000..b188a3d21 --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f52c.svg b/priv/static/emoji/1f468-1f3ff-200d-1f52c.svg new file mode 100644 index 000000000..e0eccb44b --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f680.svg b/priv/static/emoji/1f468-1f3ff-200d-1f680.svg new file mode 100644 index 000000000..21f0babef --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-1f692.svg b/priv/static/emoji/1f468-1f3ff-200d-1f692.svg new file mode 100644 index 000000000..e99af4b65 --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-2695-fe0f.svg b/priv/static/emoji/1f468-1f3ff-200d-2695-fe0f.svg new file mode 100644 index 000000000..515da8684 --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-2696-fe0f.svg b/priv/static/emoji/1f468-1f3ff-200d-2696-fe0f.svg new file mode 100644 index 000000000..96f7b0b85 --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff-200d-2708-fe0f.svg b/priv/static/emoji/1f468-1f3ff-200d-2708-fe0f.svg new file mode 100644 index 000000000..713423a78 --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-1f3ff.svg b/priv/static/emoji/1f468-1f3ff.svg new file mode 100644 index 000000000..f8f629a42 --- /dev/null +++ b/priv/static/emoji/1f468-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f33e.svg b/priv/static/emoji/1f468-200d-1f33e.svg new file mode 100644 index 000000000..315a53f07 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f373.svg b/priv/static/emoji/1f468-200d-1f373.svg new file mode 100644 index 000000000..e999b5493 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f393.svg b/priv/static/emoji/1f468-200d-1f393.svg new file mode 100644 index 000000000..701bc5f3a --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f3a4.svg b/priv/static/emoji/1f468-200d-1f3a4.svg new file mode 100644 index 000000000..48bbd13e8 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f3a8.svg b/priv/static/emoji/1f468-200d-1f3a8.svg new file mode 100644 index 000000000..861521d27 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f3eb.svg b/priv/static/emoji/1f468-200d-1f3eb.svg new file mode 100644 index 000000000..ff49105fc --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f3ed.svg b/priv/static/emoji/1f468-200d-1f3ed.svg new file mode 100644 index 000000000..178acc73a --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f466-200d-1f466.svg b/priv/static/emoji/1f468-200d-1f466-200d-1f466.svg new file mode 100644 index 000000000..8edd3a9c5 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f466-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f466.svg b/priv/static/emoji/1f468-200d-1f466.svg new file mode 100644 index 000000000..6ef28200c --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f467-200d-1f466.svg b/priv/static/emoji/1f468-200d-1f467-200d-1f466.svg new file mode 100644 index 000000000..a12e1379f --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f467-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f467-200d-1f467.svg b/priv/static/emoji/1f468-200d-1f467-200d-1f467.svg new file mode 100644 index 000000000..b9b029f59 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f467-200d-1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f467.svg b/priv/static/emoji/1f468-200d-1f467.svg new file mode 100644 index 000000000..9b0ded754 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f468-200d-1f466-200d-1f466.svg b/priv/static/emoji/1f468-200d-1f468-200d-1f466-200d-1f466.svg new file mode 100644 index 000000000..621d66ec9 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f468-200d-1f466-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f468-200d-1f466.svg b/priv/static/emoji/1f468-200d-1f468-200d-1f466.svg new file mode 100644 index 000000000..b44243a48 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f468-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f468-200d-1f467-200d-1f466.svg b/priv/static/emoji/1f468-200d-1f468-200d-1f467-200d-1f466.svg new file mode 100644 index 000000000..613d824d3 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f468-200d-1f467-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f468-200d-1f467-200d-1f467.svg b/priv/static/emoji/1f468-200d-1f468-200d-1f467-200d-1f467.svg new file mode 100644 index 000000000..8dcf9c634 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f468-200d-1f467-200d-1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f468-200d-1f467.svg b/priv/static/emoji/1f468-200d-1f468-200d-1f467.svg new file mode 100644 index 000000000..f5395db98 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f468-200d-1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f469-200d-1f466-200d-1f466.svg b/priv/static/emoji/1f468-200d-1f469-200d-1f466-200d-1f466.svg new file mode 100644 index 000000000..4146ccc4f --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f469-200d-1f466-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f469-200d-1f466.svg b/priv/static/emoji/1f468-200d-1f469-200d-1f466.svg new file mode 100644 index 000000000..ce5ccdd20 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f469-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f469-200d-1f467-200d-1f466.svg b/priv/static/emoji/1f468-200d-1f469-200d-1f467-200d-1f466.svg new file mode 100644 index 000000000..de683b256 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f469-200d-1f467-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg b/priv/static/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg new file mode 100644 index 000000000..bbc2e5b40 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f469-200d-1f467.svg b/priv/static/emoji/1f468-200d-1f469-200d-1f467.svg new file mode 100644 index 000000000..6eecb56bb --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f469-200d-1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f4bb.svg b/priv/static/emoji/1f468-200d-1f4bb.svg new file mode 100644 index 000000000..d5721aa9c --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f4bc.svg b/priv/static/emoji/1f468-200d-1f4bc.svg new file mode 100644 index 000000000..62b3870a9 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f527.svg b/priv/static/emoji/1f468-200d-1f527.svg new file mode 100644 index 000000000..22e44a25b --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f52c.svg b/priv/static/emoji/1f468-200d-1f52c.svg new file mode 100644 index 000000000..084d54a68 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f680.svg b/priv/static/emoji/1f468-200d-1f680.svg new file mode 100644 index 000000000..5a5e3c84b --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-1f692.svg b/priv/static/emoji/1f468-200d-1f692.svg new file mode 100644 index 000000000..134d97722 --- /dev/null +++ b/priv/static/emoji/1f468-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-2695-fe0f.svg b/priv/static/emoji/1f468-200d-2695-fe0f.svg new file mode 100644 index 000000000..4c83450a2 --- /dev/null +++ b/priv/static/emoji/1f468-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-2696-fe0f.svg b/priv/static/emoji/1f468-200d-2696-fe0f.svg new file mode 100644 index 000000000..01dc234b6 --- /dev/null +++ b/priv/static/emoji/1f468-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-2708-fe0f.svg b/priv/static/emoji/1f468-200d-2708-fe0f.svg new file mode 100644 index 000000000..e787f8275 --- /dev/null +++ b/priv/static/emoji/1f468-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-2764-fe0f-200d-1f468.svg b/priv/static/emoji/1f468-200d-2764-fe0f-200d-1f468.svg new file mode 100644 index 000000000..42220fc2e --- /dev/null +++ b/priv/static/emoji/1f468-200d-2764-fe0f-200d-1f468.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg b/priv/static/emoji/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg new file mode 100644 index 000000000..0a0955d14 --- /dev/null +++ b/priv/static/emoji/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f468.svg b/priv/static/emoji/1f468.svg new file mode 100644 index 000000000..914813193 --- /dev/null +++ b/priv/static/emoji/1f468.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f33e.svg b/priv/static/emoji/1f469-1f3fb-200d-1f33e.svg new file mode 100644 index 000000000..a393ab23e --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f373.svg b/priv/static/emoji/1f469-1f3fb-200d-1f373.svg new file mode 100644 index 000000000..49513c95f --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f393.svg b/priv/static/emoji/1f469-1f3fb-200d-1f393.svg new file mode 100644 index 000000000..15b126167 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f3a4.svg b/priv/static/emoji/1f469-1f3fb-200d-1f3a4.svg new file mode 100644 index 000000000..a0648002f --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f3a8.svg b/priv/static/emoji/1f469-1f3fb-200d-1f3a8.svg new file mode 100644 index 000000000..ab5179434 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f3eb.svg b/priv/static/emoji/1f469-1f3fb-200d-1f3eb.svg new file mode 100644 index 000000000..68f3a9e4e --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f3ed.svg b/priv/static/emoji/1f469-1f3fb-200d-1f3ed.svg new file mode 100644 index 000000000..3586f5448 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f4bb.svg b/priv/static/emoji/1f469-1f3fb-200d-1f4bb.svg new file mode 100644 index 000000000..01efc523f --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f4bc.svg b/priv/static/emoji/1f469-1f3fb-200d-1f4bc.svg new file mode 100644 index 000000000..60bf35290 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f527.svg b/priv/static/emoji/1f469-1f3fb-200d-1f527.svg new file mode 100644 index 000000000..db0ba00c2 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f52c.svg b/priv/static/emoji/1f469-1f3fb-200d-1f52c.svg new file mode 100644 index 000000000..95fbcb49b --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f680.svg b/priv/static/emoji/1f469-1f3fb-200d-1f680.svg new file mode 100644 index 000000000..5913cc9b6 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-1f692.svg b/priv/static/emoji/1f469-1f3fb-200d-1f692.svg new file mode 100644 index 000000000..c3442f955 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-2695-fe0f.svg b/priv/static/emoji/1f469-1f3fb-200d-2695-fe0f.svg new file mode 100644 index 000000000..1873ac8c3 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-2696-fe0f.svg b/priv/static/emoji/1f469-1f3fb-200d-2696-fe0f.svg new file mode 100644 index 000000000..92cf6553e --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb-200d-2708-fe0f.svg b/priv/static/emoji/1f469-1f3fb-200d-2708-fe0f.svg new file mode 100644 index 000000000..3d9d0ceca --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fb.svg b/priv/static/emoji/1f469-1f3fb.svg new file mode 100644 index 000000000..7866eff41 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f33e.svg b/priv/static/emoji/1f469-1f3fc-200d-1f33e.svg new file mode 100644 index 000000000..442deaec1 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f373.svg b/priv/static/emoji/1f469-1f3fc-200d-1f373.svg new file mode 100644 index 000000000..a4161eaca --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f393.svg b/priv/static/emoji/1f469-1f3fc-200d-1f393.svg new file mode 100644 index 000000000..5aa6c0ec0 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f3a4.svg b/priv/static/emoji/1f469-1f3fc-200d-1f3a4.svg new file mode 100644 index 000000000..9f26f9fda --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f3a8.svg b/priv/static/emoji/1f469-1f3fc-200d-1f3a8.svg new file mode 100644 index 000000000..11017c800 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f3eb.svg b/priv/static/emoji/1f469-1f3fc-200d-1f3eb.svg new file mode 100644 index 000000000..e0f456b98 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f3ed.svg b/priv/static/emoji/1f469-1f3fc-200d-1f3ed.svg new file mode 100644 index 000000000..0cef02e69 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f4bb.svg b/priv/static/emoji/1f469-1f3fc-200d-1f4bb.svg new file mode 100644 index 000000000..37c0eb59c --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f4bc.svg b/priv/static/emoji/1f469-1f3fc-200d-1f4bc.svg new file mode 100644 index 000000000..3daf9c47b --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f527.svg b/priv/static/emoji/1f469-1f3fc-200d-1f527.svg new file mode 100644 index 000000000..3b6fc5c20 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f52c.svg b/priv/static/emoji/1f469-1f3fc-200d-1f52c.svg new file mode 100644 index 000000000..47d03225a --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f680.svg b/priv/static/emoji/1f469-1f3fc-200d-1f680.svg new file mode 100644 index 000000000..11378acae --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-1f692.svg b/priv/static/emoji/1f469-1f3fc-200d-1f692.svg new file mode 100644 index 000000000..35e271ba4 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-2695-fe0f.svg b/priv/static/emoji/1f469-1f3fc-200d-2695-fe0f.svg new file mode 100644 index 000000000..dabd93e1d --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-2696-fe0f.svg b/priv/static/emoji/1f469-1f3fc-200d-2696-fe0f.svg new file mode 100644 index 000000000..f0a3ea40c --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc-200d-2708-fe0f.svg b/priv/static/emoji/1f469-1f3fc-200d-2708-fe0f.svg new file mode 100644 index 000000000..81c041eeb --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fc.svg b/priv/static/emoji/1f469-1f3fc.svg new file mode 100644 index 000000000..8328828e1 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f33e.svg b/priv/static/emoji/1f469-1f3fd-200d-1f33e.svg new file mode 100644 index 000000000..31787ece2 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f373.svg b/priv/static/emoji/1f469-1f3fd-200d-1f373.svg new file mode 100644 index 000000000..9abc40896 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f393.svg b/priv/static/emoji/1f469-1f3fd-200d-1f393.svg new file mode 100644 index 000000000..25fd3caaa --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f3a4.svg b/priv/static/emoji/1f469-1f3fd-200d-1f3a4.svg new file mode 100644 index 000000000..ad6deb4d0 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f3a8.svg b/priv/static/emoji/1f469-1f3fd-200d-1f3a8.svg new file mode 100644 index 000000000..c6233010e --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f3eb.svg b/priv/static/emoji/1f469-1f3fd-200d-1f3eb.svg new file mode 100644 index 000000000..d059eb64a --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f3ed.svg b/priv/static/emoji/1f469-1f3fd-200d-1f3ed.svg new file mode 100644 index 000000000..d242300ab --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f4bb.svg b/priv/static/emoji/1f469-1f3fd-200d-1f4bb.svg new file mode 100644 index 000000000..3f16d298a --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f4bc.svg b/priv/static/emoji/1f469-1f3fd-200d-1f4bc.svg new file mode 100644 index 000000000..b9cb8782d --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f527.svg b/priv/static/emoji/1f469-1f3fd-200d-1f527.svg new file mode 100644 index 000000000..01b65f1e1 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f52c.svg b/priv/static/emoji/1f469-1f3fd-200d-1f52c.svg new file mode 100644 index 000000000..89158a233 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f680.svg b/priv/static/emoji/1f469-1f3fd-200d-1f680.svg new file mode 100644 index 000000000..df8627aac --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-1f692.svg b/priv/static/emoji/1f469-1f3fd-200d-1f692.svg new file mode 100644 index 000000000..bbc2e7cad --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-2695-fe0f.svg b/priv/static/emoji/1f469-1f3fd-200d-2695-fe0f.svg new file mode 100644 index 000000000..5c96c15c3 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-2696-fe0f.svg b/priv/static/emoji/1f469-1f3fd-200d-2696-fe0f.svg new file mode 100644 index 000000000..5c34de7b8 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd-200d-2708-fe0f.svg b/priv/static/emoji/1f469-1f3fd-200d-2708-fe0f.svg new file mode 100644 index 000000000..e149723f0 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fd.svg b/priv/static/emoji/1f469-1f3fd.svg new file mode 100644 index 000000000..0c25028ae --- /dev/null +++ b/priv/static/emoji/1f469-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f33e.svg b/priv/static/emoji/1f469-1f3fe-200d-1f33e.svg new file mode 100644 index 000000000..ee03115ff --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f373.svg b/priv/static/emoji/1f469-1f3fe-200d-1f373.svg new file mode 100644 index 000000000..ca0215f9c --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f393.svg b/priv/static/emoji/1f469-1f3fe-200d-1f393.svg new file mode 100644 index 000000000..2998bbc9b --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f3a4.svg b/priv/static/emoji/1f469-1f3fe-200d-1f3a4.svg new file mode 100644 index 000000000..f1d48b1d8 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f3a8.svg b/priv/static/emoji/1f469-1f3fe-200d-1f3a8.svg new file mode 100644 index 000000000..5e7049c80 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f3eb.svg b/priv/static/emoji/1f469-1f3fe-200d-1f3eb.svg new file mode 100644 index 000000000..70e1044b0 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f3ed.svg b/priv/static/emoji/1f469-1f3fe-200d-1f3ed.svg new file mode 100644 index 000000000..a8a3c3479 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f4bb.svg b/priv/static/emoji/1f469-1f3fe-200d-1f4bb.svg new file mode 100644 index 000000000..51fb3f47d --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f4bc.svg b/priv/static/emoji/1f469-1f3fe-200d-1f4bc.svg new file mode 100644 index 000000000..61aef5724 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f527.svg b/priv/static/emoji/1f469-1f3fe-200d-1f527.svg new file mode 100644 index 000000000..fe47e22fa --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f52c.svg b/priv/static/emoji/1f469-1f3fe-200d-1f52c.svg new file mode 100644 index 000000000..ba7c0e68d --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f680.svg b/priv/static/emoji/1f469-1f3fe-200d-1f680.svg new file mode 100644 index 000000000..e2734a355 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-1f692.svg b/priv/static/emoji/1f469-1f3fe-200d-1f692.svg new file mode 100644 index 000000000..6ad50f740 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-2695-fe0f.svg b/priv/static/emoji/1f469-1f3fe-200d-2695-fe0f.svg new file mode 100644 index 000000000..1f1492f76 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-2696-fe0f.svg b/priv/static/emoji/1f469-1f3fe-200d-2696-fe0f.svg new file mode 100644 index 000000000..021c28723 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe-200d-2708-fe0f.svg b/priv/static/emoji/1f469-1f3fe-200d-2708-fe0f.svg new file mode 100644 index 000000000..c82832cb5 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3fe.svg b/priv/static/emoji/1f469-1f3fe.svg new file mode 100644 index 000000000..2aa3fef23 --- /dev/null +++ b/priv/static/emoji/1f469-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f33e.svg b/priv/static/emoji/1f469-1f3ff-200d-1f33e.svg new file mode 100644 index 000000000..36db97cc3 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f373.svg b/priv/static/emoji/1f469-1f3ff-200d-1f373.svg new file mode 100644 index 000000000..02cd40205 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f393.svg b/priv/static/emoji/1f469-1f3ff-200d-1f393.svg new file mode 100644 index 000000000..6822832ba --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f3a4.svg b/priv/static/emoji/1f469-1f3ff-200d-1f3a4.svg new file mode 100644 index 000000000..b23847530 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f3a8.svg b/priv/static/emoji/1f469-1f3ff-200d-1f3a8.svg new file mode 100644 index 000000000..930d5ed5d --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f3eb.svg b/priv/static/emoji/1f469-1f3ff-200d-1f3eb.svg new file mode 100644 index 000000000..925977b39 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f3ed.svg b/priv/static/emoji/1f469-1f3ff-200d-1f3ed.svg new file mode 100644 index 000000000..cde71c216 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f4bb.svg b/priv/static/emoji/1f469-1f3ff-200d-1f4bb.svg new file mode 100644 index 000000000..a41064af8 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f4bc.svg b/priv/static/emoji/1f469-1f3ff-200d-1f4bc.svg new file mode 100644 index 000000000..eea06ae80 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f527.svg b/priv/static/emoji/1f469-1f3ff-200d-1f527.svg new file mode 100644 index 000000000..cf2c4e310 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f52c.svg b/priv/static/emoji/1f469-1f3ff-200d-1f52c.svg new file mode 100644 index 000000000..06e8d253d --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f680.svg b/priv/static/emoji/1f469-1f3ff-200d-1f680.svg new file mode 100644 index 000000000..35fe42f5f --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-1f692.svg b/priv/static/emoji/1f469-1f3ff-200d-1f692.svg new file mode 100644 index 000000000..861b1ff04 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-2695-fe0f.svg b/priv/static/emoji/1f469-1f3ff-200d-2695-fe0f.svg new file mode 100644 index 000000000..40fe1cb15 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-2696-fe0f.svg b/priv/static/emoji/1f469-1f3ff-200d-2696-fe0f.svg new file mode 100644 index 000000000..2385f231a --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff-200d-2708-fe0f.svg b/priv/static/emoji/1f469-1f3ff-200d-2708-fe0f.svg new file mode 100644 index 000000000..273621927 --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-1f3ff.svg b/priv/static/emoji/1f469-1f3ff.svg new file mode 100644 index 000000000..523ac98cc --- /dev/null +++ b/priv/static/emoji/1f469-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f33e.svg b/priv/static/emoji/1f469-200d-1f33e.svg new file mode 100644 index 000000000..e1a146570 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f33e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f373.svg b/priv/static/emoji/1f469-200d-1f373.svg new file mode 100644 index 000000000..4883fffcb --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f373.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f393.svg b/priv/static/emoji/1f469-200d-1f393.svg new file mode 100644 index 000000000..0edec9c29 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f393.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f3a4.svg b/priv/static/emoji/1f469-200d-1f3a4.svg new file mode 100644 index 000000000..b8da6c8d3 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f3a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f3a8.svg b/priv/static/emoji/1f469-200d-1f3a8.svg new file mode 100644 index 000000000..2db8c4a31 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f3a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f3eb.svg b/priv/static/emoji/1f469-200d-1f3eb.svg new file mode 100644 index 000000000..fe46827cc --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f3eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f3ed.svg b/priv/static/emoji/1f469-200d-1f3ed.svg new file mode 100644 index 000000000..450cf4496 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f3ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f466-200d-1f466.svg b/priv/static/emoji/1f469-200d-1f466-200d-1f466.svg new file mode 100644 index 000000000..2f20655ef --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f466-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f466.svg b/priv/static/emoji/1f469-200d-1f466.svg new file mode 100644 index 000000000..df6d98820 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f467-200d-1f466.svg b/priv/static/emoji/1f469-200d-1f467-200d-1f466.svg new file mode 100644 index 000000000..7c02a27bd --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f467-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f467-200d-1f467.svg b/priv/static/emoji/1f469-200d-1f467-200d-1f467.svg new file mode 100644 index 000000000..f016ce89c --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f467-200d-1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f467.svg b/priv/static/emoji/1f469-200d-1f467.svg new file mode 100644 index 000000000..1c5d811ee --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg b/priv/static/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg new file mode 100644 index 000000000..38198b363 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f469-200d-1f466.svg b/priv/static/emoji/1f469-200d-1f469-200d-1f466.svg new file mode 100644 index 000000000..eeb0c80e1 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f469-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f469-200d-1f467-200d-1f466.svg b/priv/static/emoji/1f469-200d-1f469-200d-1f467-200d-1f466.svg new file mode 100644 index 000000000..1e84cdd35 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f469-200d-1f467-200d-1f466.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f469-200d-1f467-200d-1f467.svg b/priv/static/emoji/1f469-200d-1f469-200d-1f467-200d-1f467.svg new file mode 100644 index 000000000..689084de1 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f469-200d-1f467-200d-1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f469-200d-1f467.svg b/priv/static/emoji/1f469-200d-1f469-200d-1f467.svg new file mode 100644 index 000000000..ac18f5515 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f469-200d-1f467.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f4bb.svg b/priv/static/emoji/1f469-200d-1f4bb.svg new file mode 100644 index 000000000..bc0eda085 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f4bc.svg b/priv/static/emoji/1f469-200d-1f4bc.svg new file mode 100644 index 000000000..e84decf7a --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f527.svg b/priv/static/emoji/1f469-200d-1f527.svg new file mode 100644 index 000000000..c020914a9 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f52c.svg b/priv/static/emoji/1f469-200d-1f52c.svg new file mode 100644 index 000000000..6a05dde12 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f680.svg b/priv/static/emoji/1f469-200d-1f680.svg new file mode 100644 index 000000000..54b41f7dc --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-1f692.svg b/priv/static/emoji/1f469-200d-1f692.svg new file mode 100644 index 000000000..e95a70cf9 --- /dev/null +++ b/priv/static/emoji/1f469-200d-1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-2695-fe0f.svg b/priv/static/emoji/1f469-200d-2695-fe0f.svg new file mode 100644 index 000000000..a24749665 --- /dev/null +++ b/priv/static/emoji/1f469-200d-2695-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-2696-fe0f.svg b/priv/static/emoji/1f469-200d-2696-fe0f.svg new file mode 100644 index 000000000..69eb8c537 --- /dev/null +++ b/priv/static/emoji/1f469-200d-2696-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-2708-fe0f.svg b/priv/static/emoji/1f469-200d-2708-fe0f.svg new file mode 100644 index 000000000..25ab72a34 --- /dev/null +++ b/priv/static/emoji/1f469-200d-2708-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f468.svg b/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f468.svg new file mode 100644 index 000000000..9f42ccee8 --- /dev/null +++ b/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f468.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f469.svg b/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f469.svg new file mode 100644 index 000000000..804903c75 --- /dev/null +++ b/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f469.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg b/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg new file mode 100644 index 000000000..0bae3004b --- /dev/null +++ b/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg b/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg new file mode 100644 index 000000000..529eff4d1 --- /dev/null +++ b/priv/static/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f469.svg b/priv/static/emoji/1f469.svg new file mode 100644 index 000000000..6f7dde41f --- /dev/null +++ b/priv/static/emoji/1f469.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46a.svg b/priv/static/emoji/1f46a.svg new file mode 100644 index 000000000..ab47f4abc --- /dev/null +++ b/priv/static/emoji/1f46a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46b.svg b/priv/static/emoji/1f46b.svg new file mode 100644 index 000000000..8115fe984 --- /dev/null +++ b/priv/static/emoji/1f46b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46c.svg b/priv/static/emoji/1f46c.svg new file mode 100644 index 000000000..7feab42c0 --- /dev/null +++ b/priv/static/emoji/1f46c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46d.svg b/priv/static/emoji/1f46d.svg new file mode 100644 index 000000000..fae1da2d4 --- /dev/null +++ b/priv/static/emoji/1f46d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f46e-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..58bcfd77a --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f46e-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..2bff6d572 --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fb.svg b/priv/static/emoji/1f46e-1f3fb.svg new file mode 100644 index 000000000..2bff6d572 --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f46e-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..d3d127b3b --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f46e-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..873359cd2 --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fc.svg b/priv/static/emoji/1f46e-1f3fc.svg new file mode 100644 index 000000000..873359cd2 --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f46e-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..b94c792bd --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f46e-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..b0d9e6ae1 --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fd.svg b/priv/static/emoji/1f46e-1f3fd.svg new file mode 100644 index 000000000..b0d9e6ae1 --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f46e-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..3e6a0c7cc --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f46e-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..1fdabb297 --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3fe.svg b/priv/static/emoji/1f46e-1f3fe.svg new file mode 100644 index 000000000..1fdabb297 --- /dev/null +++ b/priv/static/emoji/1f46e-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f46e-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..1b1ffa107 --- /dev/null +++ b/priv/static/emoji/1f46e-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f46e-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..f6c19165a --- /dev/null +++ b/priv/static/emoji/1f46e-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-1f3ff.svg b/priv/static/emoji/1f46e-1f3ff.svg new file mode 100644 index 000000000..f6c19165a --- /dev/null +++ b/priv/static/emoji/1f46e-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-200d-2640-fe0f.svg b/priv/static/emoji/1f46e-200d-2640-fe0f.svg new file mode 100644 index 000000000..79963b5e6 --- /dev/null +++ b/priv/static/emoji/1f46e-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e-200d-2642-fe0f.svg b/priv/static/emoji/1f46e-200d-2642-fe0f.svg new file mode 100644 index 000000000..f38c573d0 --- /dev/null +++ b/priv/static/emoji/1f46e-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46e.svg b/priv/static/emoji/1f46e.svg new file mode 100644 index 000000000..f38c573d0 --- /dev/null +++ b/priv/static/emoji/1f46e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46f-200d-2640-fe0f.svg b/priv/static/emoji/1f46f-200d-2640-fe0f.svg new file mode 100644 index 000000000..e3d470d6f --- /dev/null +++ b/priv/static/emoji/1f46f-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46f-200d-2642-fe0f.svg b/priv/static/emoji/1f46f-200d-2642-fe0f.svg new file mode 100644 index 000000000..d58f55fae --- /dev/null +++ b/priv/static/emoji/1f46f-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f46f.svg b/priv/static/emoji/1f46f.svg new file mode 100644 index 000000000..e3d470d6f --- /dev/null +++ b/priv/static/emoji/1f46f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f470-1f3fb.svg b/priv/static/emoji/1f470-1f3fb.svg new file mode 100644 index 000000000..b1eeedb6d --- /dev/null +++ b/priv/static/emoji/1f470-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f470-1f3fc.svg b/priv/static/emoji/1f470-1f3fc.svg new file mode 100644 index 000000000..09a8ed7e3 --- /dev/null +++ b/priv/static/emoji/1f470-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f470-1f3fd.svg b/priv/static/emoji/1f470-1f3fd.svg new file mode 100644 index 000000000..e5b73e6af --- /dev/null +++ b/priv/static/emoji/1f470-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f470-1f3fe.svg b/priv/static/emoji/1f470-1f3fe.svg new file mode 100644 index 000000000..6fe5fe607 --- /dev/null +++ b/priv/static/emoji/1f470-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f470-1f3ff.svg b/priv/static/emoji/1f470-1f3ff.svg new file mode 100644 index 000000000..149a6fc24 --- /dev/null +++ b/priv/static/emoji/1f470-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f470.svg b/priv/static/emoji/1f470.svg new file mode 100644 index 000000000..3445fc8d6 --- /dev/null +++ b/priv/static/emoji/1f470.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f471-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..b112f6a4e --- /dev/null +++ b/priv/static/emoji/1f471-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f471-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..b3b6a74d7 --- /dev/null +++ b/priv/static/emoji/1f471-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fb.svg b/priv/static/emoji/1f471-1f3fb.svg new file mode 100644 index 000000000..b3b6a74d7 --- /dev/null +++ b/priv/static/emoji/1f471-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f471-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..8328828e1 --- /dev/null +++ b/priv/static/emoji/1f471-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f471-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..9f0eceb39 --- /dev/null +++ b/priv/static/emoji/1f471-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fc.svg b/priv/static/emoji/1f471-1f3fc.svg new file mode 100644 index 000000000..9f0eceb39 --- /dev/null +++ b/priv/static/emoji/1f471-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f471-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..259f8ccbd --- /dev/null +++ b/priv/static/emoji/1f471-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f471-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..e1431d851 --- /dev/null +++ b/priv/static/emoji/1f471-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fd.svg b/priv/static/emoji/1f471-1f3fd.svg new file mode 100644 index 000000000..e1431d851 --- /dev/null +++ b/priv/static/emoji/1f471-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f471-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..b4ff0c991 --- /dev/null +++ b/priv/static/emoji/1f471-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f471-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..994afaf96 --- /dev/null +++ b/priv/static/emoji/1f471-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3fe.svg b/priv/static/emoji/1f471-1f3fe.svg new file mode 100644 index 000000000..994afaf96 --- /dev/null +++ b/priv/static/emoji/1f471-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f471-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..b28b077d2 --- /dev/null +++ b/priv/static/emoji/1f471-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f471-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..151970867 --- /dev/null +++ b/priv/static/emoji/1f471-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-1f3ff.svg b/priv/static/emoji/1f471-1f3ff.svg new file mode 100644 index 000000000..151970867 --- /dev/null +++ b/priv/static/emoji/1f471-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-200d-2640-fe0f.svg b/priv/static/emoji/1f471-200d-2640-fe0f.svg new file mode 100644 index 000000000..a3f7c1998 --- /dev/null +++ b/priv/static/emoji/1f471-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471-200d-2642-fe0f.svg b/priv/static/emoji/1f471-200d-2642-fe0f.svg new file mode 100644 index 000000000..2c49aa3d5 --- /dev/null +++ b/priv/static/emoji/1f471-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f471.svg b/priv/static/emoji/1f471.svg new file mode 100644 index 000000000..2c49aa3d5 --- /dev/null +++ b/priv/static/emoji/1f471.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f472-1f3fb.svg b/priv/static/emoji/1f472-1f3fb.svg new file mode 100644 index 000000000..d3c168207 --- /dev/null +++ b/priv/static/emoji/1f472-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f472-1f3fc.svg b/priv/static/emoji/1f472-1f3fc.svg new file mode 100644 index 000000000..652c00412 --- /dev/null +++ b/priv/static/emoji/1f472-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f472-1f3fd.svg b/priv/static/emoji/1f472-1f3fd.svg new file mode 100644 index 000000000..9c8e135ce --- /dev/null +++ b/priv/static/emoji/1f472-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f472-1f3fe.svg b/priv/static/emoji/1f472-1f3fe.svg new file mode 100644 index 000000000..2a80ac626 --- /dev/null +++ b/priv/static/emoji/1f472-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f472-1f3ff.svg b/priv/static/emoji/1f472-1f3ff.svg new file mode 100644 index 000000000..122e20c2b --- /dev/null +++ b/priv/static/emoji/1f472-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f472.svg b/priv/static/emoji/1f472.svg new file mode 100644 index 000000000..3f059078c --- /dev/null +++ b/priv/static/emoji/1f472.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f473-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..ffe17f168 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f473-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..9d8c68772 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fb.svg b/priv/static/emoji/1f473-1f3fb.svg new file mode 100644 index 000000000..9d8c68772 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f473-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..1487c58f3 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f473-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..d08a57f69 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fc.svg b/priv/static/emoji/1f473-1f3fc.svg new file mode 100644 index 000000000..d08a57f69 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f473-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..8a5a25146 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f473-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..1a2a155a3 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fd.svg b/priv/static/emoji/1f473-1f3fd.svg new file mode 100644 index 000000000..1a2a155a3 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f473-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..be875ee37 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f473-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..bca472d81 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3fe.svg b/priv/static/emoji/1f473-1f3fe.svg new file mode 100644 index 000000000..bca472d81 --- /dev/null +++ b/priv/static/emoji/1f473-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f473-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..a01f89dda --- /dev/null +++ b/priv/static/emoji/1f473-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f473-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..ca21b9651 --- /dev/null +++ b/priv/static/emoji/1f473-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-1f3ff.svg b/priv/static/emoji/1f473-1f3ff.svg new file mode 100644 index 000000000..ca21b9651 --- /dev/null +++ b/priv/static/emoji/1f473-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-200d-2640-fe0f.svg b/priv/static/emoji/1f473-200d-2640-fe0f.svg new file mode 100644 index 000000000..ecd3fb021 --- /dev/null +++ b/priv/static/emoji/1f473-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473-200d-2642-fe0f.svg b/priv/static/emoji/1f473-200d-2642-fe0f.svg new file mode 100644 index 000000000..627d77321 --- /dev/null +++ b/priv/static/emoji/1f473-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f473.svg b/priv/static/emoji/1f473.svg new file mode 100644 index 000000000..627d77321 --- /dev/null +++ b/priv/static/emoji/1f473.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f474-1f3fb.svg b/priv/static/emoji/1f474-1f3fb.svg new file mode 100644 index 000000000..fd2ff9dcf --- /dev/null +++ b/priv/static/emoji/1f474-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f474-1f3fc.svg b/priv/static/emoji/1f474-1f3fc.svg new file mode 100644 index 000000000..c4f43282b --- /dev/null +++ b/priv/static/emoji/1f474-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f474-1f3fd.svg b/priv/static/emoji/1f474-1f3fd.svg new file mode 100644 index 000000000..4e532e6e2 --- /dev/null +++ b/priv/static/emoji/1f474-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f474-1f3fe.svg b/priv/static/emoji/1f474-1f3fe.svg new file mode 100644 index 000000000..1f19763a2 --- /dev/null +++ b/priv/static/emoji/1f474-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f474-1f3ff.svg b/priv/static/emoji/1f474-1f3ff.svg new file mode 100644 index 000000000..8d8bc0928 --- /dev/null +++ b/priv/static/emoji/1f474-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f474.svg b/priv/static/emoji/1f474.svg new file mode 100644 index 000000000..5f1c83bbc --- /dev/null +++ b/priv/static/emoji/1f474.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f475-1f3fb.svg b/priv/static/emoji/1f475-1f3fb.svg new file mode 100644 index 000000000..86c69bae9 --- /dev/null +++ b/priv/static/emoji/1f475-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f475-1f3fc.svg b/priv/static/emoji/1f475-1f3fc.svg new file mode 100644 index 000000000..7207298c8 --- /dev/null +++ b/priv/static/emoji/1f475-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f475-1f3fd.svg b/priv/static/emoji/1f475-1f3fd.svg new file mode 100644 index 000000000..15c14c144 --- /dev/null +++ b/priv/static/emoji/1f475-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f475-1f3fe.svg b/priv/static/emoji/1f475-1f3fe.svg new file mode 100644 index 000000000..e9950c385 --- /dev/null +++ b/priv/static/emoji/1f475-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f475-1f3ff.svg b/priv/static/emoji/1f475-1f3ff.svg new file mode 100644 index 000000000..31cb9f003 --- /dev/null +++ b/priv/static/emoji/1f475-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f475.svg b/priv/static/emoji/1f475.svg new file mode 100644 index 000000000..a2d61af95 --- /dev/null +++ b/priv/static/emoji/1f475.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f476-1f3fb.svg b/priv/static/emoji/1f476-1f3fb.svg new file mode 100644 index 000000000..38e1aa8f6 --- /dev/null +++ b/priv/static/emoji/1f476-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f476-1f3fc.svg b/priv/static/emoji/1f476-1f3fc.svg new file mode 100644 index 000000000..d1fc49a2c --- /dev/null +++ b/priv/static/emoji/1f476-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f476-1f3fd.svg b/priv/static/emoji/1f476-1f3fd.svg new file mode 100644 index 000000000..85b9fa85c --- /dev/null +++ b/priv/static/emoji/1f476-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f476-1f3fe.svg b/priv/static/emoji/1f476-1f3fe.svg new file mode 100644 index 000000000..3905353f8 --- /dev/null +++ b/priv/static/emoji/1f476-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f476-1f3ff.svg b/priv/static/emoji/1f476-1f3ff.svg new file mode 100644 index 000000000..e4807abad --- /dev/null +++ b/priv/static/emoji/1f476-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f476.svg b/priv/static/emoji/1f476.svg new file mode 100644 index 000000000..1d6619388 --- /dev/null +++ b/priv/static/emoji/1f476.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f477-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..46f7d6402 --- /dev/null +++ b/priv/static/emoji/1f477-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f477-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..759fd81ba --- /dev/null +++ b/priv/static/emoji/1f477-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fb.svg b/priv/static/emoji/1f477-1f3fb.svg new file mode 100644 index 000000000..759fd81ba --- /dev/null +++ b/priv/static/emoji/1f477-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f477-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..12173b62d --- /dev/null +++ b/priv/static/emoji/1f477-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f477-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..6cbec13d8 --- /dev/null +++ b/priv/static/emoji/1f477-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fc.svg b/priv/static/emoji/1f477-1f3fc.svg new file mode 100644 index 000000000..6cbec13d8 --- /dev/null +++ b/priv/static/emoji/1f477-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f477-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..cef8bb79c --- /dev/null +++ b/priv/static/emoji/1f477-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f477-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..5634fa7e1 --- /dev/null +++ b/priv/static/emoji/1f477-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fd.svg b/priv/static/emoji/1f477-1f3fd.svg new file mode 100644 index 000000000..5634fa7e1 --- /dev/null +++ b/priv/static/emoji/1f477-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f477-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..13ef34ba5 --- /dev/null +++ b/priv/static/emoji/1f477-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f477-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..902261cc2 --- /dev/null +++ b/priv/static/emoji/1f477-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3fe.svg b/priv/static/emoji/1f477-1f3fe.svg new file mode 100644 index 000000000..902261cc2 --- /dev/null +++ b/priv/static/emoji/1f477-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f477-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..6e9b84dfa --- /dev/null +++ b/priv/static/emoji/1f477-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f477-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..1fc22a6a8 --- /dev/null +++ b/priv/static/emoji/1f477-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-1f3ff.svg b/priv/static/emoji/1f477-1f3ff.svg new file mode 100644 index 000000000..1fc22a6a8 --- /dev/null +++ b/priv/static/emoji/1f477-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-200d-2640-fe0f.svg b/priv/static/emoji/1f477-200d-2640-fe0f.svg new file mode 100644 index 000000000..1d9d18d31 --- /dev/null +++ b/priv/static/emoji/1f477-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477-200d-2642-fe0f.svg b/priv/static/emoji/1f477-200d-2642-fe0f.svg new file mode 100644 index 000000000..cb161f83a --- /dev/null +++ b/priv/static/emoji/1f477-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f477.svg b/priv/static/emoji/1f477.svg new file mode 100644 index 000000000..cb161f83a --- /dev/null +++ b/priv/static/emoji/1f477.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f478-1f3fb.svg b/priv/static/emoji/1f478-1f3fb.svg new file mode 100644 index 000000000..88cc31391 --- /dev/null +++ b/priv/static/emoji/1f478-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f478-1f3fc.svg b/priv/static/emoji/1f478-1f3fc.svg new file mode 100644 index 000000000..8aed00f80 --- /dev/null +++ b/priv/static/emoji/1f478-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f478-1f3fd.svg b/priv/static/emoji/1f478-1f3fd.svg new file mode 100644 index 000000000..6fdfb919b --- /dev/null +++ b/priv/static/emoji/1f478-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f478-1f3fe.svg b/priv/static/emoji/1f478-1f3fe.svg new file mode 100644 index 000000000..f88d49e9f --- /dev/null +++ b/priv/static/emoji/1f478-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f478-1f3ff.svg b/priv/static/emoji/1f478-1f3ff.svg new file mode 100644 index 000000000..19f06ed2f --- /dev/null +++ b/priv/static/emoji/1f478-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f478.svg b/priv/static/emoji/1f478.svg new file mode 100644 index 000000000..06d437fa6 --- /dev/null +++ b/priv/static/emoji/1f478.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f479.svg b/priv/static/emoji/1f479.svg new file mode 100644 index 000000000..d08549995 --- /dev/null +++ b/priv/static/emoji/1f479.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47a.svg b/priv/static/emoji/1f47a.svg new file mode 100644 index 000000000..81c1ef39d --- /dev/null +++ b/priv/static/emoji/1f47a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47b.svg b/priv/static/emoji/1f47b.svg new file mode 100644 index 000000000..e5a2ee739 --- /dev/null +++ b/priv/static/emoji/1f47b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47c-1f3fb.svg b/priv/static/emoji/1f47c-1f3fb.svg new file mode 100644 index 000000000..58a4fe2da --- /dev/null +++ b/priv/static/emoji/1f47c-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47c-1f3fc.svg b/priv/static/emoji/1f47c-1f3fc.svg new file mode 100644 index 000000000..4618465f7 --- /dev/null +++ b/priv/static/emoji/1f47c-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47c-1f3fd.svg b/priv/static/emoji/1f47c-1f3fd.svg new file mode 100644 index 000000000..d6c44bf62 --- /dev/null +++ b/priv/static/emoji/1f47c-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47c-1f3fe.svg b/priv/static/emoji/1f47c-1f3fe.svg new file mode 100644 index 000000000..3b861ff04 --- /dev/null +++ b/priv/static/emoji/1f47c-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47c-1f3ff.svg b/priv/static/emoji/1f47c-1f3ff.svg new file mode 100644 index 000000000..1be099a01 --- /dev/null +++ b/priv/static/emoji/1f47c-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47c.svg b/priv/static/emoji/1f47c.svg new file mode 100644 index 000000000..f83cb7704 --- /dev/null +++ b/priv/static/emoji/1f47c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47d.svg b/priv/static/emoji/1f47d.svg new file mode 100644 index 000000000..d58d81912 --- /dev/null +++ b/priv/static/emoji/1f47d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47e.svg b/priv/static/emoji/1f47e.svg new file mode 100644 index 000000000..2ac86c206 --- /dev/null +++ b/priv/static/emoji/1f47e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f47f.svg b/priv/static/emoji/1f47f.svg new file mode 100644 index 000000000..3ceaefa4d --- /dev/null +++ b/priv/static/emoji/1f47f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f480.svg b/priv/static/emoji/1f480.svg new file mode 100644 index 000000000..7097d6ee0 --- /dev/null +++ b/priv/static/emoji/1f480.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f481-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..579847c43 --- /dev/null +++ b/priv/static/emoji/1f481-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f481-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..9fce17c57 --- /dev/null +++ b/priv/static/emoji/1f481-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fb.svg b/priv/static/emoji/1f481-1f3fb.svg new file mode 100644 index 000000000..579847c43 --- /dev/null +++ b/priv/static/emoji/1f481-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f481-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..873f4dc5d --- /dev/null +++ b/priv/static/emoji/1f481-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f481-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..bcf9e0cd9 --- /dev/null +++ b/priv/static/emoji/1f481-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fc.svg b/priv/static/emoji/1f481-1f3fc.svg new file mode 100644 index 000000000..873f4dc5d --- /dev/null +++ b/priv/static/emoji/1f481-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f481-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..f22657d8a --- /dev/null +++ b/priv/static/emoji/1f481-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f481-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..ef182a4bd --- /dev/null +++ b/priv/static/emoji/1f481-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fd.svg b/priv/static/emoji/1f481-1f3fd.svg new file mode 100644 index 000000000..f22657d8a --- /dev/null +++ b/priv/static/emoji/1f481-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f481-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..c836fb1d5 --- /dev/null +++ b/priv/static/emoji/1f481-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f481-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..48e59176e --- /dev/null +++ b/priv/static/emoji/1f481-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3fe.svg b/priv/static/emoji/1f481-1f3fe.svg new file mode 100644 index 000000000..c836fb1d5 --- /dev/null +++ b/priv/static/emoji/1f481-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f481-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..c93ce31f5 --- /dev/null +++ b/priv/static/emoji/1f481-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f481-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..1dcc0745c --- /dev/null +++ b/priv/static/emoji/1f481-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-1f3ff.svg b/priv/static/emoji/1f481-1f3ff.svg new file mode 100644 index 000000000..c93ce31f5 --- /dev/null +++ b/priv/static/emoji/1f481-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-200d-2640-fe0f.svg b/priv/static/emoji/1f481-200d-2640-fe0f.svg new file mode 100644 index 000000000..a06e256ad --- /dev/null +++ b/priv/static/emoji/1f481-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481-200d-2642-fe0f.svg b/priv/static/emoji/1f481-200d-2642-fe0f.svg new file mode 100644 index 000000000..e97a32a39 --- /dev/null +++ b/priv/static/emoji/1f481-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f481.svg b/priv/static/emoji/1f481.svg new file mode 100644 index 000000000..a06e256ad --- /dev/null +++ b/priv/static/emoji/1f481.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f482-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..2662a46e2 --- /dev/null +++ b/priv/static/emoji/1f482-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f482-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..95a2c5bdc --- /dev/null +++ b/priv/static/emoji/1f482-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fb.svg b/priv/static/emoji/1f482-1f3fb.svg new file mode 100644 index 000000000..95a2c5bdc --- /dev/null +++ b/priv/static/emoji/1f482-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f482-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..1d07ec5af --- /dev/null +++ b/priv/static/emoji/1f482-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f482-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..9459a537b --- /dev/null +++ b/priv/static/emoji/1f482-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fc.svg b/priv/static/emoji/1f482-1f3fc.svg new file mode 100644 index 000000000..9459a537b --- /dev/null +++ b/priv/static/emoji/1f482-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f482-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..21368fe45 --- /dev/null +++ b/priv/static/emoji/1f482-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f482-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..48eef9556 --- /dev/null +++ b/priv/static/emoji/1f482-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fd.svg b/priv/static/emoji/1f482-1f3fd.svg new file mode 100644 index 000000000..48eef9556 --- /dev/null +++ b/priv/static/emoji/1f482-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f482-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..93f02ff99 --- /dev/null +++ b/priv/static/emoji/1f482-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f482-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..6def55dcf --- /dev/null +++ b/priv/static/emoji/1f482-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3fe.svg b/priv/static/emoji/1f482-1f3fe.svg new file mode 100644 index 000000000..6def55dcf --- /dev/null +++ b/priv/static/emoji/1f482-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f482-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..925100027 --- /dev/null +++ b/priv/static/emoji/1f482-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f482-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..41e80851c --- /dev/null +++ b/priv/static/emoji/1f482-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-1f3ff.svg b/priv/static/emoji/1f482-1f3ff.svg new file mode 100644 index 000000000..41e80851c --- /dev/null +++ b/priv/static/emoji/1f482-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-200d-2640-fe0f.svg b/priv/static/emoji/1f482-200d-2640-fe0f.svg new file mode 100644 index 000000000..11be3310a --- /dev/null +++ b/priv/static/emoji/1f482-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482-200d-2642-fe0f.svg b/priv/static/emoji/1f482-200d-2642-fe0f.svg new file mode 100644 index 000000000..349a3c03c --- /dev/null +++ b/priv/static/emoji/1f482-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f482.svg b/priv/static/emoji/1f482.svg new file mode 100644 index 000000000..349a3c03c --- /dev/null +++ b/priv/static/emoji/1f482.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f483-1f3fb.svg b/priv/static/emoji/1f483-1f3fb.svg new file mode 100644 index 000000000..5e28fb0f3 --- /dev/null +++ b/priv/static/emoji/1f483-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f483-1f3fc.svg b/priv/static/emoji/1f483-1f3fc.svg new file mode 100644 index 000000000..57ded5528 --- /dev/null +++ b/priv/static/emoji/1f483-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f483-1f3fd.svg b/priv/static/emoji/1f483-1f3fd.svg new file mode 100644 index 000000000..dc1ff5363 --- /dev/null +++ b/priv/static/emoji/1f483-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f483-1f3fe.svg b/priv/static/emoji/1f483-1f3fe.svg new file mode 100644 index 000000000..b80348375 --- /dev/null +++ b/priv/static/emoji/1f483-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f483-1f3ff.svg b/priv/static/emoji/1f483-1f3ff.svg new file mode 100644 index 000000000..80f37167d --- /dev/null +++ b/priv/static/emoji/1f483-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f483.svg b/priv/static/emoji/1f483.svg new file mode 100644 index 000000000..436f9ae58 --- /dev/null +++ b/priv/static/emoji/1f483.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f484.svg b/priv/static/emoji/1f484.svg new file mode 100644 index 000000000..86892d2f2 --- /dev/null +++ b/priv/static/emoji/1f484.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f485-1f3fb.svg b/priv/static/emoji/1f485-1f3fb.svg new file mode 100644 index 000000000..0ca21402e --- /dev/null +++ b/priv/static/emoji/1f485-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f485-1f3fc.svg b/priv/static/emoji/1f485-1f3fc.svg new file mode 100644 index 000000000..e20634f6c --- /dev/null +++ b/priv/static/emoji/1f485-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f485-1f3fd.svg b/priv/static/emoji/1f485-1f3fd.svg new file mode 100644 index 000000000..c2d3ade12 --- /dev/null +++ b/priv/static/emoji/1f485-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f485-1f3fe.svg b/priv/static/emoji/1f485-1f3fe.svg new file mode 100644 index 000000000..a47022a92 --- /dev/null +++ b/priv/static/emoji/1f485-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f485-1f3ff.svg b/priv/static/emoji/1f485-1f3ff.svg new file mode 100644 index 000000000..3c6a2a135 --- /dev/null +++ b/priv/static/emoji/1f485-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f485.svg b/priv/static/emoji/1f485.svg new file mode 100644 index 000000000..3f956cbd3 --- /dev/null +++ b/priv/static/emoji/1f485.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f486-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..9a67284b5 --- /dev/null +++ b/priv/static/emoji/1f486-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f486-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..68b072cfc --- /dev/null +++ b/priv/static/emoji/1f486-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fb.svg b/priv/static/emoji/1f486-1f3fb.svg new file mode 100644 index 000000000..9a67284b5 --- /dev/null +++ b/priv/static/emoji/1f486-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f486-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..9ebc012da --- /dev/null +++ b/priv/static/emoji/1f486-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f486-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..1eaa098c1 --- /dev/null +++ b/priv/static/emoji/1f486-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fc.svg b/priv/static/emoji/1f486-1f3fc.svg new file mode 100644 index 000000000..9ebc012da --- /dev/null +++ b/priv/static/emoji/1f486-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f486-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..52e52636c --- /dev/null +++ b/priv/static/emoji/1f486-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f486-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..8852a1efc --- /dev/null +++ b/priv/static/emoji/1f486-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fd.svg b/priv/static/emoji/1f486-1f3fd.svg new file mode 100644 index 000000000..52e52636c --- /dev/null +++ b/priv/static/emoji/1f486-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f486-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..ad9c254bd --- /dev/null +++ b/priv/static/emoji/1f486-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f486-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..caa12c479 --- /dev/null +++ b/priv/static/emoji/1f486-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3fe.svg b/priv/static/emoji/1f486-1f3fe.svg new file mode 100644 index 000000000..ad9c254bd --- /dev/null +++ b/priv/static/emoji/1f486-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f486-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..3fb4f8420 --- /dev/null +++ b/priv/static/emoji/1f486-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f486-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..2242f1b8a --- /dev/null +++ b/priv/static/emoji/1f486-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-1f3ff.svg b/priv/static/emoji/1f486-1f3ff.svg new file mode 100644 index 000000000..3fb4f8420 --- /dev/null +++ b/priv/static/emoji/1f486-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-200d-2640-fe0f.svg b/priv/static/emoji/1f486-200d-2640-fe0f.svg new file mode 100644 index 000000000..39ffd8bdc --- /dev/null +++ b/priv/static/emoji/1f486-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486-200d-2642-fe0f.svg b/priv/static/emoji/1f486-200d-2642-fe0f.svg new file mode 100644 index 000000000..e9d1cff1d --- /dev/null +++ b/priv/static/emoji/1f486-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f486.svg b/priv/static/emoji/1f486.svg new file mode 100644 index 000000000..39ffd8bdc --- /dev/null +++ b/priv/static/emoji/1f486.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f487-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..0625e084c --- /dev/null +++ b/priv/static/emoji/1f487-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f487-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..932553668 --- /dev/null +++ b/priv/static/emoji/1f487-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fb.svg b/priv/static/emoji/1f487-1f3fb.svg new file mode 100644 index 000000000..0625e084c --- /dev/null +++ b/priv/static/emoji/1f487-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f487-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..9457987a0 --- /dev/null +++ b/priv/static/emoji/1f487-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f487-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..1e91c663a --- /dev/null +++ b/priv/static/emoji/1f487-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fc.svg b/priv/static/emoji/1f487-1f3fc.svg new file mode 100644 index 000000000..9457987a0 --- /dev/null +++ b/priv/static/emoji/1f487-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f487-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..607df1e22 --- /dev/null +++ b/priv/static/emoji/1f487-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f487-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..5f32e6338 --- /dev/null +++ b/priv/static/emoji/1f487-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fd.svg b/priv/static/emoji/1f487-1f3fd.svg new file mode 100644 index 000000000..607df1e22 --- /dev/null +++ b/priv/static/emoji/1f487-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f487-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..d0cccfc8f --- /dev/null +++ b/priv/static/emoji/1f487-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f487-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..6f4de3161 --- /dev/null +++ b/priv/static/emoji/1f487-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3fe.svg b/priv/static/emoji/1f487-1f3fe.svg new file mode 100644 index 000000000..d0cccfc8f --- /dev/null +++ b/priv/static/emoji/1f487-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f487-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..8edd33e3f --- /dev/null +++ b/priv/static/emoji/1f487-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f487-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..4246251e8 --- /dev/null +++ b/priv/static/emoji/1f487-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-1f3ff.svg b/priv/static/emoji/1f487-1f3ff.svg new file mode 100644 index 000000000..8edd33e3f --- /dev/null +++ b/priv/static/emoji/1f487-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-200d-2640-fe0f.svg b/priv/static/emoji/1f487-200d-2640-fe0f.svg new file mode 100644 index 000000000..f6c2fd7d4 --- /dev/null +++ b/priv/static/emoji/1f487-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487-200d-2642-fe0f.svg b/priv/static/emoji/1f487-200d-2642-fe0f.svg new file mode 100644 index 000000000..257d6d08c --- /dev/null +++ b/priv/static/emoji/1f487-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f487.svg b/priv/static/emoji/1f487.svg new file mode 100644 index 000000000..f6c2fd7d4 --- /dev/null +++ b/priv/static/emoji/1f487.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f488.svg b/priv/static/emoji/1f488.svg new file mode 100644 index 000000000..e9ae2255c --- /dev/null +++ b/priv/static/emoji/1f488.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f489.svg b/priv/static/emoji/1f489.svg new file mode 100644 index 000000000..9c4caf5c1 --- /dev/null +++ b/priv/static/emoji/1f489.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f48a.svg b/priv/static/emoji/1f48a.svg new file mode 100644 index 000000000..c7bd66801 --- /dev/null +++ b/priv/static/emoji/1f48a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f48b.svg b/priv/static/emoji/1f48b.svg new file mode 100644 index 000000000..492398c52 --- /dev/null +++ b/priv/static/emoji/1f48b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f48c.svg b/priv/static/emoji/1f48c.svg new file mode 100644 index 000000000..b2f85697a --- /dev/null +++ b/priv/static/emoji/1f48c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f48d.svg b/priv/static/emoji/1f48d.svg new file mode 100644 index 000000000..8bbab8ac6 --- /dev/null +++ b/priv/static/emoji/1f48d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f48e.svg b/priv/static/emoji/1f48e.svg new file mode 100644 index 000000000..d89d98190 --- /dev/null +++ b/priv/static/emoji/1f48e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f48f.svg b/priv/static/emoji/1f48f.svg new file mode 100644 index 000000000..0bae3004b --- /dev/null +++ b/priv/static/emoji/1f48f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f490.svg b/priv/static/emoji/1f490.svg new file mode 100644 index 000000000..79b996eed --- /dev/null +++ b/priv/static/emoji/1f490.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f491.svg b/priv/static/emoji/1f491.svg new file mode 100644 index 000000000..9ec3083f4 --- /dev/null +++ b/priv/static/emoji/1f491.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f492.svg b/priv/static/emoji/1f492.svg new file mode 100644 index 000000000..e2873f71e --- /dev/null +++ b/priv/static/emoji/1f492.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f493.svg b/priv/static/emoji/1f493.svg new file mode 100644 index 000000000..1a0a8a054 --- /dev/null +++ b/priv/static/emoji/1f493.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f494.svg b/priv/static/emoji/1f494.svg new file mode 100644 index 000000000..5236cebce --- /dev/null +++ b/priv/static/emoji/1f494.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f495.svg b/priv/static/emoji/1f495.svg new file mode 100644 index 000000000..b8e0e292b --- /dev/null +++ b/priv/static/emoji/1f495.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f496.svg b/priv/static/emoji/1f496.svg new file mode 100644 index 000000000..75a875b3a --- /dev/null +++ b/priv/static/emoji/1f496.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f497.svg b/priv/static/emoji/1f497.svg new file mode 100644 index 000000000..1f586cd45 --- /dev/null +++ b/priv/static/emoji/1f497.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f498.svg b/priv/static/emoji/1f498.svg new file mode 100644 index 000000000..619c6aa24 --- /dev/null +++ b/priv/static/emoji/1f498.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f499.svg b/priv/static/emoji/1f499.svg new file mode 100644 index 000000000..9d48cbf89 --- /dev/null +++ b/priv/static/emoji/1f499.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f49a.svg b/priv/static/emoji/1f49a.svg new file mode 100644 index 000000000..41990800e --- /dev/null +++ b/priv/static/emoji/1f49a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f49b.svg b/priv/static/emoji/1f49b.svg new file mode 100644 index 000000000..b6e197862 --- /dev/null +++ b/priv/static/emoji/1f49b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f49c.svg b/priv/static/emoji/1f49c.svg new file mode 100644 index 000000000..29c430046 --- /dev/null +++ b/priv/static/emoji/1f49c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f49d.svg b/priv/static/emoji/1f49d.svg new file mode 100644 index 000000000..aab714aaf --- /dev/null +++ b/priv/static/emoji/1f49d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f49e.svg b/priv/static/emoji/1f49e.svg new file mode 100644 index 000000000..d25ef6ba9 --- /dev/null +++ b/priv/static/emoji/1f49e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f49f.svg b/priv/static/emoji/1f49f.svg new file mode 100644 index 000000000..0276b32a8 --- /dev/null +++ b/priv/static/emoji/1f49f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4a0.svg b/priv/static/emoji/1f4a0.svg new file mode 100644 index 000000000..37291c912 --- /dev/null +++ b/priv/static/emoji/1f4a0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4a1.svg b/priv/static/emoji/1f4a1.svg new file mode 100644 index 000000000..dc2aa4d21 --- /dev/null +++ b/priv/static/emoji/1f4a1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4a2.svg b/priv/static/emoji/1f4a2.svg new file mode 100644 index 000000000..6ba7cd3a0 --- /dev/null +++ b/priv/static/emoji/1f4a2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4a3.svg b/priv/static/emoji/1f4a3.svg new file mode 100644 index 000000000..803d57e9e --- /dev/null +++ b/priv/static/emoji/1f4a3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4a4.svg b/priv/static/emoji/1f4a4.svg new file mode 100644 index 000000000..83df1a48d --- /dev/null +++ b/priv/static/emoji/1f4a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4a5.svg b/priv/static/emoji/1f4a5.svg new file mode 100644 index 000000000..f7d71d3ea --- /dev/null +++ b/priv/static/emoji/1f4a5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4a6.svg b/priv/static/emoji/1f4a6.svg new file mode 100644 index 000000000..c57213860 --- /dev/null +++ b/priv/static/emoji/1f4a6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4a7.svg b/priv/static/emoji/1f4a7.svg new file mode 100644 index 000000000..99699f6f0 --- /dev/null +++ b/priv/static/emoji/1f4a7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4a8.svg b/priv/static/emoji/1f4a8.svg new file mode 100644 index 000000000..13a086ec5 --- /dev/null +++ b/priv/static/emoji/1f4a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4a9.svg b/priv/static/emoji/1f4a9.svg new file mode 100644 index 000000000..ef0d55c1f --- /dev/null +++ b/priv/static/emoji/1f4a9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4aa-1f3fb.svg b/priv/static/emoji/1f4aa-1f3fb.svg new file mode 100644 index 000000000..978179689 --- /dev/null +++ b/priv/static/emoji/1f4aa-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4aa-1f3fc.svg b/priv/static/emoji/1f4aa-1f3fc.svg new file mode 100644 index 000000000..f572f93a0 --- /dev/null +++ b/priv/static/emoji/1f4aa-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4aa-1f3fd.svg b/priv/static/emoji/1f4aa-1f3fd.svg new file mode 100644 index 000000000..1d0ca6d95 --- /dev/null +++ b/priv/static/emoji/1f4aa-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4aa-1f3fe.svg b/priv/static/emoji/1f4aa-1f3fe.svg new file mode 100644 index 000000000..ae067f1c4 --- /dev/null +++ b/priv/static/emoji/1f4aa-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4aa-1f3ff.svg b/priv/static/emoji/1f4aa-1f3ff.svg new file mode 100644 index 000000000..30b3fa626 --- /dev/null +++ b/priv/static/emoji/1f4aa-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4aa.svg b/priv/static/emoji/1f4aa.svg new file mode 100644 index 000000000..dcf6e9ede --- /dev/null +++ b/priv/static/emoji/1f4aa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ab.svg b/priv/static/emoji/1f4ab.svg new file mode 100644 index 000000000..9df115d2c --- /dev/null +++ b/priv/static/emoji/1f4ab.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ac.svg b/priv/static/emoji/1f4ac.svg new file mode 100644 index 000000000..fa8769018 --- /dev/null +++ b/priv/static/emoji/1f4ac.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ad.svg b/priv/static/emoji/1f4ad.svg new file mode 100644 index 000000000..6ff056df1 --- /dev/null +++ b/priv/static/emoji/1f4ad.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ae.svg b/priv/static/emoji/1f4ae.svg new file mode 100644 index 000000000..be4d94192 --- /dev/null +++ b/priv/static/emoji/1f4ae.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4af.svg b/priv/static/emoji/1f4af.svg new file mode 100644 index 000000000..80a08e016 --- /dev/null +++ b/priv/static/emoji/1f4af.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4b0.svg b/priv/static/emoji/1f4b0.svg new file mode 100644 index 000000000..a23258732 --- /dev/null +++ b/priv/static/emoji/1f4b0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4b1.svg b/priv/static/emoji/1f4b1.svg new file mode 100644 index 000000000..66cee5e03 --- /dev/null +++ b/priv/static/emoji/1f4b1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4b2.svg b/priv/static/emoji/1f4b2.svg new file mode 100644 index 000000000..12abc5323 --- /dev/null +++ b/priv/static/emoji/1f4b2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4b3.svg b/priv/static/emoji/1f4b3.svg new file mode 100644 index 000000000..2a7941970 --- /dev/null +++ b/priv/static/emoji/1f4b3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4b4.svg b/priv/static/emoji/1f4b4.svg new file mode 100644 index 000000000..6d9d73854 --- /dev/null +++ b/priv/static/emoji/1f4b4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4b5.svg b/priv/static/emoji/1f4b5.svg new file mode 100644 index 000000000..1288e2638 --- /dev/null +++ b/priv/static/emoji/1f4b5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4b6.svg b/priv/static/emoji/1f4b6.svg new file mode 100644 index 000000000..54ca3194d --- /dev/null +++ b/priv/static/emoji/1f4b6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4b7.svg b/priv/static/emoji/1f4b7.svg new file mode 100644 index 000000000..c619edaad --- /dev/null +++ b/priv/static/emoji/1f4b7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4b8.svg b/priv/static/emoji/1f4b8.svg new file mode 100644 index 000000000..f51e8fbb3 --- /dev/null +++ b/priv/static/emoji/1f4b8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4b9.svg b/priv/static/emoji/1f4b9.svg new file mode 100644 index 000000000..eff7d7351 --- /dev/null +++ b/priv/static/emoji/1f4b9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ba.svg b/priv/static/emoji/1f4ba.svg new file mode 100644 index 000000000..1ae3854de --- /dev/null +++ b/priv/static/emoji/1f4ba.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4bb.svg b/priv/static/emoji/1f4bb.svg new file mode 100644 index 000000000..e995d4856 --- /dev/null +++ b/priv/static/emoji/1f4bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4bc.svg b/priv/static/emoji/1f4bc.svg new file mode 100644 index 000000000..9556a69ec --- /dev/null +++ b/priv/static/emoji/1f4bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4bd.svg b/priv/static/emoji/1f4bd.svg new file mode 100644 index 000000000..e02677fee --- /dev/null +++ b/priv/static/emoji/1f4bd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4be.svg b/priv/static/emoji/1f4be.svg new file mode 100644 index 000000000..4a2be4b03 --- /dev/null +++ b/priv/static/emoji/1f4be.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4bf.svg b/priv/static/emoji/1f4bf.svg new file mode 100644 index 000000000..78c4bdafd --- /dev/null +++ b/priv/static/emoji/1f4bf.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4c0.svg b/priv/static/emoji/1f4c0.svg new file mode 100644 index 000000000..341784d8e --- /dev/null +++ b/priv/static/emoji/1f4c0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4c1.svg b/priv/static/emoji/1f4c1.svg new file mode 100644 index 000000000..1fd3ac19c --- /dev/null +++ b/priv/static/emoji/1f4c1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4c2.svg b/priv/static/emoji/1f4c2.svg new file mode 100644 index 000000000..74498396d --- /dev/null +++ b/priv/static/emoji/1f4c2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4c3.svg b/priv/static/emoji/1f4c3.svg new file mode 100644 index 000000000..a275b2735 --- /dev/null +++ b/priv/static/emoji/1f4c3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4c4.svg b/priv/static/emoji/1f4c4.svg new file mode 100644 index 000000000..3b2d58b31 --- /dev/null +++ b/priv/static/emoji/1f4c4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4c5.svg b/priv/static/emoji/1f4c5.svg new file mode 100644 index 000000000..2defa9405 --- /dev/null +++ b/priv/static/emoji/1f4c5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4c6.svg b/priv/static/emoji/1f4c6.svg new file mode 100644 index 000000000..1356a920e --- /dev/null +++ b/priv/static/emoji/1f4c6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4c7.svg b/priv/static/emoji/1f4c7.svg new file mode 100644 index 000000000..d8f8fb447 --- /dev/null +++ b/priv/static/emoji/1f4c7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4c8.svg b/priv/static/emoji/1f4c8.svg new file mode 100644 index 000000000..6500ccbb7 --- /dev/null +++ b/priv/static/emoji/1f4c8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4c9.svg b/priv/static/emoji/1f4c9.svg new file mode 100644 index 000000000..1989d48fa --- /dev/null +++ b/priv/static/emoji/1f4c9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ca.svg b/priv/static/emoji/1f4ca.svg new file mode 100644 index 000000000..b7aee13b6 --- /dev/null +++ b/priv/static/emoji/1f4ca.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4cb.svg b/priv/static/emoji/1f4cb.svg new file mode 100644 index 000000000..b2577d99a --- /dev/null +++ b/priv/static/emoji/1f4cb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4cc.svg b/priv/static/emoji/1f4cc.svg new file mode 100644 index 000000000..ebc2187e4 --- /dev/null +++ b/priv/static/emoji/1f4cc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4cd.svg b/priv/static/emoji/1f4cd.svg new file mode 100644 index 000000000..e86e5d8ed --- /dev/null +++ b/priv/static/emoji/1f4cd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ce.svg b/priv/static/emoji/1f4ce.svg new file mode 100644 index 000000000..7d2e463ec --- /dev/null +++ b/priv/static/emoji/1f4ce.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4cf.svg b/priv/static/emoji/1f4cf.svg new file mode 100644 index 000000000..50062de14 --- /dev/null +++ b/priv/static/emoji/1f4cf.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4d0.svg b/priv/static/emoji/1f4d0.svg new file mode 100644 index 000000000..08704eacf --- /dev/null +++ b/priv/static/emoji/1f4d0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4d1.svg b/priv/static/emoji/1f4d1.svg new file mode 100644 index 000000000..573134838 --- /dev/null +++ b/priv/static/emoji/1f4d1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4d2.svg b/priv/static/emoji/1f4d2.svg new file mode 100644 index 000000000..32f457064 --- /dev/null +++ b/priv/static/emoji/1f4d2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4d3.svg b/priv/static/emoji/1f4d3.svg new file mode 100644 index 000000000..65c7642c2 --- /dev/null +++ b/priv/static/emoji/1f4d3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4d4.svg b/priv/static/emoji/1f4d4.svg new file mode 100644 index 000000000..9f269a7e4 --- /dev/null +++ b/priv/static/emoji/1f4d4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4d5.svg b/priv/static/emoji/1f4d5.svg new file mode 100644 index 000000000..821ba5743 --- /dev/null +++ b/priv/static/emoji/1f4d5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4d6.svg b/priv/static/emoji/1f4d6.svg new file mode 100644 index 000000000..47e6ccb63 --- /dev/null +++ b/priv/static/emoji/1f4d6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4d7.svg b/priv/static/emoji/1f4d7.svg new file mode 100644 index 000000000..8c5f2c7f7 --- /dev/null +++ b/priv/static/emoji/1f4d7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4d8.svg b/priv/static/emoji/1f4d8.svg new file mode 100644 index 000000000..e20be569c --- /dev/null +++ b/priv/static/emoji/1f4d8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4d9.svg b/priv/static/emoji/1f4d9.svg new file mode 100644 index 000000000..aa9ac8ac7 --- /dev/null +++ b/priv/static/emoji/1f4d9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4da.svg b/priv/static/emoji/1f4da.svg new file mode 100644 index 000000000..fd830ccba --- /dev/null +++ b/priv/static/emoji/1f4da.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4db.svg b/priv/static/emoji/1f4db.svg new file mode 100644 index 000000000..ad86629b7 --- /dev/null +++ b/priv/static/emoji/1f4db.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4dc.svg b/priv/static/emoji/1f4dc.svg new file mode 100644 index 000000000..b29dfd1d5 --- /dev/null +++ b/priv/static/emoji/1f4dc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4dd.svg b/priv/static/emoji/1f4dd.svg new file mode 100644 index 000000000..583017b87 --- /dev/null +++ b/priv/static/emoji/1f4dd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4de.svg b/priv/static/emoji/1f4de.svg new file mode 100644 index 000000000..e253cab80 --- /dev/null +++ b/priv/static/emoji/1f4de.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4df.svg b/priv/static/emoji/1f4df.svg new file mode 100644 index 000000000..f8a0609f8 --- /dev/null +++ b/priv/static/emoji/1f4df.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4e0.svg b/priv/static/emoji/1f4e0.svg new file mode 100644 index 000000000..cf9dfd4f1 --- /dev/null +++ b/priv/static/emoji/1f4e0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4e1.svg b/priv/static/emoji/1f4e1.svg new file mode 100644 index 000000000..e345be12d --- /dev/null +++ b/priv/static/emoji/1f4e1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4e2.svg b/priv/static/emoji/1f4e2.svg new file mode 100644 index 000000000..e6250d2bf --- /dev/null +++ b/priv/static/emoji/1f4e2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4e3.svg b/priv/static/emoji/1f4e3.svg new file mode 100644 index 000000000..e217cdaf2 --- /dev/null +++ b/priv/static/emoji/1f4e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4e4.svg b/priv/static/emoji/1f4e4.svg new file mode 100644 index 000000000..69fce0a9b --- /dev/null +++ b/priv/static/emoji/1f4e4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4e5.svg b/priv/static/emoji/1f4e5.svg new file mode 100644 index 000000000..10c940b95 --- /dev/null +++ b/priv/static/emoji/1f4e5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4e6.svg b/priv/static/emoji/1f4e6.svg new file mode 100644 index 000000000..d0b8d6d1d --- /dev/null +++ b/priv/static/emoji/1f4e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4e7.svg b/priv/static/emoji/1f4e7.svg new file mode 100644 index 000000000..60b696762 --- /dev/null +++ b/priv/static/emoji/1f4e7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4e8.svg b/priv/static/emoji/1f4e8.svg new file mode 100644 index 000000000..d2379e22a --- /dev/null +++ b/priv/static/emoji/1f4e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4e9.svg b/priv/static/emoji/1f4e9.svg new file mode 100644 index 000000000..bde5374d4 --- /dev/null +++ b/priv/static/emoji/1f4e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ea.svg b/priv/static/emoji/1f4ea.svg new file mode 100644 index 000000000..6c7e0d114 --- /dev/null +++ b/priv/static/emoji/1f4ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4eb.svg b/priv/static/emoji/1f4eb.svg new file mode 100644 index 000000000..a48e2210e --- /dev/null +++ b/priv/static/emoji/1f4eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ec.svg b/priv/static/emoji/1f4ec.svg new file mode 100644 index 000000000..0ebfec4c5 --- /dev/null +++ b/priv/static/emoji/1f4ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ed.svg b/priv/static/emoji/1f4ed.svg new file mode 100644 index 000000000..ebecab75e --- /dev/null +++ b/priv/static/emoji/1f4ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ee.svg b/priv/static/emoji/1f4ee.svg new file mode 100644 index 000000000..4806b51ff --- /dev/null +++ b/priv/static/emoji/1f4ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ef.svg b/priv/static/emoji/1f4ef.svg new file mode 100644 index 000000000..e60c3067e --- /dev/null +++ b/priv/static/emoji/1f4ef.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4f0.svg b/priv/static/emoji/1f4f0.svg new file mode 100644 index 000000000..d5a70ea3c --- /dev/null +++ b/priv/static/emoji/1f4f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4f1.svg b/priv/static/emoji/1f4f1.svg new file mode 100644 index 000000000..e0387a1c4 --- /dev/null +++ b/priv/static/emoji/1f4f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4f2.svg b/priv/static/emoji/1f4f2.svg new file mode 100644 index 000000000..95437b263 --- /dev/null +++ b/priv/static/emoji/1f4f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4f3.svg b/priv/static/emoji/1f4f3.svg new file mode 100644 index 000000000..5c2e1a4f5 --- /dev/null +++ b/priv/static/emoji/1f4f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4f4.svg b/priv/static/emoji/1f4f4.svg new file mode 100644 index 000000000..5dc375568 --- /dev/null +++ b/priv/static/emoji/1f4f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4f5.svg b/priv/static/emoji/1f4f5.svg new file mode 100644 index 000000000..86b5a5df3 --- /dev/null +++ b/priv/static/emoji/1f4f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4f6.svg b/priv/static/emoji/1f4f6.svg new file mode 100644 index 000000000..b9eee1d41 --- /dev/null +++ b/priv/static/emoji/1f4f6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4f7.svg b/priv/static/emoji/1f4f7.svg new file mode 100644 index 000000000..6cc2096be --- /dev/null +++ b/priv/static/emoji/1f4f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4f8.svg b/priv/static/emoji/1f4f8.svg new file mode 100644 index 000000000..e9f242d9e --- /dev/null +++ b/priv/static/emoji/1f4f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4f9.svg b/priv/static/emoji/1f4f9.svg new file mode 100644 index 000000000..c279f12e9 --- /dev/null +++ b/priv/static/emoji/1f4f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4fa.svg b/priv/static/emoji/1f4fa.svg new file mode 100644 index 000000000..b967aef26 --- /dev/null +++ b/priv/static/emoji/1f4fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4fb.svg b/priv/static/emoji/1f4fb.svg new file mode 100644 index 000000000..88b7b9518 --- /dev/null +++ b/priv/static/emoji/1f4fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4fc.svg b/priv/static/emoji/1f4fc.svg new file mode 100644 index 000000000..991e95f54 --- /dev/null +++ b/priv/static/emoji/1f4fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4fd.svg b/priv/static/emoji/1f4fd.svg new file mode 100644 index 000000000..922c71b8d --- /dev/null +++ b/priv/static/emoji/1f4fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f4ff.svg b/priv/static/emoji/1f4ff.svg new file mode 100644 index 000000000..b5adfabe4 --- /dev/null +++ b/priv/static/emoji/1f4ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f500.svg b/priv/static/emoji/1f500.svg new file mode 100644 index 000000000..25b1bf27b --- /dev/null +++ b/priv/static/emoji/1f500.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f501.svg b/priv/static/emoji/1f501.svg new file mode 100644 index 000000000..2b59af7c2 --- /dev/null +++ b/priv/static/emoji/1f501.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f502.svg b/priv/static/emoji/1f502.svg new file mode 100644 index 000000000..7ab33b25f --- /dev/null +++ b/priv/static/emoji/1f502.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f503.svg b/priv/static/emoji/1f503.svg new file mode 100644 index 000000000..716355f63 --- /dev/null +++ b/priv/static/emoji/1f503.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f504.svg b/priv/static/emoji/1f504.svg new file mode 100644 index 000000000..61b0c0459 --- /dev/null +++ b/priv/static/emoji/1f504.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f505.svg b/priv/static/emoji/1f505.svg new file mode 100644 index 000000000..060996279 --- /dev/null +++ b/priv/static/emoji/1f505.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f506.svg b/priv/static/emoji/1f506.svg new file mode 100644 index 000000000..251d4ffa7 --- /dev/null +++ b/priv/static/emoji/1f506.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f507.svg b/priv/static/emoji/1f507.svg new file mode 100644 index 000000000..9dc1fe903 --- /dev/null +++ b/priv/static/emoji/1f507.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f508.svg b/priv/static/emoji/1f508.svg new file mode 100644 index 000000000..33b12bdda --- /dev/null +++ b/priv/static/emoji/1f508.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f509.svg b/priv/static/emoji/1f509.svg new file mode 100644 index 000000000..7566b83e8 --- /dev/null +++ b/priv/static/emoji/1f509.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f50a.svg b/priv/static/emoji/1f50a.svg new file mode 100644 index 000000000..8614d3e92 --- /dev/null +++ b/priv/static/emoji/1f50a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f50b.svg b/priv/static/emoji/1f50b.svg new file mode 100644 index 000000000..d8b375c15 --- /dev/null +++ b/priv/static/emoji/1f50b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f50c.svg b/priv/static/emoji/1f50c.svg new file mode 100644 index 000000000..d3ecea9ab --- /dev/null +++ b/priv/static/emoji/1f50c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f50d.svg b/priv/static/emoji/1f50d.svg new file mode 100644 index 000000000..098d5e081 --- /dev/null +++ b/priv/static/emoji/1f50d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f50e.svg b/priv/static/emoji/1f50e.svg new file mode 100644 index 000000000..22c930905 --- /dev/null +++ b/priv/static/emoji/1f50e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f50f.svg b/priv/static/emoji/1f50f.svg new file mode 100644 index 000000000..a6fbfdbf1 --- /dev/null +++ b/priv/static/emoji/1f50f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f510.svg b/priv/static/emoji/1f510.svg new file mode 100644 index 000000000..0f9f441bf --- /dev/null +++ b/priv/static/emoji/1f510.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f511.svg b/priv/static/emoji/1f511.svg new file mode 100644 index 000000000..9a720cdf4 --- /dev/null +++ b/priv/static/emoji/1f511.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f512.svg b/priv/static/emoji/1f512.svg new file mode 100644 index 000000000..f0f1bb153 --- /dev/null +++ b/priv/static/emoji/1f512.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f513.svg b/priv/static/emoji/1f513.svg new file mode 100644 index 000000000..433323722 --- /dev/null +++ b/priv/static/emoji/1f513.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f514.svg b/priv/static/emoji/1f514.svg new file mode 100644 index 000000000..5210eece6 --- /dev/null +++ b/priv/static/emoji/1f514.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f515.svg b/priv/static/emoji/1f515.svg new file mode 100644 index 000000000..f9cd1368b --- /dev/null +++ b/priv/static/emoji/1f515.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f516.svg b/priv/static/emoji/1f516.svg new file mode 100644 index 000000000..a8baaeb5c --- /dev/null +++ b/priv/static/emoji/1f516.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f517.svg b/priv/static/emoji/1f517.svg new file mode 100644 index 000000000..f34d20258 --- /dev/null +++ b/priv/static/emoji/1f517.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f518.svg b/priv/static/emoji/1f518.svg new file mode 100644 index 000000000..aa5d9a429 --- /dev/null +++ b/priv/static/emoji/1f518.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f519.svg b/priv/static/emoji/1f519.svg new file mode 100644 index 000000000..d723bae40 --- /dev/null +++ b/priv/static/emoji/1f519.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f51a.svg b/priv/static/emoji/1f51a.svg new file mode 100644 index 000000000..27825d360 --- /dev/null +++ b/priv/static/emoji/1f51a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f51b.svg b/priv/static/emoji/1f51b.svg new file mode 100644 index 000000000..8e41094fe --- /dev/null +++ b/priv/static/emoji/1f51b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f51c.svg b/priv/static/emoji/1f51c.svg new file mode 100644 index 000000000..9e308a466 --- /dev/null +++ b/priv/static/emoji/1f51c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f51d.svg b/priv/static/emoji/1f51d.svg new file mode 100644 index 000000000..0fc2ed653 --- /dev/null +++ b/priv/static/emoji/1f51d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f51e.svg b/priv/static/emoji/1f51e.svg new file mode 100644 index 000000000..8a7bd2017 --- /dev/null +++ b/priv/static/emoji/1f51e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f51f.svg b/priv/static/emoji/1f51f.svg new file mode 100644 index 000000000..40d2560e3 --- /dev/null +++ b/priv/static/emoji/1f51f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f520.svg b/priv/static/emoji/1f520.svg new file mode 100644 index 000000000..6771c2328 --- /dev/null +++ b/priv/static/emoji/1f520.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f521.svg b/priv/static/emoji/1f521.svg new file mode 100644 index 000000000..4cc64b9e7 --- /dev/null +++ b/priv/static/emoji/1f521.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f522.svg b/priv/static/emoji/1f522.svg new file mode 100644 index 000000000..75de7d6da --- /dev/null +++ b/priv/static/emoji/1f522.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f523.svg b/priv/static/emoji/1f523.svg new file mode 100644 index 000000000..c30182b50 --- /dev/null +++ b/priv/static/emoji/1f523.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f524.svg b/priv/static/emoji/1f524.svg new file mode 100644 index 000000000..6f9f763f0 --- /dev/null +++ b/priv/static/emoji/1f524.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f525.svg b/priv/static/emoji/1f525.svg new file mode 100644 index 000000000..4c5a36a6f --- /dev/null +++ b/priv/static/emoji/1f525.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f526.svg b/priv/static/emoji/1f526.svg new file mode 100644 index 000000000..f934e9d5c --- /dev/null +++ b/priv/static/emoji/1f526.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f527.svg b/priv/static/emoji/1f527.svg new file mode 100644 index 000000000..26775fd0a --- /dev/null +++ b/priv/static/emoji/1f527.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f528.svg b/priv/static/emoji/1f528.svg new file mode 100644 index 000000000..d506977e1 --- /dev/null +++ b/priv/static/emoji/1f528.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f529.svg b/priv/static/emoji/1f529.svg new file mode 100644 index 000000000..3da1ee738 --- /dev/null +++ b/priv/static/emoji/1f529.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f52a.svg b/priv/static/emoji/1f52a.svg new file mode 100644 index 000000000..d260eaf87 --- /dev/null +++ b/priv/static/emoji/1f52a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f52b.svg b/priv/static/emoji/1f52b.svg new file mode 100644 index 000000000..fa4e11d88 --- /dev/null +++ b/priv/static/emoji/1f52b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f52c.svg b/priv/static/emoji/1f52c.svg new file mode 100644 index 000000000..511a102e2 --- /dev/null +++ b/priv/static/emoji/1f52c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f52d.svg b/priv/static/emoji/1f52d.svg new file mode 100644 index 000000000..67df6ece7 --- /dev/null +++ b/priv/static/emoji/1f52d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f52e.svg b/priv/static/emoji/1f52e.svg new file mode 100644 index 000000000..1fbcefcb9 --- /dev/null +++ b/priv/static/emoji/1f52e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f52f.svg b/priv/static/emoji/1f52f.svg new file mode 100644 index 000000000..e31b3e04c --- /dev/null +++ b/priv/static/emoji/1f52f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f530.svg b/priv/static/emoji/1f530.svg new file mode 100644 index 000000000..8ed169ae5 --- /dev/null +++ b/priv/static/emoji/1f530.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f531.svg b/priv/static/emoji/1f531.svg new file mode 100644 index 000000000..ded296271 --- /dev/null +++ b/priv/static/emoji/1f531.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f532.svg b/priv/static/emoji/1f532.svg new file mode 100644 index 000000000..8d17e1757 --- /dev/null +++ b/priv/static/emoji/1f532.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f533.svg b/priv/static/emoji/1f533.svg new file mode 100644 index 000000000..485afa920 --- /dev/null +++ b/priv/static/emoji/1f533.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f534.svg b/priv/static/emoji/1f534.svg new file mode 100644 index 000000000..fe221ca00 --- /dev/null +++ b/priv/static/emoji/1f534.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f535.svg b/priv/static/emoji/1f535.svg new file mode 100644 index 000000000..fc3f6e9a0 --- /dev/null +++ b/priv/static/emoji/1f535.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f536.svg b/priv/static/emoji/1f536.svg new file mode 100644 index 000000000..fdcbdce96 --- /dev/null +++ b/priv/static/emoji/1f536.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f537.svg b/priv/static/emoji/1f537.svg new file mode 100644 index 000000000..3ef69732f --- /dev/null +++ b/priv/static/emoji/1f537.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f538.svg b/priv/static/emoji/1f538.svg new file mode 100644 index 000000000..7b78e0bd8 --- /dev/null +++ b/priv/static/emoji/1f538.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f539.svg b/priv/static/emoji/1f539.svg new file mode 100644 index 000000000..9798bdd62 --- /dev/null +++ b/priv/static/emoji/1f539.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f53a.svg b/priv/static/emoji/1f53a.svg new file mode 100644 index 000000000..11a872d9e --- /dev/null +++ b/priv/static/emoji/1f53a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f53b.svg b/priv/static/emoji/1f53b.svg new file mode 100644 index 000000000..2e6655267 --- /dev/null +++ b/priv/static/emoji/1f53b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f53c.svg b/priv/static/emoji/1f53c.svg new file mode 100644 index 000000000..08d218b67 --- /dev/null +++ b/priv/static/emoji/1f53c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f53d.svg b/priv/static/emoji/1f53d.svg new file mode 100644 index 000000000..47ef8e021 --- /dev/null +++ b/priv/static/emoji/1f53d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f549.svg b/priv/static/emoji/1f549.svg new file mode 100644 index 000000000..cb310e362 --- /dev/null +++ b/priv/static/emoji/1f549.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f54a.svg b/priv/static/emoji/1f54a.svg new file mode 100644 index 000000000..ac560ea66 --- /dev/null +++ b/priv/static/emoji/1f54a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f54b.svg b/priv/static/emoji/1f54b.svg new file mode 100644 index 000000000..92bc70f83 --- /dev/null +++ b/priv/static/emoji/1f54b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f54c.svg b/priv/static/emoji/1f54c.svg new file mode 100644 index 000000000..446c3c6f1 --- /dev/null +++ b/priv/static/emoji/1f54c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f54d.svg b/priv/static/emoji/1f54d.svg new file mode 100644 index 000000000..5f33b368b --- /dev/null +++ b/priv/static/emoji/1f54d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f54e.svg b/priv/static/emoji/1f54e.svg new file mode 100644 index 000000000..aa69dd7e1 --- /dev/null +++ b/priv/static/emoji/1f54e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f550.svg b/priv/static/emoji/1f550.svg new file mode 100644 index 000000000..3b8391d07 --- /dev/null +++ b/priv/static/emoji/1f550.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f551.svg b/priv/static/emoji/1f551.svg new file mode 100644 index 000000000..9094bf4ff --- /dev/null +++ b/priv/static/emoji/1f551.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f552.svg b/priv/static/emoji/1f552.svg new file mode 100644 index 000000000..d7627919e --- /dev/null +++ b/priv/static/emoji/1f552.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f553.svg b/priv/static/emoji/1f553.svg new file mode 100644 index 000000000..c8825cbab --- /dev/null +++ b/priv/static/emoji/1f553.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f554.svg b/priv/static/emoji/1f554.svg new file mode 100644 index 000000000..1002512b4 --- /dev/null +++ b/priv/static/emoji/1f554.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f555.svg b/priv/static/emoji/1f555.svg new file mode 100644 index 000000000..8f4cf5d8a --- /dev/null +++ b/priv/static/emoji/1f555.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f556.svg b/priv/static/emoji/1f556.svg new file mode 100644 index 000000000..b160ba8de --- /dev/null +++ b/priv/static/emoji/1f556.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f557.svg b/priv/static/emoji/1f557.svg new file mode 100644 index 000000000..bf351fd08 --- /dev/null +++ b/priv/static/emoji/1f557.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f558.svg b/priv/static/emoji/1f558.svg new file mode 100644 index 000000000..ff38ea75b --- /dev/null +++ b/priv/static/emoji/1f558.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f559.svg b/priv/static/emoji/1f559.svg new file mode 100644 index 000000000..e341eb5cc --- /dev/null +++ b/priv/static/emoji/1f559.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f55a.svg b/priv/static/emoji/1f55a.svg new file mode 100644 index 000000000..0f916d26d --- /dev/null +++ b/priv/static/emoji/1f55a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f55b.svg b/priv/static/emoji/1f55b.svg new file mode 100644 index 000000000..1e9903606 --- /dev/null +++ b/priv/static/emoji/1f55b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f55c.svg b/priv/static/emoji/1f55c.svg new file mode 100644 index 000000000..d98c28884 --- /dev/null +++ b/priv/static/emoji/1f55c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f55d.svg b/priv/static/emoji/1f55d.svg new file mode 100644 index 000000000..efdbe5ca4 --- /dev/null +++ b/priv/static/emoji/1f55d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f55e.svg b/priv/static/emoji/1f55e.svg new file mode 100644 index 000000000..e8a5b47a8 --- /dev/null +++ b/priv/static/emoji/1f55e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f55f.svg b/priv/static/emoji/1f55f.svg new file mode 100644 index 000000000..46d2f6098 --- /dev/null +++ b/priv/static/emoji/1f55f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f560.svg b/priv/static/emoji/1f560.svg new file mode 100644 index 000000000..6b1eeabaa --- /dev/null +++ b/priv/static/emoji/1f560.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f561.svg b/priv/static/emoji/1f561.svg new file mode 100644 index 000000000..5510c2375 --- /dev/null +++ b/priv/static/emoji/1f561.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f562.svg b/priv/static/emoji/1f562.svg new file mode 100644 index 000000000..d600d0e19 --- /dev/null +++ b/priv/static/emoji/1f562.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f563.svg b/priv/static/emoji/1f563.svg new file mode 100644 index 000000000..7b1bf9359 --- /dev/null +++ b/priv/static/emoji/1f563.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f564.svg b/priv/static/emoji/1f564.svg new file mode 100644 index 000000000..1ee190a63 --- /dev/null +++ b/priv/static/emoji/1f564.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f565.svg b/priv/static/emoji/1f565.svg new file mode 100644 index 000000000..e68c2eb3a --- /dev/null +++ b/priv/static/emoji/1f565.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f566.svg b/priv/static/emoji/1f566.svg new file mode 100644 index 000000000..67e850cbf --- /dev/null +++ b/priv/static/emoji/1f566.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f567.svg b/priv/static/emoji/1f567.svg new file mode 100644 index 000000000..b5bb0e0a6 --- /dev/null +++ b/priv/static/emoji/1f567.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f56f.svg b/priv/static/emoji/1f56f.svg new file mode 100644 index 000000000..826430435 --- /dev/null +++ b/priv/static/emoji/1f56f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f570.svg b/priv/static/emoji/1f570.svg new file mode 100644 index 000000000..408633459 --- /dev/null +++ b/priv/static/emoji/1f570.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f573.svg b/priv/static/emoji/1f573.svg new file mode 100644 index 000000000..d45030a30 --- /dev/null +++ b/priv/static/emoji/1f573.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f574-1f3fb.svg b/priv/static/emoji/1f574-1f3fb.svg new file mode 100644 index 000000000..557e7da46 --- /dev/null +++ b/priv/static/emoji/1f574-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f574-1f3fc.svg b/priv/static/emoji/1f574-1f3fc.svg new file mode 100644 index 000000000..e7934589d --- /dev/null +++ b/priv/static/emoji/1f574-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f574-1f3fd.svg b/priv/static/emoji/1f574-1f3fd.svg new file mode 100644 index 000000000..e0fc839fa --- /dev/null +++ b/priv/static/emoji/1f574-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f574-1f3fe.svg b/priv/static/emoji/1f574-1f3fe.svg new file mode 100644 index 000000000..ea1743997 --- /dev/null +++ b/priv/static/emoji/1f574-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f574-1f3ff.svg b/priv/static/emoji/1f574-1f3ff.svg new file mode 100644 index 000000000..bae73e205 --- /dev/null +++ b/priv/static/emoji/1f574-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f574.svg b/priv/static/emoji/1f574.svg new file mode 100644 index 000000000..cf6aa4b7e --- /dev/null +++ b/priv/static/emoji/1f574.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f575-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..22d2265a6 --- /dev/null +++ b/priv/static/emoji/1f575-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f575-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..87429276e --- /dev/null +++ b/priv/static/emoji/1f575-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fb.svg b/priv/static/emoji/1f575-1f3fb.svg new file mode 100644 index 000000000..87429276e --- /dev/null +++ b/priv/static/emoji/1f575-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f575-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..110603c47 --- /dev/null +++ b/priv/static/emoji/1f575-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f575-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..a76aeba51 --- /dev/null +++ b/priv/static/emoji/1f575-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fc.svg b/priv/static/emoji/1f575-1f3fc.svg new file mode 100644 index 000000000..a76aeba51 --- /dev/null +++ b/priv/static/emoji/1f575-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f575-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..5ed697977 --- /dev/null +++ b/priv/static/emoji/1f575-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f575-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..85821083d --- /dev/null +++ b/priv/static/emoji/1f575-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fd.svg b/priv/static/emoji/1f575-1f3fd.svg new file mode 100644 index 000000000..85821083d --- /dev/null +++ b/priv/static/emoji/1f575-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f575-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..4099bdc92 --- /dev/null +++ b/priv/static/emoji/1f575-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f575-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..917dc1777 --- /dev/null +++ b/priv/static/emoji/1f575-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3fe.svg b/priv/static/emoji/1f575-1f3fe.svg new file mode 100644 index 000000000..917dc1777 --- /dev/null +++ b/priv/static/emoji/1f575-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f575-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..f1e2b8c5e --- /dev/null +++ b/priv/static/emoji/1f575-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f575-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..04dc79582 --- /dev/null +++ b/priv/static/emoji/1f575-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-1f3ff.svg b/priv/static/emoji/1f575-1f3ff.svg new file mode 100644 index 000000000..04dc79582 --- /dev/null +++ b/priv/static/emoji/1f575-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-fe0f-200d-2640-fe0f.svg b/priv/static/emoji/1f575-fe0f-200d-2640-fe0f.svg new file mode 100644 index 000000000..625c83007 --- /dev/null +++ b/priv/static/emoji/1f575-fe0f-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575-fe0f-200d-2642-fe0f.svg b/priv/static/emoji/1f575-fe0f-200d-2642-fe0f.svg new file mode 100644 index 000000000..89e86fd2c --- /dev/null +++ b/priv/static/emoji/1f575-fe0f-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f575.svg b/priv/static/emoji/1f575.svg new file mode 100644 index 000000000..89e86fd2c --- /dev/null +++ b/priv/static/emoji/1f575.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f576.svg b/priv/static/emoji/1f576.svg new file mode 100644 index 000000000..07dfcf045 --- /dev/null +++ b/priv/static/emoji/1f576.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f577.svg b/priv/static/emoji/1f577.svg new file mode 100644 index 000000000..35c53883b --- /dev/null +++ b/priv/static/emoji/1f577.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f578.svg b/priv/static/emoji/1f578.svg new file mode 100644 index 000000000..a09fb444a --- /dev/null +++ b/priv/static/emoji/1f578.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f579.svg b/priv/static/emoji/1f579.svg new file mode 100644 index 000000000..a8290299b --- /dev/null +++ b/priv/static/emoji/1f579.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f57a-1f3fb.svg b/priv/static/emoji/1f57a-1f3fb.svg new file mode 100644 index 000000000..4e375b9f1 --- /dev/null +++ b/priv/static/emoji/1f57a-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f57a-1f3fc.svg b/priv/static/emoji/1f57a-1f3fc.svg new file mode 100644 index 000000000..f88efc751 --- /dev/null +++ b/priv/static/emoji/1f57a-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f57a-1f3fd.svg b/priv/static/emoji/1f57a-1f3fd.svg new file mode 100644 index 000000000..b2e430355 --- /dev/null +++ b/priv/static/emoji/1f57a-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f57a-1f3fe.svg b/priv/static/emoji/1f57a-1f3fe.svg new file mode 100644 index 000000000..efec3c0e4 --- /dev/null +++ b/priv/static/emoji/1f57a-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f57a-1f3ff.svg b/priv/static/emoji/1f57a-1f3ff.svg new file mode 100644 index 000000000..f8b9c9c0f --- /dev/null +++ b/priv/static/emoji/1f57a-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f57a.svg b/priv/static/emoji/1f57a.svg new file mode 100644 index 000000000..6dd771005 --- /dev/null +++ b/priv/static/emoji/1f57a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f587.svg b/priv/static/emoji/1f587.svg new file mode 100644 index 000000000..8f33de38d --- /dev/null +++ b/priv/static/emoji/1f587.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f58a.svg b/priv/static/emoji/1f58a.svg new file mode 100644 index 000000000..88dafbf5c --- /dev/null +++ b/priv/static/emoji/1f58a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f58b.svg b/priv/static/emoji/1f58b.svg new file mode 100644 index 000000000..a73b05883 --- /dev/null +++ b/priv/static/emoji/1f58b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f58c.svg b/priv/static/emoji/1f58c.svg new file mode 100644 index 000000000..ccff7f8f6 --- /dev/null +++ b/priv/static/emoji/1f58c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f58d.svg b/priv/static/emoji/1f58d.svg new file mode 100644 index 000000000..69bc06e75 --- /dev/null +++ b/priv/static/emoji/1f58d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f590-1f3fb.svg b/priv/static/emoji/1f590-1f3fb.svg new file mode 100644 index 000000000..bd1bf5aae --- /dev/null +++ b/priv/static/emoji/1f590-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f590-1f3fc.svg b/priv/static/emoji/1f590-1f3fc.svg new file mode 100644 index 000000000..9082d2b68 --- /dev/null +++ b/priv/static/emoji/1f590-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f590-1f3fd.svg b/priv/static/emoji/1f590-1f3fd.svg new file mode 100644 index 000000000..1eaeadc29 --- /dev/null +++ b/priv/static/emoji/1f590-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f590-1f3fe.svg b/priv/static/emoji/1f590-1f3fe.svg new file mode 100644 index 000000000..1fe6d0be7 --- /dev/null +++ b/priv/static/emoji/1f590-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f590-1f3ff.svg b/priv/static/emoji/1f590-1f3ff.svg new file mode 100644 index 000000000..5a2ece62c --- /dev/null +++ b/priv/static/emoji/1f590-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f590.svg b/priv/static/emoji/1f590.svg new file mode 100644 index 000000000..5d7b83f46 --- /dev/null +++ b/priv/static/emoji/1f590.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f595-1f3fb.svg b/priv/static/emoji/1f595-1f3fb.svg new file mode 100644 index 000000000..29cb0ad89 --- /dev/null +++ b/priv/static/emoji/1f595-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f595-1f3fc.svg b/priv/static/emoji/1f595-1f3fc.svg new file mode 100644 index 000000000..b8a18628e --- /dev/null +++ b/priv/static/emoji/1f595-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f595-1f3fd.svg b/priv/static/emoji/1f595-1f3fd.svg new file mode 100644 index 000000000..35a676a20 --- /dev/null +++ b/priv/static/emoji/1f595-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f595-1f3fe.svg b/priv/static/emoji/1f595-1f3fe.svg new file mode 100644 index 000000000..0f3c877bc --- /dev/null +++ b/priv/static/emoji/1f595-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f595-1f3ff.svg b/priv/static/emoji/1f595-1f3ff.svg new file mode 100644 index 000000000..a5592dda9 --- /dev/null +++ b/priv/static/emoji/1f595-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f595.svg b/priv/static/emoji/1f595.svg new file mode 100644 index 000000000..2ca84e3ba --- /dev/null +++ b/priv/static/emoji/1f595.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f596-1f3fb.svg b/priv/static/emoji/1f596-1f3fb.svg new file mode 100644 index 000000000..1a7d5d6d5 --- /dev/null +++ b/priv/static/emoji/1f596-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f596-1f3fc.svg b/priv/static/emoji/1f596-1f3fc.svg new file mode 100644 index 000000000..da2236382 --- /dev/null +++ b/priv/static/emoji/1f596-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f596-1f3fd.svg b/priv/static/emoji/1f596-1f3fd.svg new file mode 100644 index 000000000..c688db96a --- /dev/null +++ b/priv/static/emoji/1f596-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f596-1f3fe.svg b/priv/static/emoji/1f596-1f3fe.svg new file mode 100644 index 000000000..2fc051573 --- /dev/null +++ b/priv/static/emoji/1f596-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f596-1f3ff.svg b/priv/static/emoji/1f596-1f3ff.svg new file mode 100644 index 000000000..881988397 --- /dev/null +++ b/priv/static/emoji/1f596-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f596.svg b/priv/static/emoji/1f596.svg new file mode 100644 index 000000000..8126598d2 --- /dev/null +++ b/priv/static/emoji/1f596.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5a4.svg b/priv/static/emoji/1f5a4.svg new file mode 100644 index 000000000..8d3556c4e --- /dev/null +++ b/priv/static/emoji/1f5a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5a5.svg b/priv/static/emoji/1f5a5.svg new file mode 100644 index 000000000..36b9da1fe --- /dev/null +++ b/priv/static/emoji/1f5a5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5a8.svg b/priv/static/emoji/1f5a8.svg new file mode 100644 index 000000000..a34359e13 --- /dev/null +++ b/priv/static/emoji/1f5a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5b1.svg b/priv/static/emoji/1f5b1.svg new file mode 100644 index 000000000..cbad4fd06 --- /dev/null +++ b/priv/static/emoji/1f5b1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5b2.svg b/priv/static/emoji/1f5b2.svg new file mode 100644 index 000000000..fd464c096 --- /dev/null +++ b/priv/static/emoji/1f5b2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5bc.svg b/priv/static/emoji/1f5bc.svg new file mode 100644 index 000000000..8d935157a --- /dev/null +++ b/priv/static/emoji/1f5bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5c2.svg b/priv/static/emoji/1f5c2.svg new file mode 100644 index 000000000..b63f3914c --- /dev/null +++ b/priv/static/emoji/1f5c2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5c3.svg b/priv/static/emoji/1f5c3.svg new file mode 100644 index 000000000..743f964e6 --- /dev/null +++ b/priv/static/emoji/1f5c3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5c4.svg b/priv/static/emoji/1f5c4.svg new file mode 100644 index 000000000..d3986817f --- /dev/null +++ b/priv/static/emoji/1f5c4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5d1.svg b/priv/static/emoji/1f5d1.svg new file mode 100644 index 000000000..d9ea71a06 --- /dev/null +++ b/priv/static/emoji/1f5d1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5d2.svg b/priv/static/emoji/1f5d2.svg new file mode 100644 index 000000000..61e735eb9 --- /dev/null +++ b/priv/static/emoji/1f5d2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5d3.svg b/priv/static/emoji/1f5d3.svg new file mode 100644 index 000000000..cd3ce2757 --- /dev/null +++ b/priv/static/emoji/1f5d3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5dc.svg b/priv/static/emoji/1f5dc.svg new file mode 100644 index 000000000..412bf6bf7 --- /dev/null +++ b/priv/static/emoji/1f5dc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5dd.svg b/priv/static/emoji/1f5dd.svg new file mode 100644 index 000000000..bd1d99581 --- /dev/null +++ b/priv/static/emoji/1f5dd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5de.svg b/priv/static/emoji/1f5de.svg new file mode 100644 index 000000000..f99430638 --- /dev/null +++ b/priv/static/emoji/1f5de.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5e1.svg b/priv/static/emoji/1f5e1.svg new file mode 100644 index 000000000..9f4d1b5da --- /dev/null +++ b/priv/static/emoji/1f5e1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5e3.svg b/priv/static/emoji/1f5e3.svg new file mode 100644 index 000000000..ded1caa61 --- /dev/null +++ b/priv/static/emoji/1f5e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5e8.svg b/priv/static/emoji/1f5e8.svg new file mode 100644 index 000000000..d158c6e25 --- /dev/null +++ b/priv/static/emoji/1f5e8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5ef.svg b/priv/static/emoji/1f5ef.svg new file mode 100644 index 000000000..f9f4c9be1 --- /dev/null +++ b/priv/static/emoji/1f5ef.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5f3.svg b/priv/static/emoji/1f5f3.svg new file mode 100644 index 000000000..4aa277eb0 --- /dev/null +++ b/priv/static/emoji/1f5f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5fa.svg b/priv/static/emoji/1f5fa.svg new file mode 100644 index 000000000..b6e48a7c1 --- /dev/null +++ b/priv/static/emoji/1f5fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5fb.svg b/priv/static/emoji/1f5fb.svg new file mode 100644 index 000000000..68b542bc1 --- /dev/null +++ b/priv/static/emoji/1f5fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5fc.svg b/priv/static/emoji/1f5fc.svg new file mode 100644 index 000000000..40ee1e93b --- /dev/null +++ b/priv/static/emoji/1f5fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5fd.svg b/priv/static/emoji/1f5fd.svg new file mode 100644 index 000000000..bbdd9f727 --- /dev/null +++ b/priv/static/emoji/1f5fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5fe.svg b/priv/static/emoji/1f5fe.svg new file mode 100644 index 000000000..02b5e88d6 --- /dev/null +++ b/priv/static/emoji/1f5fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f5ff.svg b/priv/static/emoji/1f5ff.svg new file mode 100644 index 000000000..ebe179192 --- /dev/null +++ b/priv/static/emoji/1f5ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f600.svg b/priv/static/emoji/1f600.svg new file mode 100644 index 000000000..d7e74f2d7 --- /dev/null +++ b/priv/static/emoji/1f600.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f601.svg b/priv/static/emoji/1f601.svg new file mode 100644 index 000000000..5f3b93ea0 --- /dev/null +++ b/priv/static/emoji/1f601.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f602.svg b/priv/static/emoji/1f602.svg new file mode 100644 index 000000000..09650895a --- /dev/null +++ b/priv/static/emoji/1f602.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f603.svg b/priv/static/emoji/1f603.svg new file mode 100644 index 000000000..3b0f5413f --- /dev/null +++ b/priv/static/emoji/1f603.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f604.svg b/priv/static/emoji/1f604.svg new file mode 100644 index 000000000..c0d62c68d --- /dev/null +++ b/priv/static/emoji/1f604.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f605.svg b/priv/static/emoji/1f605.svg new file mode 100644 index 000000000..2d9c1104c --- /dev/null +++ b/priv/static/emoji/1f605.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f606.svg b/priv/static/emoji/1f606.svg new file mode 100644 index 000000000..b802bce3e --- /dev/null +++ b/priv/static/emoji/1f606.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f607.svg b/priv/static/emoji/1f607.svg new file mode 100644 index 000000000..c5139cb9d --- /dev/null +++ b/priv/static/emoji/1f607.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f608.svg b/priv/static/emoji/1f608.svg new file mode 100644 index 000000000..770f118d9 --- /dev/null +++ b/priv/static/emoji/1f608.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f609.svg b/priv/static/emoji/1f609.svg new file mode 100644 index 000000000..0a7bf7fb8 --- /dev/null +++ b/priv/static/emoji/1f609.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f60a.svg b/priv/static/emoji/1f60a.svg new file mode 100644 index 000000000..ad888b581 --- /dev/null +++ b/priv/static/emoji/1f60a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f60b.svg b/priv/static/emoji/1f60b.svg new file mode 100644 index 000000000..1439ed01e --- /dev/null +++ b/priv/static/emoji/1f60b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f60c.svg b/priv/static/emoji/1f60c.svg new file mode 100644 index 000000000..bad14b74f --- /dev/null +++ b/priv/static/emoji/1f60c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f60d.svg b/priv/static/emoji/1f60d.svg new file mode 100644 index 000000000..ea5dce36a --- /dev/null +++ b/priv/static/emoji/1f60d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f60e.svg b/priv/static/emoji/1f60e.svg new file mode 100644 index 000000000..4dfb1d675 --- /dev/null +++ b/priv/static/emoji/1f60e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f60f.svg b/priv/static/emoji/1f60f.svg new file mode 100644 index 000000000..886ea2e1b --- /dev/null +++ b/priv/static/emoji/1f60f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f610.svg b/priv/static/emoji/1f610.svg new file mode 100644 index 000000000..69a7a3816 --- /dev/null +++ b/priv/static/emoji/1f610.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f611.svg b/priv/static/emoji/1f611.svg new file mode 100644 index 000000000..71a6155a5 --- /dev/null +++ b/priv/static/emoji/1f611.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f612.svg b/priv/static/emoji/1f612.svg new file mode 100644 index 000000000..bc67b3aa0 --- /dev/null +++ b/priv/static/emoji/1f612.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f613.svg b/priv/static/emoji/1f613.svg new file mode 100644 index 000000000..82838f419 --- /dev/null +++ b/priv/static/emoji/1f613.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f614.svg b/priv/static/emoji/1f614.svg new file mode 100644 index 000000000..5125d919a --- /dev/null +++ b/priv/static/emoji/1f614.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f615.svg b/priv/static/emoji/1f615.svg new file mode 100644 index 000000000..0c29da5c2 --- /dev/null +++ b/priv/static/emoji/1f615.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f616.svg b/priv/static/emoji/1f616.svg new file mode 100644 index 000000000..cbdeaa055 --- /dev/null +++ b/priv/static/emoji/1f616.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f617.svg b/priv/static/emoji/1f617.svg new file mode 100644 index 000000000..4b0b62d8b --- /dev/null +++ b/priv/static/emoji/1f617.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f618.svg b/priv/static/emoji/1f618.svg new file mode 100644 index 000000000..2d920d99f --- /dev/null +++ b/priv/static/emoji/1f618.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f619.svg b/priv/static/emoji/1f619.svg new file mode 100644 index 000000000..e265c02f1 --- /dev/null +++ b/priv/static/emoji/1f619.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f61a.svg b/priv/static/emoji/1f61a.svg new file mode 100644 index 000000000..414193a78 --- /dev/null +++ b/priv/static/emoji/1f61a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f61b.svg b/priv/static/emoji/1f61b.svg new file mode 100644 index 000000000..eb39b5526 --- /dev/null +++ b/priv/static/emoji/1f61b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f61c.svg b/priv/static/emoji/1f61c.svg new file mode 100644 index 000000000..20dd42d42 --- /dev/null +++ b/priv/static/emoji/1f61c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f61d.svg b/priv/static/emoji/1f61d.svg new file mode 100644 index 000000000..8d5e50cc7 --- /dev/null +++ b/priv/static/emoji/1f61d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f61e.svg b/priv/static/emoji/1f61e.svg new file mode 100644 index 000000000..8ebcdf398 --- /dev/null +++ b/priv/static/emoji/1f61e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f61f.svg b/priv/static/emoji/1f61f.svg new file mode 100644 index 000000000..0ac3e37e1 --- /dev/null +++ b/priv/static/emoji/1f61f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f620.svg b/priv/static/emoji/1f620.svg new file mode 100644 index 000000000..70cc96a73 --- /dev/null +++ b/priv/static/emoji/1f620.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f621.svg b/priv/static/emoji/1f621.svg new file mode 100644 index 000000000..8913846df --- /dev/null +++ b/priv/static/emoji/1f621.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f622.svg b/priv/static/emoji/1f622.svg new file mode 100644 index 000000000..2d960b569 --- /dev/null +++ b/priv/static/emoji/1f622.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f623.svg b/priv/static/emoji/1f623.svg new file mode 100644 index 000000000..69e670b15 --- /dev/null +++ b/priv/static/emoji/1f623.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f624.svg b/priv/static/emoji/1f624.svg new file mode 100644 index 000000000..a3b73f63e --- /dev/null +++ b/priv/static/emoji/1f624.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f625.svg b/priv/static/emoji/1f625.svg new file mode 100644 index 000000000..1d06587ec --- /dev/null +++ b/priv/static/emoji/1f625.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f626.svg b/priv/static/emoji/1f626.svg new file mode 100644 index 000000000..11a2a0bf6 --- /dev/null +++ b/priv/static/emoji/1f626.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f627.svg b/priv/static/emoji/1f627.svg new file mode 100644 index 000000000..94aee7d3c --- /dev/null +++ b/priv/static/emoji/1f627.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f628.svg b/priv/static/emoji/1f628.svg new file mode 100644 index 000000000..d4cc4aa7c --- /dev/null +++ b/priv/static/emoji/1f628.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f629.svg b/priv/static/emoji/1f629.svg new file mode 100644 index 000000000..200c69f7d --- /dev/null +++ b/priv/static/emoji/1f629.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f62a.svg b/priv/static/emoji/1f62a.svg new file mode 100644 index 000000000..26f5e93a3 --- /dev/null +++ b/priv/static/emoji/1f62a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f62b.svg b/priv/static/emoji/1f62b.svg new file mode 100644 index 000000000..094fd685d --- /dev/null +++ b/priv/static/emoji/1f62b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f62c.svg b/priv/static/emoji/1f62c.svg new file mode 100644 index 000000000..6ef38ff1c --- /dev/null +++ b/priv/static/emoji/1f62c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f62d.svg b/priv/static/emoji/1f62d.svg new file mode 100644 index 000000000..87a656b31 --- /dev/null +++ b/priv/static/emoji/1f62d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f62e.svg b/priv/static/emoji/1f62e.svg new file mode 100644 index 000000000..4b54e4c74 --- /dev/null +++ b/priv/static/emoji/1f62e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f62f.svg b/priv/static/emoji/1f62f.svg new file mode 100644 index 000000000..192838a67 --- /dev/null +++ b/priv/static/emoji/1f62f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f630.svg b/priv/static/emoji/1f630.svg new file mode 100644 index 000000000..3463630bc --- /dev/null +++ b/priv/static/emoji/1f630.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f631.svg b/priv/static/emoji/1f631.svg new file mode 100644 index 000000000..cd901c7c1 --- /dev/null +++ b/priv/static/emoji/1f631.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f632.svg b/priv/static/emoji/1f632.svg new file mode 100644 index 000000000..6c07237f4 --- /dev/null +++ b/priv/static/emoji/1f632.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f633.svg b/priv/static/emoji/1f633.svg new file mode 100644 index 000000000..b4a717fab --- /dev/null +++ b/priv/static/emoji/1f633.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f634.svg b/priv/static/emoji/1f634.svg new file mode 100644 index 000000000..53b486a9d --- /dev/null +++ b/priv/static/emoji/1f634.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f635.svg b/priv/static/emoji/1f635.svg new file mode 100644 index 000000000..45a8bbed7 --- /dev/null +++ b/priv/static/emoji/1f635.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f636.svg b/priv/static/emoji/1f636.svg new file mode 100644 index 000000000..3eb385b1d --- /dev/null +++ b/priv/static/emoji/1f636.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f637.svg b/priv/static/emoji/1f637.svg new file mode 100644 index 000000000..c2de94b08 --- /dev/null +++ b/priv/static/emoji/1f637.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f638.svg b/priv/static/emoji/1f638.svg new file mode 100644 index 000000000..470dd7266 --- /dev/null +++ b/priv/static/emoji/1f638.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f639.svg b/priv/static/emoji/1f639.svg new file mode 100644 index 000000000..4cd1a535a --- /dev/null +++ b/priv/static/emoji/1f639.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f63a.svg b/priv/static/emoji/1f63a.svg new file mode 100644 index 000000000..c5d85658d --- /dev/null +++ b/priv/static/emoji/1f63a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f63b.svg b/priv/static/emoji/1f63b.svg new file mode 100644 index 000000000..7fbf39f0b --- /dev/null +++ b/priv/static/emoji/1f63b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f63c.svg b/priv/static/emoji/1f63c.svg new file mode 100644 index 000000000..496d0bfea --- /dev/null +++ b/priv/static/emoji/1f63c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f63d.svg b/priv/static/emoji/1f63d.svg new file mode 100644 index 000000000..147c3e5c0 --- /dev/null +++ b/priv/static/emoji/1f63d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f63e.svg b/priv/static/emoji/1f63e.svg new file mode 100644 index 000000000..edb262e0f --- /dev/null +++ b/priv/static/emoji/1f63e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f63f.svg b/priv/static/emoji/1f63f.svg new file mode 100644 index 000000000..1a0b5017e --- /dev/null +++ b/priv/static/emoji/1f63f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f640.svg b/priv/static/emoji/1f640.svg new file mode 100644 index 000000000..95462021a --- /dev/null +++ b/priv/static/emoji/1f640.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f641.svg b/priv/static/emoji/1f641.svg new file mode 100644 index 000000000..af09e8205 --- /dev/null +++ b/priv/static/emoji/1f641.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f642.svg b/priv/static/emoji/1f642.svg new file mode 100644 index 000000000..0eab08c53 --- /dev/null +++ b/priv/static/emoji/1f642.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f643.svg b/priv/static/emoji/1f643.svg new file mode 100644 index 000000000..b44e813c7 --- /dev/null +++ b/priv/static/emoji/1f643.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f644.svg b/priv/static/emoji/1f644.svg new file mode 100644 index 000000000..0d6bfd354 --- /dev/null +++ b/priv/static/emoji/1f644.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f645-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..74f9b85fd --- /dev/null +++ b/priv/static/emoji/1f645-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f645-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..71db02cba --- /dev/null +++ b/priv/static/emoji/1f645-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fb.svg b/priv/static/emoji/1f645-1f3fb.svg new file mode 100644 index 000000000..74f9b85fd --- /dev/null +++ b/priv/static/emoji/1f645-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f645-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..af386803e --- /dev/null +++ b/priv/static/emoji/1f645-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f645-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..67aae6cd5 --- /dev/null +++ b/priv/static/emoji/1f645-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fc.svg b/priv/static/emoji/1f645-1f3fc.svg new file mode 100644 index 000000000..af386803e --- /dev/null +++ b/priv/static/emoji/1f645-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f645-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..420a4d318 --- /dev/null +++ b/priv/static/emoji/1f645-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f645-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..d6d2b153b --- /dev/null +++ b/priv/static/emoji/1f645-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fd.svg b/priv/static/emoji/1f645-1f3fd.svg new file mode 100644 index 000000000..420a4d318 --- /dev/null +++ b/priv/static/emoji/1f645-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f645-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..fb7d1118b --- /dev/null +++ b/priv/static/emoji/1f645-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f645-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..ee5efbf77 --- /dev/null +++ b/priv/static/emoji/1f645-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3fe.svg b/priv/static/emoji/1f645-1f3fe.svg new file mode 100644 index 000000000..fb7d1118b --- /dev/null +++ b/priv/static/emoji/1f645-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f645-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..4bd472200 --- /dev/null +++ b/priv/static/emoji/1f645-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f645-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..ff3880c72 --- /dev/null +++ b/priv/static/emoji/1f645-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-1f3ff.svg b/priv/static/emoji/1f645-1f3ff.svg new file mode 100644 index 000000000..4bd472200 --- /dev/null +++ b/priv/static/emoji/1f645-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-200d-2640-fe0f.svg b/priv/static/emoji/1f645-200d-2640-fe0f.svg new file mode 100644 index 000000000..4d88d71eb --- /dev/null +++ b/priv/static/emoji/1f645-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645-200d-2642-fe0f.svg b/priv/static/emoji/1f645-200d-2642-fe0f.svg new file mode 100644 index 000000000..eae7e5fdb --- /dev/null +++ b/priv/static/emoji/1f645-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f645.svg b/priv/static/emoji/1f645.svg new file mode 100644 index 000000000..4d88d71eb --- /dev/null +++ b/priv/static/emoji/1f645.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f646-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..df103cc7a --- /dev/null +++ b/priv/static/emoji/1f646-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f646-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..0838f2dde --- /dev/null +++ b/priv/static/emoji/1f646-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fb.svg b/priv/static/emoji/1f646-1f3fb.svg new file mode 100644 index 000000000..df103cc7a --- /dev/null +++ b/priv/static/emoji/1f646-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f646-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..271cf8fd0 --- /dev/null +++ b/priv/static/emoji/1f646-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f646-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..3a1069e0b --- /dev/null +++ b/priv/static/emoji/1f646-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fc.svg b/priv/static/emoji/1f646-1f3fc.svg new file mode 100644 index 000000000..271cf8fd0 --- /dev/null +++ b/priv/static/emoji/1f646-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f646-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..16995b6a8 --- /dev/null +++ b/priv/static/emoji/1f646-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f646-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..910658dd2 --- /dev/null +++ b/priv/static/emoji/1f646-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fd.svg b/priv/static/emoji/1f646-1f3fd.svg new file mode 100644 index 000000000..16995b6a8 --- /dev/null +++ b/priv/static/emoji/1f646-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f646-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..7ddb98d58 --- /dev/null +++ b/priv/static/emoji/1f646-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f646-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..125caa0c6 --- /dev/null +++ b/priv/static/emoji/1f646-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3fe.svg b/priv/static/emoji/1f646-1f3fe.svg new file mode 100644 index 000000000..7ddb98d58 --- /dev/null +++ b/priv/static/emoji/1f646-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f646-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..2d91be69f --- /dev/null +++ b/priv/static/emoji/1f646-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f646-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..964fa2982 --- /dev/null +++ b/priv/static/emoji/1f646-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-1f3ff.svg b/priv/static/emoji/1f646-1f3ff.svg new file mode 100644 index 000000000..2d91be69f --- /dev/null +++ b/priv/static/emoji/1f646-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-200d-2640-fe0f.svg b/priv/static/emoji/1f646-200d-2640-fe0f.svg new file mode 100644 index 000000000..6f357f8e7 --- /dev/null +++ b/priv/static/emoji/1f646-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646-200d-2642-fe0f.svg b/priv/static/emoji/1f646-200d-2642-fe0f.svg new file mode 100644 index 000000000..236602e9f --- /dev/null +++ b/priv/static/emoji/1f646-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f646.svg b/priv/static/emoji/1f646.svg new file mode 100644 index 000000000..6f357f8e7 --- /dev/null +++ b/priv/static/emoji/1f646.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f647-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..fee297b9c --- /dev/null +++ b/priv/static/emoji/1f647-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f647-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..8b367d523 --- /dev/null +++ b/priv/static/emoji/1f647-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fb.svg b/priv/static/emoji/1f647-1f3fb.svg new file mode 100644 index 000000000..8b367d523 --- /dev/null +++ b/priv/static/emoji/1f647-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f647-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..a6e77cca7 --- /dev/null +++ b/priv/static/emoji/1f647-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f647-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..43f2bcb9c --- /dev/null +++ b/priv/static/emoji/1f647-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fc.svg b/priv/static/emoji/1f647-1f3fc.svg new file mode 100644 index 000000000..43f2bcb9c --- /dev/null +++ b/priv/static/emoji/1f647-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f647-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..8ee53b816 --- /dev/null +++ b/priv/static/emoji/1f647-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f647-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..4b07a0882 --- /dev/null +++ b/priv/static/emoji/1f647-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fd.svg b/priv/static/emoji/1f647-1f3fd.svg new file mode 100644 index 000000000..4b07a0882 --- /dev/null +++ b/priv/static/emoji/1f647-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f647-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..fc989b227 --- /dev/null +++ b/priv/static/emoji/1f647-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f647-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..851dae93d --- /dev/null +++ b/priv/static/emoji/1f647-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3fe.svg b/priv/static/emoji/1f647-1f3fe.svg new file mode 100644 index 000000000..851dae93d --- /dev/null +++ b/priv/static/emoji/1f647-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f647-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..1d3cfa1f1 --- /dev/null +++ b/priv/static/emoji/1f647-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f647-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..8fea01051 --- /dev/null +++ b/priv/static/emoji/1f647-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-1f3ff.svg b/priv/static/emoji/1f647-1f3ff.svg new file mode 100644 index 000000000..8fea01051 --- /dev/null +++ b/priv/static/emoji/1f647-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-200d-2640-fe0f.svg b/priv/static/emoji/1f647-200d-2640-fe0f.svg new file mode 100644 index 000000000..f4353ee98 --- /dev/null +++ b/priv/static/emoji/1f647-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647-200d-2642-fe0f.svg b/priv/static/emoji/1f647-200d-2642-fe0f.svg new file mode 100644 index 000000000..da2f281d4 --- /dev/null +++ b/priv/static/emoji/1f647-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f647.svg b/priv/static/emoji/1f647.svg new file mode 100644 index 000000000..da2f281d4 --- /dev/null +++ b/priv/static/emoji/1f647.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f648.svg b/priv/static/emoji/1f648.svg new file mode 100644 index 000000000..1d1f0924e --- /dev/null +++ b/priv/static/emoji/1f648.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f649.svg b/priv/static/emoji/1f649.svg new file mode 100644 index 000000000..db494cc26 --- /dev/null +++ b/priv/static/emoji/1f649.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64a.svg b/priv/static/emoji/1f64a.svg new file mode 100644 index 000000000..7c87f05eb --- /dev/null +++ b/priv/static/emoji/1f64a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f64b-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..231fcade4 --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f64b-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..ef3c817b0 --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fb.svg b/priv/static/emoji/1f64b-1f3fb.svg new file mode 100644 index 000000000..231fcade4 --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f64b-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..7157d7421 --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f64b-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..a0915c071 --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fc.svg b/priv/static/emoji/1f64b-1f3fc.svg new file mode 100644 index 000000000..7157d7421 --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f64b-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..45eb562ca --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f64b-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..c9634b8d6 --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fd.svg b/priv/static/emoji/1f64b-1f3fd.svg new file mode 100644 index 000000000..45eb562ca --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f64b-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..7d3b14a38 --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f64b-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..7b2c719bd --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3fe.svg b/priv/static/emoji/1f64b-1f3fe.svg new file mode 100644 index 000000000..7d3b14a38 --- /dev/null +++ b/priv/static/emoji/1f64b-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f64b-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..1dd14746a --- /dev/null +++ b/priv/static/emoji/1f64b-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f64b-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..ce0d45a1d --- /dev/null +++ b/priv/static/emoji/1f64b-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-1f3ff.svg b/priv/static/emoji/1f64b-1f3ff.svg new file mode 100644 index 000000000..1dd14746a --- /dev/null +++ b/priv/static/emoji/1f64b-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-200d-2640-fe0f.svg b/priv/static/emoji/1f64b-200d-2640-fe0f.svg new file mode 100644 index 000000000..e1a2f19dc --- /dev/null +++ b/priv/static/emoji/1f64b-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b-200d-2642-fe0f.svg b/priv/static/emoji/1f64b-200d-2642-fe0f.svg new file mode 100644 index 000000000..9f9aea0bf --- /dev/null +++ b/priv/static/emoji/1f64b-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64b.svg b/priv/static/emoji/1f64b.svg new file mode 100644 index 000000000..e1a2f19dc --- /dev/null +++ b/priv/static/emoji/1f64b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64c-1f3fb.svg b/priv/static/emoji/1f64c-1f3fb.svg new file mode 100644 index 000000000..4a0b194f1 --- /dev/null +++ b/priv/static/emoji/1f64c-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64c-1f3fc.svg b/priv/static/emoji/1f64c-1f3fc.svg new file mode 100644 index 000000000..077ea85a0 --- /dev/null +++ b/priv/static/emoji/1f64c-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64c-1f3fd.svg b/priv/static/emoji/1f64c-1f3fd.svg new file mode 100644 index 000000000..8b2e1e9eb --- /dev/null +++ b/priv/static/emoji/1f64c-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64c-1f3fe.svg b/priv/static/emoji/1f64c-1f3fe.svg new file mode 100644 index 000000000..e5b98fcfc --- /dev/null +++ b/priv/static/emoji/1f64c-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64c-1f3ff.svg b/priv/static/emoji/1f64c-1f3ff.svg new file mode 100644 index 000000000..65e7f1b2d --- /dev/null +++ b/priv/static/emoji/1f64c-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64c.svg b/priv/static/emoji/1f64c.svg new file mode 100644 index 000000000..4ff308a9d --- /dev/null +++ b/priv/static/emoji/1f64c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f64d-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..ba7323330 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f64d-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..174369312 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fb.svg b/priv/static/emoji/1f64d-1f3fb.svg new file mode 100644 index 000000000..ba7323330 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f64d-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..31ad900f6 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f64d-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..461dd9dc1 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fc.svg b/priv/static/emoji/1f64d-1f3fc.svg new file mode 100644 index 000000000..31ad900f6 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f64d-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..46f7a8c8d --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f64d-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..aa1741bc7 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fd.svg b/priv/static/emoji/1f64d-1f3fd.svg new file mode 100644 index 000000000..46f7a8c8d --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f64d-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..5e2e2fb7a --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f64d-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..2fb851f37 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3fe.svg b/priv/static/emoji/1f64d-1f3fe.svg new file mode 100644 index 000000000..5e2e2fb7a --- /dev/null +++ b/priv/static/emoji/1f64d-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f64d-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..e6acfa6f6 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f64d-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..3a24ff123 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-1f3ff.svg b/priv/static/emoji/1f64d-1f3ff.svg new file mode 100644 index 000000000..e6acfa6f6 --- /dev/null +++ b/priv/static/emoji/1f64d-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-200d-2640-fe0f.svg b/priv/static/emoji/1f64d-200d-2640-fe0f.svg new file mode 100644 index 000000000..293e6e48c --- /dev/null +++ b/priv/static/emoji/1f64d-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d-200d-2642-fe0f.svg b/priv/static/emoji/1f64d-200d-2642-fe0f.svg new file mode 100644 index 000000000..2ae727a4a --- /dev/null +++ b/priv/static/emoji/1f64d-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64d.svg b/priv/static/emoji/1f64d.svg new file mode 100644 index 000000000..293e6e48c --- /dev/null +++ b/priv/static/emoji/1f64d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f64e-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..08dd179a0 --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f64e-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..262ae3afe --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fb.svg b/priv/static/emoji/1f64e-1f3fb.svg new file mode 100644 index 000000000..08dd179a0 --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f64e-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..497b5f03b --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f64e-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..b6acfce32 --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fc.svg b/priv/static/emoji/1f64e-1f3fc.svg new file mode 100644 index 000000000..497b5f03b --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f64e-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..d034260af --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f64e-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..206cae502 --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fd.svg b/priv/static/emoji/1f64e-1f3fd.svg new file mode 100644 index 000000000..d034260af --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f64e-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..88f0cbf52 --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f64e-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..f66526e39 --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3fe.svg b/priv/static/emoji/1f64e-1f3fe.svg new file mode 100644 index 000000000..88f0cbf52 --- /dev/null +++ b/priv/static/emoji/1f64e-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f64e-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..2adddb911 --- /dev/null +++ b/priv/static/emoji/1f64e-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f64e-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..8bc4352d5 --- /dev/null +++ b/priv/static/emoji/1f64e-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-1f3ff.svg b/priv/static/emoji/1f64e-1f3ff.svg new file mode 100644 index 000000000..2adddb911 --- /dev/null +++ b/priv/static/emoji/1f64e-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-200d-2640-fe0f.svg b/priv/static/emoji/1f64e-200d-2640-fe0f.svg new file mode 100644 index 000000000..f63e4da85 --- /dev/null +++ b/priv/static/emoji/1f64e-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e-200d-2642-fe0f.svg b/priv/static/emoji/1f64e-200d-2642-fe0f.svg new file mode 100644 index 000000000..5f5c1e1d9 --- /dev/null +++ b/priv/static/emoji/1f64e-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64e.svg b/priv/static/emoji/1f64e.svg new file mode 100644 index 000000000..f63e4da85 --- /dev/null +++ b/priv/static/emoji/1f64e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64f-1f3fb.svg b/priv/static/emoji/1f64f-1f3fb.svg new file mode 100644 index 000000000..15e30c292 --- /dev/null +++ b/priv/static/emoji/1f64f-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64f-1f3fc.svg b/priv/static/emoji/1f64f-1f3fc.svg new file mode 100644 index 000000000..24fc1b494 --- /dev/null +++ b/priv/static/emoji/1f64f-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64f-1f3fd.svg b/priv/static/emoji/1f64f-1f3fd.svg new file mode 100644 index 000000000..00a919804 --- /dev/null +++ b/priv/static/emoji/1f64f-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64f-1f3fe.svg b/priv/static/emoji/1f64f-1f3fe.svg new file mode 100644 index 000000000..f18b44e14 --- /dev/null +++ b/priv/static/emoji/1f64f-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64f-1f3ff.svg b/priv/static/emoji/1f64f-1f3ff.svg new file mode 100644 index 000000000..f92564f7f --- /dev/null +++ b/priv/static/emoji/1f64f-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f64f.svg b/priv/static/emoji/1f64f.svg new file mode 100644 index 000000000..085c2c972 --- /dev/null +++ b/priv/static/emoji/1f64f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f680.svg b/priv/static/emoji/1f680.svg new file mode 100644 index 000000000..b26ded5cc --- /dev/null +++ b/priv/static/emoji/1f680.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f681.svg b/priv/static/emoji/1f681.svg new file mode 100644 index 000000000..cf0480df5 --- /dev/null +++ b/priv/static/emoji/1f681.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f682.svg b/priv/static/emoji/1f682.svg new file mode 100644 index 000000000..2ea090c6f --- /dev/null +++ b/priv/static/emoji/1f682.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f683.svg b/priv/static/emoji/1f683.svg new file mode 100644 index 000000000..30f3c027b --- /dev/null +++ b/priv/static/emoji/1f683.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f684.svg b/priv/static/emoji/1f684.svg new file mode 100644 index 000000000..e2c14f916 --- /dev/null +++ b/priv/static/emoji/1f684.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f685.svg b/priv/static/emoji/1f685.svg new file mode 100644 index 000000000..cc80bc4aa --- /dev/null +++ b/priv/static/emoji/1f685.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f686.svg b/priv/static/emoji/1f686.svg new file mode 100644 index 000000000..647ab0815 --- /dev/null +++ b/priv/static/emoji/1f686.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f687.svg b/priv/static/emoji/1f687.svg new file mode 100644 index 000000000..60c3d8268 --- /dev/null +++ b/priv/static/emoji/1f687.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f688.svg b/priv/static/emoji/1f688.svg new file mode 100644 index 000000000..cb6e6d42b --- /dev/null +++ b/priv/static/emoji/1f688.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f689.svg b/priv/static/emoji/1f689.svg new file mode 100644 index 000000000..1c5c465c0 --- /dev/null +++ b/priv/static/emoji/1f689.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f68a.svg b/priv/static/emoji/1f68a.svg new file mode 100644 index 000000000..829df7f8d --- /dev/null +++ b/priv/static/emoji/1f68a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f68b.svg b/priv/static/emoji/1f68b.svg new file mode 100644 index 000000000..5cb3696fd --- /dev/null +++ b/priv/static/emoji/1f68b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f68c.svg b/priv/static/emoji/1f68c.svg new file mode 100644 index 000000000..8b5db4e4b --- /dev/null +++ b/priv/static/emoji/1f68c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f68d.svg b/priv/static/emoji/1f68d.svg new file mode 100644 index 000000000..7bde4113e --- /dev/null +++ b/priv/static/emoji/1f68d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f68e.svg b/priv/static/emoji/1f68e.svg new file mode 100644 index 000000000..bac04094a --- /dev/null +++ b/priv/static/emoji/1f68e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f68f.svg b/priv/static/emoji/1f68f.svg new file mode 100644 index 000000000..e224dbc7e --- /dev/null +++ b/priv/static/emoji/1f68f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f690.svg b/priv/static/emoji/1f690.svg new file mode 100644 index 000000000..b2a3b1cc1 --- /dev/null +++ b/priv/static/emoji/1f690.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f691.svg b/priv/static/emoji/1f691.svg new file mode 100644 index 000000000..7c969bef8 --- /dev/null +++ b/priv/static/emoji/1f691.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f692.svg b/priv/static/emoji/1f692.svg new file mode 100644 index 000000000..a7672c43d --- /dev/null +++ b/priv/static/emoji/1f692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f693.svg b/priv/static/emoji/1f693.svg new file mode 100644 index 000000000..3241874c6 --- /dev/null +++ b/priv/static/emoji/1f693.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f694.svg b/priv/static/emoji/1f694.svg new file mode 100644 index 000000000..91e5aea9c --- /dev/null +++ b/priv/static/emoji/1f694.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f695.svg b/priv/static/emoji/1f695.svg new file mode 100644 index 000000000..0d7a21a7c --- /dev/null +++ b/priv/static/emoji/1f695.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f696.svg b/priv/static/emoji/1f696.svg new file mode 100644 index 000000000..da0c6c583 --- /dev/null +++ b/priv/static/emoji/1f696.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f697.svg b/priv/static/emoji/1f697.svg new file mode 100644 index 000000000..03e094c25 --- /dev/null +++ b/priv/static/emoji/1f697.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f698.svg b/priv/static/emoji/1f698.svg new file mode 100644 index 000000000..9adc06efb --- /dev/null +++ b/priv/static/emoji/1f698.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f699.svg b/priv/static/emoji/1f699.svg new file mode 100644 index 000000000..18d132b01 --- /dev/null +++ b/priv/static/emoji/1f699.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f69a.svg b/priv/static/emoji/1f69a.svg new file mode 100644 index 000000000..8a0d04a4a --- /dev/null +++ b/priv/static/emoji/1f69a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f69b.svg b/priv/static/emoji/1f69b.svg new file mode 100644 index 000000000..b5b3522a3 --- /dev/null +++ b/priv/static/emoji/1f69b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f69c.svg b/priv/static/emoji/1f69c.svg new file mode 100644 index 000000000..3c2d4ff5b --- /dev/null +++ b/priv/static/emoji/1f69c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f69d.svg b/priv/static/emoji/1f69d.svg new file mode 100644 index 000000000..f7cd69eea --- /dev/null +++ b/priv/static/emoji/1f69d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f69e.svg b/priv/static/emoji/1f69e.svg new file mode 100644 index 000000000..edab9bc15 --- /dev/null +++ b/priv/static/emoji/1f69e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f69f.svg b/priv/static/emoji/1f69f.svg new file mode 100644 index 000000000..f98920fd2 --- /dev/null +++ b/priv/static/emoji/1f69f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a0.svg b/priv/static/emoji/1f6a0.svg new file mode 100644 index 000000000..58ce005cd --- /dev/null +++ b/priv/static/emoji/1f6a0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a1.svg b/priv/static/emoji/1f6a1.svg new file mode 100644 index 000000000..c06e2d34a --- /dev/null +++ b/priv/static/emoji/1f6a1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a2.svg b/priv/static/emoji/1f6a2.svg new file mode 100644 index 000000000..015a830cb --- /dev/null +++ b/priv/static/emoji/1f6a2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f6a3-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..dc8b2470e --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f6a3-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..373293e11 --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fb.svg b/priv/static/emoji/1f6a3-1f3fb.svg new file mode 100644 index 000000000..373293e11 --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f6a3-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..cbf408854 --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f6a3-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..afcfc9d11 --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fc.svg b/priv/static/emoji/1f6a3-1f3fc.svg new file mode 100644 index 000000000..afcfc9d11 --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f6a3-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..dfb4cc90c --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f6a3-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..a68a29735 --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fd.svg b/priv/static/emoji/1f6a3-1f3fd.svg new file mode 100644 index 000000000..a68a29735 --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f6a3-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..b8125596f --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f6a3-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..4a0bdc0fd --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3fe.svg b/priv/static/emoji/1f6a3-1f3fe.svg new file mode 100644 index 000000000..4a0bdc0fd --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f6a3-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..ef0025a7f --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f6a3-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..11b8650dd --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-1f3ff.svg b/priv/static/emoji/1f6a3-1f3ff.svg new file mode 100644 index 000000000..11b8650dd --- /dev/null +++ b/priv/static/emoji/1f6a3-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-200d-2640-fe0f.svg b/priv/static/emoji/1f6a3-200d-2640-fe0f.svg new file mode 100644 index 000000000..923ed2b07 --- /dev/null +++ b/priv/static/emoji/1f6a3-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3-200d-2642-fe0f.svg b/priv/static/emoji/1f6a3-200d-2642-fe0f.svg new file mode 100644 index 000000000..fb16b9148 --- /dev/null +++ b/priv/static/emoji/1f6a3-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a3.svg b/priv/static/emoji/1f6a3.svg new file mode 100644 index 000000000..fb16b9148 --- /dev/null +++ b/priv/static/emoji/1f6a3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a4.svg b/priv/static/emoji/1f6a4.svg new file mode 100644 index 000000000..796817aa3 --- /dev/null +++ b/priv/static/emoji/1f6a4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a5.svg b/priv/static/emoji/1f6a5.svg new file mode 100644 index 000000000..d720e0043 --- /dev/null +++ b/priv/static/emoji/1f6a5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a6.svg b/priv/static/emoji/1f6a6.svg new file mode 100644 index 000000000..9949ca927 --- /dev/null +++ b/priv/static/emoji/1f6a6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a7.svg b/priv/static/emoji/1f6a7.svg new file mode 100644 index 000000000..39dbfd5af --- /dev/null +++ b/priv/static/emoji/1f6a7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a8.svg b/priv/static/emoji/1f6a8.svg new file mode 100644 index 000000000..dce1260ba --- /dev/null +++ b/priv/static/emoji/1f6a8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6a9.svg b/priv/static/emoji/1f6a9.svg new file mode 100644 index 000000000..44a68cf20 --- /dev/null +++ b/priv/static/emoji/1f6a9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6aa.svg b/priv/static/emoji/1f6aa.svg new file mode 100644 index 000000000..6743f42f6 --- /dev/null +++ b/priv/static/emoji/1f6aa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6ab.svg b/priv/static/emoji/1f6ab.svg new file mode 100644 index 000000000..deecfc9d5 --- /dev/null +++ b/priv/static/emoji/1f6ab.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6ac.svg b/priv/static/emoji/1f6ac.svg new file mode 100644 index 000000000..19d8f162d --- /dev/null +++ b/priv/static/emoji/1f6ac.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6ad.svg b/priv/static/emoji/1f6ad.svg new file mode 100644 index 000000000..504d2aaf3 --- /dev/null +++ b/priv/static/emoji/1f6ad.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6ae.svg b/priv/static/emoji/1f6ae.svg new file mode 100644 index 000000000..1a5d6ae55 --- /dev/null +++ b/priv/static/emoji/1f6ae.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6af.svg b/priv/static/emoji/1f6af.svg new file mode 100644 index 000000000..1e311893a --- /dev/null +++ b/priv/static/emoji/1f6af.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b0.svg b/priv/static/emoji/1f6b0.svg new file mode 100644 index 000000000..19c4240e9 --- /dev/null +++ b/priv/static/emoji/1f6b0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b1.svg b/priv/static/emoji/1f6b1.svg new file mode 100644 index 000000000..de985691e --- /dev/null +++ b/priv/static/emoji/1f6b1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b2.svg b/priv/static/emoji/1f6b2.svg new file mode 100644 index 000000000..e5638ad79 --- /dev/null +++ b/priv/static/emoji/1f6b2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b3.svg b/priv/static/emoji/1f6b3.svg new file mode 100644 index 000000000..0b1eee970 --- /dev/null +++ b/priv/static/emoji/1f6b3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f6b4-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..c949abec1 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f6b4-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..4a6d96ff9 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fb.svg b/priv/static/emoji/1f6b4-1f3fb.svg new file mode 100644 index 000000000..4a6d96ff9 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f6b4-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..10144b26f --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f6b4-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..0916f96a4 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fc.svg b/priv/static/emoji/1f6b4-1f3fc.svg new file mode 100644 index 000000000..0916f96a4 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f6b4-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..a14652605 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f6b4-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..488a0859f --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fd.svg b/priv/static/emoji/1f6b4-1f3fd.svg new file mode 100644 index 000000000..488a0859f --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f6b4-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..f667db53e --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f6b4-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..e3989ddb8 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3fe.svg b/priv/static/emoji/1f6b4-1f3fe.svg new file mode 100644 index 000000000..e3989ddb8 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f6b4-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..d0be70885 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f6b4-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..1c37cb110 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-1f3ff.svg b/priv/static/emoji/1f6b4-1f3ff.svg new file mode 100644 index 000000000..1c37cb110 --- /dev/null +++ b/priv/static/emoji/1f6b4-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-200d-2640-fe0f.svg b/priv/static/emoji/1f6b4-200d-2640-fe0f.svg new file mode 100644 index 000000000..69480c831 --- /dev/null +++ b/priv/static/emoji/1f6b4-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4-200d-2642-fe0f.svg b/priv/static/emoji/1f6b4-200d-2642-fe0f.svg new file mode 100644 index 000000000..68ec2c479 --- /dev/null +++ b/priv/static/emoji/1f6b4-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b4.svg b/priv/static/emoji/1f6b4.svg new file mode 100644 index 000000000..68ec2c479 --- /dev/null +++ b/priv/static/emoji/1f6b4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f6b5-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..86185f850 --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f6b5-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..f65d701a4 --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fb.svg b/priv/static/emoji/1f6b5-1f3fb.svg new file mode 100644 index 000000000..f65d701a4 --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f6b5-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..f876528ea --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f6b5-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..82785c12e --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fc.svg b/priv/static/emoji/1f6b5-1f3fc.svg new file mode 100644 index 000000000..82785c12e --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f6b5-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..29711f85f --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f6b5-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..19f190291 --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fd.svg b/priv/static/emoji/1f6b5-1f3fd.svg new file mode 100644 index 000000000..19f190291 --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f6b5-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..89b33acec --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f6b5-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..c57df8b11 --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3fe.svg b/priv/static/emoji/1f6b5-1f3fe.svg new file mode 100644 index 000000000..c57df8b11 --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f6b5-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..46b9a6206 --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f6b5-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..86402bd90 --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-1f3ff.svg b/priv/static/emoji/1f6b5-1f3ff.svg new file mode 100644 index 000000000..86402bd90 --- /dev/null +++ b/priv/static/emoji/1f6b5-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-200d-2640-fe0f.svg b/priv/static/emoji/1f6b5-200d-2640-fe0f.svg new file mode 100644 index 000000000..fa1a7a398 --- /dev/null +++ b/priv/static/emoji/1f6b5-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5-200d-2642-fe0f.svg b/priv/static/emoji/1f6b5-200d-2642-fe0f.svg new file mode 100644 index 000000000..ec9d2b0e1 --- /dev/null +++ b/priv/static/emoji/1f6b5-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b5.svg b/priv/static/emoji/1f6b5.svg new file mode 100644 index 000000000..ec9d2b0e1 --- /dev/null +++ b/priv/static/emoji/1f6b5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f6b6-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..6680792c3 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f6b6-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..b1ba45891 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fb.svg b/priv/static/emoji/1f6b6-1f3fb.svg new file mode 100644 index 000000000..b1ba45891 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f6b6-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..a6d74f765 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f6b6-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..5376c0717 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fc.svg b/priv/static/emoji/1f6b6-1f3fc.svg new file mode 100644 index 000000000..5376c0717 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f6b6-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..cab4ccb79 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f6b6-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..0bb556b98 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fd.svg b/priv/static/emoji/1f6b6-1f3fd.svg new file mode 100644 index 000000000..0bb556b98 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f6b6-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..3930cfc73 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f6b6-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..a1cc9c822 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3fe.svg b/priv/static/emoji/1f6b6-1f3fe.svg new file mode 100644 index 000000000..a1cc9c822 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f6b6-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..dcc4ea187 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f6b6-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..a1b476a85 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-1f3ff.svg b/priv/static/emoji/1f6b6-1f3ff.svg new file mode 100644 index 000000000..a1b476a85 --- /dev/null +++ b/priv/static/emoji/1f6b6-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-200d-2640-fe0f.svg b/priv/static/emoji/1f6b6-200d-2640-fe0f.svg new file mode 100644 index 000000000..8299d1af0 --- /dev/null +++ b/priv/static/emoji/1f6b6-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6-200d-2642-fe0f.svg b/priv/static/emoji/1f6b6-200d-2642-fe0f.svg new file mode 100644 index 000000000..db08fa81e --- /dev/null +++ b/priv/static/emoji/1f6b6-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b6.svg b/priv/static/emoji/1f6b6.svg new file mode 100644 index 000000000..db08fa81e --- /dev/null +++ b/priv/static/emoji/1f6b6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b7.svg b/priv/static/emoji/1f6b7.svg new file mode 100644 index 000000000..c857019e4 --- /dev/null +++ b/priv/static/emoji/1f6b7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b8.svg b/priv/static/emoji/1f6b8.svg new file mode 100644 index 000000000..0c007f613 --- /dev/null +++ b/priv/static/emoji/1f6b8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6b9.svg b/priv/static/emoji/1f6b9.svg new file mode 100644 index 000000000..2cea4e4ed --- /dev/null +++ b/priv/static/emoji/1f6b9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6ba.svg b/priv/static/emoji/1f6ba.svg new file mode 100644 index 000000000..354a204c4 --- /dev/null +++ b/priv/static/emoji/1f6ba.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6bb.svg b/priv/static/emoji/1f6bb.svg new file mode 100644 index 000000000..851ec0cf0 --- /dev/null +++ b/priv/static/emoji/1f6bb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6bc.svg b/priv/static/emoji/1f6bc.svg new file mode 100644 index 000000000..8c6a12e03 --- /dev/null +++ b/priv/static/emoji/1f6bc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6bd.svg b/priv/static/emoji/1f6bd.svg new file mode 100644 index 000000000..7caf81207 --- /dev/null +++ b/priv/static/emoji/1f6bd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6be.svg b/priv/static/emoji/1f6be.svg new file mode 100644 index 000000000..791c10122 --- /dev/null +++ b/priv/static/emoji/1f6be.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6bf.svg b/priv/static/emoji/1f6bf.svg new file mode 100644 index 000000000..e4bf5e223 --- /dev/null +++ b/priv/static/emoji/1f6bf.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c0-1f3fb.svg b/priv/static/emoji/1f6c0-1f3fb.svg new file mode 100644 index 000000000..8f47a3cfa --- /dev/null +++ b/priv/static/emoji/1f6c0-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c0-1f3fc.svg b/priv/static/emoji/1f6c0-1f3fc.svg new file mode 100644 index 000000000..958169f37 --- /dev/null +++ b/priv/static/emoji/1f6c0-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c0-1f3fd.svg b/priv/static/emoji/1f6c0-1f3fd.svg new file mode 100644 index 000000000..2975ade60 --- /dev/null +++ b/priv/static/emoji/1f6c0-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c0-1f3fe.svg b/priv/static/emoji/1f6c0-1f3fe.svg new file mode 100644 index 000000000..30a4a8cd3 --- /dev/null +++ b/priv/static/emoji/1f6c0-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c0-1f3ff.svg b/priv/static/emoji/1f6c0-1f3ff.svg new file mode 100644 index 000000000..15ae1a6e4 --- /dev/null +++ b/priv/static/emoji/1f6c0-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c0.svg b/priv/static/emoji/1f6c0.svg new file mode 100644 index 000000000..be47a8dda --- /dev/null +++ b/priv/static/emoji/1f6c0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c1.svg b/priv/static/emoji/1f6c1.svg new file mode 100644 index 000000000..baa62d48e --- /dev/null +++ b/priv/static/emoji/1f6c1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c2.svg b/priv/static/emoji/1f6c2.svg new file mode 100644 index 000000000..cb55bd488 --- /dev/null +++ b/priv/static/emoji/1f6c2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c3.svg b/priv/static/emoji/1f6c3.svg new file mode 100644 index 000000000..95062ee87 --- /dev/null +++ b/priv/static/emoji/1f6c3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c4.svg b/priv/static/emoji/1f6c4.svg new file mode 100644 index 000000000..9a0ce13dd --- /dev/null +++ b/priv/static/emoji/1f6c4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6c5.svg b/priv/static/emoji/1f6c5.svg new file mode 100644 index 000000000..c8396313c --- /dev/null +++ b/priv/static/emoji/1f6c5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6cb.svg b/priv/static/emoji/1f6cb.svg new file mode 100644 index 000000000..c452194bc --- /dev/null +++ b/priv/static/emoji/1f6cb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6cc-1f3fb.svg b/priv/static/emoji/1f6cc-1f3fb.svg new file mode 100644 index 000000000..f1b164169 --- /dev/null +++ b/priv/static/emoji/1f6cc-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6cc-1f3fc.svg b/priv/static/emoji/1f6cc-1f3fc.svg new file mode 100644 index 000000000..cdae6beb8 --- /dev/null +++ b/priv/static/emoji/1f6cc-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6cc-1f3fd.svg b/priv/static/emoji/1f6cc-1f3fd.svg new file mode 100644 index 000000000..c13dd711f --- /dev/null +++ b/priv/static/emoji/1f6cc-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6cc-1f3fe.svg b/priv/static/emoji/1f6cc-1f3fe.svg new file mode 100644 index 000000000..0bde531d0 --- /dev/null +++ b/priv/static/emoji/1f6cc-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6cc-1f3ff.svg b/priv/static/emoji/1f6cc-1f3ff.svg new file mode 100644 index 000000000..cddf398ac --- /dev/null +++ b/priv/static/emoji/1f6cc-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6cc.svg b/priv/static/emoji/1f6cc.svg new file mode 100644 index 000000000..cf6a9fac9 --- /dev/null +++ b/priv/static/emoji/1f6cc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6cd.svg b/priv/static/emoji/1f6cd.svg new file mode 100644 index 000000000..0ca3ece26 --- /dev/null +++ b/priv/static/emoji/1f6cd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6ce.svg b/priv/static/emoji/1f6ce.svg new file mode 100644 index 000000000..dab1704ee --- /dev/null +++ b/priv/static/emoji/1f6ce.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6cf.svg b/priv/static/emoji/1f6cf.svg new file mode 100644 index 000000000..59bc17175 --- /dev/null +++ b/priv/static/emoji/1f6cf.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6d0.svg b/priv/static/emoji/1f6d0.svg new file mode 100644 index 000000000..0ec8b1a12 --- /dev/null +++ b/priv/static/emoji/1f6d0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6d1.svg b/priv/static/emoji/1f6d1.svg new file mode 100644 index 000000000..96da3bba8 --- /dev/null +++ b/priv/static/emoji/1f6d1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6d2.svg b/priv/static/emoji/1f6d2.svg new file mode 100644 index 000000000..fa7ec4adf --- /dev/null +++ b/priv/static/emoji/1f6d2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6e0.svg b/priv/static/emoji/1f6e0.svg new file mode 100644 index 000000000..f7ac133b5 --- /dev/null +++ b/priv/static/emoji/1f6e0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6e1.svg b/priv/static/emoji/1f6e1.svg new file mode 100644 index 000000000..1f0c881fb --- /dev/null +++ b/priv/static/emoji/1f6e1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6e2.svg b/priv/static/emoji/1f6e2.svg new file mode 100644 index 000000000..9405fe36d --- /dev/null +++ b/priv/static/emoji/1f6e2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6e3.svg b/priv/static/emoji/1f6e3.svg new file mode 100644 index 000000000..69e58f850 --- /dev/null +++ b/priv/static/emoji/1f6e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6e4.svg b/priv/static/emoji/1f6e4.svg new file mode 100644 index 000000000..f6a4a6b31 --- /dev/null +++ b/priv/static/emoji/1f6e4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6e5.svg b/priv/static/emoji/1f6e5.svg new file mode 100644 index 000000000..50e7c3d36 --- /dev/null +++ b/priv/static/emoji/1f6e5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6e9.svg b/priv/static/emoji/1f6e9.svg new file mode 100644 index 000000000..2f42c60bf --- /dev/null +++ b/priv/static/emoji/1f6e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6eb.svg b/priv/static/emoji/1f6eb.svg new file mode 100644 index 000000000..5a76b58c2 --- /dev/null +++ b/priv/static/emoji/1f6eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6ec.svg b/priv/static/emoji/1f6ec.svg new file mode 100644 index 000000000..0493a97eb --- /dev/null +++ b/priv/static/emoji/1f6ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6f0.svg b/priv/static/emoji/1f6f0.svg new file mode 100644 index 000000000..d3b7ec6d4 --- /dev/null +++ b/priv/static/emoji/1f6f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6f3.svg b/priv/static/emoji/1f6f3.svg new file mode 100644 index 000000000..cede9fbc3 --- /dev/null +++ b/priv/static/emoji/1f6f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6f4.svg b/priv/static/emoji/1f6f4.svg new file mode 100644 index 000000000..d23b8a077 --- /dev/null +++ b/priv/static/emoji/1f6f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6f5.svg b/priv/static/emoji/1f6f5.svg new file mode 100644 index 000000000..d7b49c603 --- /dev/null +++ b/priv/static/emoji/1f6f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6f6.svg b/priv/static/emoji/1f6f6.svg new file mode 100644 index 000000000..9ec5a06c6 --- /dev/null +++ b/priv/static/emoji/1f6f6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6f7.svg b/priv/static/emoji/1f6f7.svg new file mode 100644 index 000000000..91f565373 --- /dev/null +++ b/priv/static/emoji/1f6f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f6f8.svg b/priv/static/emoji/1f6f8.svg new file mode 100644 index 000000000..5cc00c6a0 --- /dev/null +++ b/priv/static/emoji/1f6f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f910.svg b/priv/static/emoji/1f910.svg new file mode 100644 index 000000000..0c238b55f --- /dev/null +++ b/priv/static/emoji/1f910.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f911.svg b/priv/static/emoji/1f911.svg new file mode 100644 index 000000000..c3c3f6b6f --- /dev/null +++ b/priv/static/emoji/1f911.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f912.svg b/priv/static/emoji/1f912.svg new file mode 100644 index 000000000..37e1ee294 --- /dev/null +++ b/priv/static/emoji/1f912.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f913.svg b/priv/static/emoji/1f913.svg new file mode 100644 index 000000000..50cbdd2ba --- /dev/null +++ b/priv/static/emoji/1f913.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f914.svg b/priv/static/emoji/1f914.svg new file mode 100644 index 000000000..a7a571aa6 --- /dev/null +++ b/priv/static/emoji/1f914.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f915.svg b/priv/static/emoji/1f915.svg new file mode 100644 index 000000000..16bec115f --- /dev/null +++ b/priv/static/emoji/1f915.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f916.svg b/priv/static/emoji/1f916.svg new file mode 100644 index 000000000..9a9cf4b3e --- /dev/null +++ b/priv/static/emoji/1f916.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f917.svg b/priv/static/emoji/1f917.svg new file mode 100644 index 000000000..cc3524873 --- /dev/null +++ b/priv/static/emoji/1f917.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f918-1f3fb.svg b/priv/static/emoji/1f918-1f3fb.svg new file mode 100644 index 000000000..bcc91553a --- /dev/null +++ b/priv/static/emoji/1f918-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f918-1f3fc.svg b/priv/static/emoji/1f918-1f3fc.svg new file mode 100644 index 000000000..25497767f --- /dev/null +++ b/priv/static/emoji/1f918-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f918-1f3fd.svg b/priv/static/emoji/1f918-1f3fd.svg new file mode 100644 index 000000000..4dbb31ef3 --- /dev/null +++ b/priv/static/emoji/1f918-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f918-1f3fe.svg b/priv/static/emoji/1f918-1f3fe.svg new file mode 100644 index 000000000..e74fe3256 --- /dev/null +++ b/priv/static/emoji/1f918-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f918-1f3ff.svg b/priv/static/emoji/1f918-1f3ff.svg new file mode 100644 index 000000000..8727eccb9 --- /dev/null +++ b/priv/static/emoji/1f918-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f918.svg b/priv/static/emoji/1f918.svg new file mode 100644 index 000000000..ba3822b96 --- /dev/null +++ b/priv/static/emoji/1f918.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f919-1f3fb.svg b/priv/static/emoji/1f919-1f3fb.svg new file mode 100644 index 000000000..231703d30 --- /dev/null +++ b/priv/static/emoji/1f919-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f919-1f3fc.svg b/priv/static/emoji/1f919-1f3fc.svg new file mode 100644 index 000000000..1e096efd4 --- /dev/null +++ b/priv/static/emoji/1f919-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f919-1f3fd.svg b/priv/static/emoji/1f919-1f3fd.svg new file mode 100644 index 000000000..ee2567aa0 --- /dev/null +++ b/priv/static/emoji/1f919-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f919-1f3fe.svg b/priv/static/emoji/1f919-1f3fe.svg new file mode 100644 index 000000000..b6301bf75 --- /dev/null +++ b/priv/static/emoji/1f919-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f919-1f3ff.svg b/priv/static/emoji/1f919-1f3ff.svg new file mode 100644 index 000000000..a4126d45e --- /dev/null +++ b/priv/static/emoji/1f919-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f919.svg b/priv/static/emoji/1f919.svg new file mode 100644 index 000000000..05c6e76d3 --- /dev/null +++ b/priv/static/emoji/1f919.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91a-1f3fb.svg b/priv/static/emoji/1f91a-1f3fb.svg new file mode 100644 index 000000000..d7767b7b5 --- /dev/null +++ b/priv/static/emoji/1f91a-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91a-1f3fc.svg b/priv/static/emoji/1f91a-1f3fc.svg new file mode 100644 index 000000000..beb8fc5d7 --- /dev/null +++ b/priv/static/emoji/1f91a-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91a-1f3fd.svg b/priv/static/emoji/1f91a-1f3fd.svg new file mode 100644 index 000000000..1c62d98f5 --- /dev/null +++ b/priv/static/emoji/1f91a-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91a-1f3fe.svg b/priv/static/emoji/1f91a-1f3fe.svg new file mode 100644 index 000000000..1026fca8d --- /dev/null +++ b/priv/static/emoji/1f91a-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91a-1f3ff.svg b/priv/static/emoji/1f91a-1f3ff.svg new file mode 100644 index 000000000..0a6024a20 --- /dev/null +++ b/priv/static/emoji/1f91a-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91a.svg b/priv/static/emoji/1f91a.svg new file mode 100644 index 000000000..8579efff7 --- /dev/null +++ b/priv/static/emoji/1f91a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91b-1f3fb.svg b/priv/static/emoji/1f91b-1f3fb.svg new file mode 100644 index 000000000..2eb0c149a --- /dev/null +++ b/priv/static/emoji/1f91b-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91b-1f3fc.svg b/priv/static/emoji/1f91b-1f3fc.svg new file mode 100644 index 000000000..10dd4d02a --- /dev/null +++ b/priv/static/emoji/1f91b-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91b-1f3fd.svg b/priv/static/emoji/1f91b-1f3fd.svg new file mode 100644 index 000000000..3b4cd2153 --- /dev/null +++ b/priv/static/emoji/1f91b-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91b-1f3fe.svg b/priv/static/emoji/1f91b-1f3fe.svg new file mode 100644 index 000000000..66bccaef2 --- /dev/null +++ b/priv/static/emoji/1f91b-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91b-1f3ff.svg b/priv/static/emoji/1f91b-1f3ff.svg new file mode 100644 index 000000000..2324d4aee --- /dev/null +++ b/priv/static/emoji/1f91b-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91b.svg b/priv/static/emoji/1f91b.svg new file mode 100644 index 000000000..c554fffc5 --- /dev/null +++ b/priv/static/emoji/1f91b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91c-1f3fb.svg b/priv/static/emoji/1f91c-1f3fb.svg new file mode 100644 index 000000000..3207b4b58 --- /dev/null +++ b/priv/static/emoji/1f91c-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91c-1f3fc.svg b/priv/static/emoji/1f91c-1f3fc.svg new file mode 100644 index 000000000..678d3db73 --- /dev/null +++ b/priv/static/emoji/1f91c-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91c-1f3fd.svg b/priv/static/emoji/1f91c-1f3fd.svg new file mode 100644 index 000000000..c619612bd --- /dev/null +++ b/priv/static/emoji/1f91c-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91c-1f3fe.svg b/priv/static/emoji/1f91c-1f3fe.svg new file mode 100644 index 000000000..e1dc9efa9 --- /dev/null +++ b/priv/static/emoji/1f91c-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91c-1f3ff.svg b/priv/static/emoji/1f91c-1f3ff.svg new file mode 100644 index 000000000..a7b1723c0 --- /dev/null +++ b/priv/static/emoji/1f91c-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91c.svg b/priv/static/emoji/1f91c.svg new file mode 100644 index 000000000..a320968b2 --- /dev/null +++ b/priv/static/emoji/1f91c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91d.svg b/priv/static/emoji/1f91d.svg new file mode 100644 index 000000000..d6b87a93f --- /dev/null +++ b/priv/static/emoji/1f91d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91e-1f3fb.svg b/priv/static/emoji/1f91e-1f3fb.svg new file mode 100644 index 000000000..571240a9f --- /dev/null +++ b/priv/static/emoji/1f91e-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91e-1f3fc.svg b/priv/static/emoji/1f91e-1f3fc.svg new file mode 100644 index 000000000..b38874554 --- /dev/null +++ b/priv/static/emoji/1f91e-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91e-1f3fd.svg b/priv/static/emoji/1f91e-1f3fd.svg new file mode 100644 index 000000000..6afd877e7 --- /dev/null +++ b/priv/static/emoji/1f91e-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91e-1f3fe.svg b/priv/static/emoji/1f91e-1f3fe.svg new file mode 100644 index 000000000..62816622d --- /dev/null +++ b/priv/static/emoji/1f91e-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91e-1f3ff.svg b/priv/static/emoji/1f91e-1f3ff.svg new file mode 100644 index 000000000..00b44e88d --- /dev/null +++ b/priv/static/emoji/1f91e-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91e.svg b/priv/static/emoji/1f91e.svg new file mode 100644 index 000000000..ee5f2430d --- /dev/null +++ b/priv/static/emoji/1f91e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91f-1f3fb.svg b/priv/static/emoji/1f91f-1f3fb.svg new file mode 100644 index 000000000..24b951fc1 --- /dev/null +++ b/priv/static/emoji/1f91f-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91f-1f3fc.svg b/priv/static/emoji/1f91f-1f3fc.svg new file mode 100644 index 000000000..0dff66ba4 --- /dev/null +++ b/priv/static/emoji/1f91f-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91f-1f3fd.svg b/priv/static/emoji/1f91f-1f3fd.svg new file mode 100644 index 000000000..014013455 --- /dev/null +++ b/priv/static/emoji/1f91f-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91f-1f3fe.svg b/priv/static/emoji/1f91f-1f3fe.svg new file mode 100644 index 000000000..74b318c0c --- /dev/null +++ b/priv/static/emoji/1f91f-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91f-1f3ff.svg b/priv/static/emoji/1f91f-1f3ff.svg new file mode 100644 index 000000000..c059eb6e5 --- /dev/null +++ b/priv/static/emoji/1f91f-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f91f.svg b/priv/static/emoji/1f91f.svg new file mode 100644 index 000000000..8f9351865 --- /dev/null +++ b/priv/static/emoji/1f91f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f920.svg b/priv/static/emoji/1f920.svg new file mode 100644 index 000000000..a240ae0b5 --- /dev/null +++ b/priv/static/emoji/1f920.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f921.svg b/priv/static/emoji/1f921.svg new file mode 100644 index 000000000..f07866132 --- /dev/null +++ b/priv/static/emoji/1f921.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f922.svg b/priv/static/emoji/1f922.svg new file mode 100644 index 000000000..1815d4965 --- /dev/null +++ b/priv/static/emoji/1f922.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f923.svg b/priv/static/emoji/1f923.svg new file mode 100644 index 000000000..1ca89f33a --- /dev/null +++ b/priv/static/emoji/1f923.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f924.svg b/priv/static/emoji/1f924.svg new file mode 100644 index 000000000..c81e62d6c --- /dev/null +++ b/priv/static/emoji/1f924.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f925.svg b/priv/static/emoji/1f925.svg new file mode 100644 index 000000000..a78baff89 --- /dev/null +++ b/priv/static/emoji/1f925.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f926-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..61cab88be --- /dev/null +++ b/priv/static/emoji/1f926-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f926-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..45a0c293d --- /dev/null +++ b/priv/static/emoji/1f926-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fb.svg b/priv/static/emoji/1f926-1f3fb.svg new file mode 100644 index 000000000..61cab88be --- /dev/null +++ b/priv/static/emoji/1f926-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f926-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..9d28aecc9 --- /dev/null +++ b/priv/static/emoji/1f926-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f926-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..55f32a525 --- /dev/null +++ b/priv/static/emoji/1f926-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fc.svg b/priv/static/emoji/1f926-1f3fc.svg new file mode 100644 index 000000000..9d28aecc9 --- /dev/null +++ b/priv/static/emoji/1f926-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f926-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..a23fe91cc --- /dev/null +++ b/priv/static/emoji/1f926-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f926-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..0c349e099 --- /dev/null +++ b/priv/static/emoji/1f926-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fd.svg b/priv/static/emoji/1f926-1f3fd.svg new file mode 100644 index 000000000..a23fe91cc --- /dev/null +++ b/priv/static/emoji/1f926-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f926-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..6ec0c9edb --- /dev/null +++ b/priv/static/emoji/1f926-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f926-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..af75656a5 --- /dev/null +++ b/priv/static/emoji/1f926-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3fe.svg b/priv/static/emoji/1f926-1f3fe.svg new file mode 100644 index 000000000..6ec0c9edb --- /dev/null +++ b/priv/static/emoji/1f926-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f926-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..e4ba1179b --- /dev/null +++ b/priv/static/emoji/1f926-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f926-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..cc2122284 --- /dev/null +++ b/priv/static/emoji/1f926-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-1f3ff.svg b/priv/static/emoji/1f926-1f3ff.svg new file mode 100644 index 000000000..e4ba1179b --- /dev/null +++ b/priv/static/emoji/1f926-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-200d-2640-fe0f.svg b/priv/static/emoji/1f926-200d-2640-fe0f.svg new file mode 100644 index 000000000..9e134f05d --- /dev/null +++ b/priv/static/emoji/1f926-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926-200d-2642-fe0f.svg b/priv/static/emoji/1f926-200d-2642-fe0f.svg new file mode 100644 index 000000000..1e51ec045 --- /dev/null +++ b/priv/static/emoji/1f926-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f926.svg b/priv/static/emoji/1f926.svg new file mode 100644 index 000000000..9e134f05d --- /dev/null +++ b/priv/static/emoji/1f926.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f927.svg b/priv/static/emoji/1f927.svg new file mode 100644 index 000000000..ad0eb94a5 --- /dev/null +++ b/priv/static/emoji/1f927.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f928.svg b/priv/static/emoji/1f928.svg new file mode 100644 index 000000000..5b7fda886 --- /dev/null +++ b/priv/static/emoji/1f928.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f929.svg b/priv/static/emoji/1f929.svg new file mode 100644 index 000000000..cd16d001e --- /dev/null +++ b/priv/static/emoji/1f929.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f92a.svg b/priv/static/emoji/1f92a.svg new file mode 100644 index 000000000..579fb1c9d --- /dev/null +++ b/priv/static/emoji/1f92a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f92b.svg b/priv/static/emoji/1f92b.svg new file mode 100644 index 000000000..819a7c792 --- /dev/null +++ b/priv/static/emoji/1f92b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f92c.svg b/priv/static/emoji/1f92c.svg new file mode 100644 index 000000000..e19b92f45 --- /dev/null +++ b/priv/static/emoji/1f92c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f92d.svg b/priv/static/emoji/1f92d.svg new file mode 100644 index 000000000..ee9649f89 --- /dev/null +++ b/priv/static/emoji/1f92d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f92e.svg b/priv/static/emoji/1f92e.svg new file mode 100644 index 000000000..dbf0ad3ff --- /dev/null +++ b/priv/static/emoji/1f92e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f92f.svg b/priv/static/emoji/1f92f.svg new file mode 100644 index 000000000..03198605d --- /dev/null +++ b/priv/static/emoji/1f92f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f930-1f3fb.svg b/priv/static/emoji/1f930-1f3fb.svg new file mode 100644 index 000000000..324864905 --- /dev/null +++ b/priv/static/emoji/1f930-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f930-1f3fc.svg b/priv/static/emoji/1f930-1f3fc.svg new file mode 100644 index 000000000..f7771ab08 --- /dev/null +++ b/priv/static/emoji/1f930-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f930-1f3fd.svg b/priv/static/emoji/1f930-1f3fd.svg new file mode 100644 index 000000000..34000f5a2 --- /dev/null +++ b/priv/static/emoji/1f930-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f930-1f3fe.svg b/priv/static/emoji/1f930-1f3fe.svg new file mode 100644 index 000000000..3a6ac0c1f --- /dev/null +++ b/priv/static/emoji/1f930-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f930-1f3ff.svg b/priv/static/emoji/1f930-1f3ff.svg new file mode 100644 index 000000000..5ca9e492f --- /dev/null +++ b/priv/static/emoji/1f930-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f930.svg b/priv/static/emoji/1f930.svg new file mode 100644 index 000000000..b5820f4f3 --- /dev/null +++ b/priv/static/emoji/1f930.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f931-1f3fb.svg b/priv/static/emoji/1f931-1f3fb.svg new file mode 100644 index 000000000..988b5d57d --- /dev/null +++ b/priv/static/emoji/1f931-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f931-1f3fc.svg b/priv/static/emoji/1f931-1f3fc.svg new file mode 100644 index 000000000..2883d9ef5 --- /dev/null +++ b/priv/static/emoji/1f931-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f931-1f3fd.svg b/priv/static/emoji/1f931-1f3fd.svg new file mode 100644 index 000000000..b42dc9fb5 --- /dev/null +++ b/priv/static/emoji/1f931-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f931-1f3fe.svg b/priv/static/emoji/1f931-1f3fe.svg new file mode 100644 index 000000000..41c6f1c75 --- /dev/null +++ b/priv/static/emoji/1f931-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f931-1f3ff.svg b/priv/static/emoji/1f931-1f3ff.svg new file mode 100644 index 000000000..428a21dcb --- /dev/null +++ b/priv/static/emoji/1f931-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f931.svg b/priv/static/emoji/1f931.svg new file mode 100644 index 000000000..6533abf71 --- /dev/null +++ b/priv/static/emoji/1f931.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f932-1f3fb.svg b/priv/static/emoji/1f932-1f3fb.svg new file mode 100644 index 000000000..8d826d975 --- /dev/null +++ b/priv/static/emoji/1f932-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f932-1f3fc.svg b/priv/static/emoji/1f932-1f3fc.svg new file mode 100644 index 000000000..5ab9964ff --- /dev/null +++ b/priv/static/emoji/1f932-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f932-1f3fd.svg b/priv/static/emoji/1f932-1f3fd.svg new file mode 100644 index 000000000..e64b1fba4 --- /dev/null +++ b/priv/static/emoji/1f932-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f932-1f3fe.svg b/priv/static/emoji/1f932-1f3fe.svg new file mode 100644 index 000000000..34728c5ab --- /dev/null +++ b/priv/static/emoji/1f932-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f932-1f3ff.svg b/priv/static/emoji/1f932-1f3ff.svg new file mode 100644 index 000000000..dff0c8e43 --- /dev/null +++ b/priv/static/emoji/1f932-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f932.svg b/priv/static/emoji/1f932.svg new file mode 100644 index 000000000..457e04c2c --- /dev/null +++ b/priv/static/emoji/1f932.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f933-1f3fb.svg b/priv/static/emoji/1f933-1f3fb.svg new file mode 100644 index 000000000..1f0bbf5b4 --- /dev/null +++ b/priv/static/emoji/1f933-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f933-1f3fc.svg b/priv/static/emoji/1f933-1f3fc.svg new file mode 100644 index 000000000..db84bbe08 --- /dev/null +++ b/priv/static/emoji/1f933-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f933-1f3fd.svg b/priv/static/emoji/1f933-1f3fd.svg new file mode 100644 index 000000000..34d5842fe --- /dev/null +++ b/priv/static/emoji/1f933-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f933-1f3fe.svg b/priv/static/emoji/1f933-1f3fe.svg new file mode 100644 index 000000000..1d313cf18 --- /dev/null +++ b/priv/static/emoji/1f933-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f933-1f3ff.svg b/priv/static/emoji/1f933-1f3ff.svg new file mode 100644 index 000000000..8badf905f --- /dev/null +++ b/priv/static/emoji/1f933-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f933.svg b/priv/static/emoji/1f933.svg new file mode 100644 index 000000000..c031fc001 --- /dev/null +++ b/priv/static/emoji/1f933.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f934-1f3fb.svg b/priv/static/emoji/1f934-1f3fb.svg new file mode 100644 index 000000000..841a50ec3 --- /dev/null +++ b/priv/static/emoji/1f934-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f934-1f3fc.svg b/priv/static/emoji/1f934-1f3fc.svg new file mode 100644 index 000000000..7624b4dae --- /dev/null +++ b/priv/static/emoji/1f934-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f934-1f3fd.svg b/priv/static/emoji/1f934-1f3fd.svg new file mode 100644 index 000000000..43ee1573e --- /dev/null +++ b/priv/static/emoji/1f934-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f934-1f3fe.svg b/priv/static/emoji/1f934-1f3fe.svg new file mode 100644 index 000000000..d2d890f82 --- /dev/null +++ b/priv/static/emoji/1f934-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f934-1f3ff.svg b/priv/static/emoji/1f934-1f3ff.svg new file mode 100644 index 000000000..845726b1b --- /dev/null +++ b/priv/static/emoji/1f934-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f934.svg b/priv/static/emoji/1f934.svg new file mode 100644 index 000000000..700e4dd8e --- /dev/null +++ b/priv/static/emoji/1f934.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f935-1f3fb.svg b/priv/static/emoji/1f935-1f3fb.svg new file mode 100644 index 000000000..76431d58f --- /dev/null +++ b/priv/static/emoji/1f935-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f935-1f3fc.svg b/priv/static/emoji/1f935-1f3fc.svg new file mode 100644 index 000000000..af8c199d5 --- /dev/null +++ b/priv/static/emoji/1f935-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f935-1f3fd.svg b/priv/static/emoji/1f935-1f3fd.svg new file mode 100644 index 000000000..3d796d873 --- /dev/null +++ b/priv/static/emoji/1f935-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f935-1f3fe.svg b/priv/static/emoji/1f935-1f3fe.svg new file mode 100644 index 000000000..bdfbf85df --- /dev/null +++ b/priv/static/emoji/1f935-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f935-1f3ff.svg b/priv/static/emoji/1f935-1f3ff.svg new file mode 100644 index 000000000..da7f013d0 --- /dev/null +++ b/priv/static/emoji/1f935-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f935.svg b/priv/static/emoji/1f935.svg new file mode 100644 index 000000000..14d2a46ae --- /dev/null +++ b/priv/static/emoji/1f935.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f936-1f3fb.svg b/priv/static/emoji/1f936-1f3fb.svg new file mode 100644 index 000000000..de4f37f67 --- /dev/null +++ b/priv/static/emoji/1f936-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f936-1f3fc.svg b/priv/static/emoji/1f936-1f3fc.svg new file mode 100644 index 000000000..b1a535d2f --- /dev/null +++ b/priv/static/emoji/1f936-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f936-1f3fd.svg b/priv/static/emoji/1f936-1f3fd.svg new file mode 100644 index 000000000..f99d06457 --- /dev/null +++ b/priv/static/emoji/1f936-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f936-1f3fe.svg b/priv/static/emoji/1f936-1f3fe.svg new file mode 100644 index 000000000..44bbb6b57 --- /dev/null +++ b/priv/static/emoji/1f936-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f936-1f3ff.svg b/priv/static/emoji/1f936-1f3ff.svg new file mode 100644 index 000000000..b972cf0b2 --- /dev/null +++ b/priv/static/emoji/1f936-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f936.svg b/priv/static/emoji/1f936.svg new file mode 100644 index 000000000..aad36267b --- /dev/null +++ b/priv/static/emoji/1f936.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f937-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..3fb8aa608 --- /dev/null +++ b/priv/static/emoji/1f937-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f937-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..6fa8b4860 --- /dev/null +++ b/priv/static/emoji/1f937-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fb.svg b/priv/static/emoji/1f937-1f3fb.svg new file mode 100644 index 000000000..3fb8aa608 --- /dev/null +++ b/priv/static/emoji/1f937-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f937-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..df88b238b --- /dev/null +++ b/priv/static/emoji/1f937-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f937-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..9690008e3 --- /dev/null +++ b/priv/static/emoji/1f937-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fc.svg b/priv/static/emoji/1f937-1f3fc.svg new file mode 100644 index 000000000..df88b238b --- /dev/null +++ b/priv/static/emoji/1f937-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f937-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..38047209f --- /dev/null +++ b/priv/static/emoji/1f937-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f937-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..7a7807e03 --- /dev/null +++ b/priv/static/emoji/1f937-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fd.svg b/priv/static/emoji/1f937-1f3fd.svg new file mode 100644 index 000000000..38047209f --- /dev/null +++ b/priv/static/emoji/1f937-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f937-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..d7c4702e3 --- /dev/null +++ b/priv/static/emoji/1f937-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f937-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..8f2eb7f48 --- /dev/null +++ b/priv/static/emoji/1f937-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3fe.svg b/priv/static/emoji/1f937-1f3fe.svg new file mode 100644 index 000000000..d7c4702e3 --- /dev/null +++ b/priv/static/emoji/1f937-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f937-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..769929c56 --- /dev/null +++ b/priv/static/emoji/1f937-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f937-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..7384bbb32 --- /dev/null +++ b/priv/static/emoji/1f937-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-1f3ff.svg b/priv/static/emoji/1f937-1f3ff.svg new file mode 100644 index 000000000..769929c56 --- /dev/null +++ b/priv/static/emoji/1f937-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-200d-2640-fe0f.svg b/priv/static/emoji/1f937-200d-2640-fe0f.svg new file mode 100644 index 000000000..4277e9ddb --- /dev/null +++ b/priv/static/emoji/1f937-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937-200d-2642-fe0f.svg b/priv/static/emoji/1f937-200d-2642-fe0f.svg new file mode 100644 index 000000000..d20202728 --- /dev/null +++ b/priv/static/emoji/1f937-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f937.svg b/priv/static/emoji/1f937.svg new file mode 100644 index 000000000..4277e9ddb --- /dev/null +++ b/priv/static/emoji/1f937.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f938-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..11c961dfd --- /dev/null +++ b/priv/static/emoji/1f938-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f938-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..beb1698b0 --- /dev/null +++ b/priv/static/emoji/1f938-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fb.svg b/priv/static/emoji/1f938-1f3fb.svg new file mode 100644 index 000000000..11c961dfd --- /dev/null +++ b/priv/static/emoji/1f938-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f938-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..5e568ea25 --- /dev/null +++ b/priv/static/emoji/1f938-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f938-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..136338d4a --- /dev/null +++ b/priv/static/emoji/1f938-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fc.svg b/priv/static/emoji/1f938-1f3fc.svg new file mode 100644 index 000000000..5e568ea25 --- /dev/null +++ b/priv/static/emoji/1f938-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f938-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..86abb59e3 --- /dev/null +++ b/priv/static/emoji/1f938-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f938-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..e580c1f44 --- /dev/null +++ b/priv/static/emoji/1f938-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fd.svg b/priv/static/emoji/1f938-1f3fd.svg new file mode 100644 index 000000000..86abb59e3 --- /dev/null +++ b/priv/static/emoji/1f938-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f938-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..06c5f27ce --- /dev/null +++ b/priv/static/emoji/1f938-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f938-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..ee81b8e94 --- /dev/null +++ b/priv/static/emoji/1f938-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3fe.svg b/priv/static/emoji/1f938-1f3fe.svg new file mode 100644 index 000000000..06c5f27ce --- /dev/null +++ b/priv/static/emoji/1f938-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f938-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..492866a6d --- /dev/null +++ b/priv/static/emoji/1f938-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f938-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..3846f7e81 --- /dev/null +++ b/priv/static/emoji/1f938-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-1f3ff.svg b/priv/static/emoji/1f938-1f3ff.svg new file mode 100644 index 000000000..492866a6d --- /dev/null +++ b/priv/static/emoji/1f938-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-200d-2640-fe0f.svg b/priv/static/emoji/1f938-200d-2640-fe0f.svg new file mode 100644 index 000000000..d4108d706 --- /dev/null +++ b/priv/static/emoji/1f938-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938-200d-2642-fe0f.svg b/priv/static/emoji/1f938-200d-2642-fe0f.svg new file mode 100644 index 000000000..1335d4f0a --- /dev/null +++ b/priv/static/emoji/1f938-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f938.svg b/priv/static/emoji/1f938.svg new file mode 100644 index 000000000..d4108d706 --- /dev/null +++ b/priv/static/emoji/1f938.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f939-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..ecbe04f58 --- /dev/null +++ b/priv/static/emoji/1f939-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f939-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..cc2e8f3dc --- /dev/null +++ b/priv/static/emoji/1f939-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fb.svg b/priv/static/emoji/1f939-1f3fb.svg new file mode 100644 index 000000000..cc2e8f3dc --- /dev/null +++ b/priv/static/emoji/1f939-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f939-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..54b97ed10 --- /dev/null +++ b/priv/static/emoji/1f939-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f939-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..883eb1cde --- /dev/null +++ b/priv/static/emoji/1f939-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fc.svg b/priv/static/emoji/1f939-1f3fc.svg new file mode 100644 index 000000000..883eb1cde --- /dev/null +++ b/priv/static/emoji/1f939-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f939-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..b49b5d176 --- /dev/null +++ b/priv/static/emoji/1f939-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f939-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..1675762c8 --- /dev/null +++ b/priv/static/emoji/1f939-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fd.svg b/priv/static/emoji/1f939-1f3fd.svg new file mode 100644 index 000000000..1675762c8 --- /dev/null +++ b/priv/static/emoji/1f939-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f939-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..9fa47f6ed --- /dev/null +++ b/priv/static/emoji/1f939-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f939-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..fa0ea0155 --- /dev/null +++ b/priv/static/emoji/1f939-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3fe.svg b/priv/static/emoji/1f939-1f3fe.svg new file mode 100644 index 000000000..fa0ea0155 --- /dev/null +++ b/priv/static/emoji/1f939-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f939-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..e2128cc2e --- /dev/null +++ b/priv/static/emoji/1f939-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f939-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..ec0982810 --- /dev/null +++ b/priv/static/emoji/1f939-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-1f3ff.svg b/priv/static/emoji/1f939-1f3ff.svg new file mode 100644 index 000000000..ec0982810 --- /dev/null +++ b/priv/static/emoji/1f939-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-200d-2640-fe0f.svg b/priv/static/emoji/1f939-200d-2640-fe0f.svg new file mode 100644 index 000000000..c2f071c5b --- /dev/null +++ b/priv/static/emoji/1f939-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939-200d-2642-fe0f.svg b/priv/static/emoji/1f939-200d-2642-fe0f.svg new file mode 100644 index 000000000..532cd15cf --- /dev/null +++ b/priv/static/emoji/1f939-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f939.svg b/priv/static/emoji/1f939.svg new file mode 100644 index 000000000..532cd15cf --- /dev/null +++ b/priv/static/emoji/1f939.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93a.svg b/priv/static/emoji/1f93a.svg new file mode 100644 index 000000000..663bae152 --- /dev/null +++ b/priv/static/emoji/1f93a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93c-200d-2640-fe0f.svg b/priv/static/emoji/1f93c-200d-2640-fe0f.svg new file mode 100644 index 000000000..2380abf71 --- /dev/null +++ b/priv/static/emoji/1f93c-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93c-200d-2642-fe0f.svg b/priv/static/emoji/1f93c-200d-2642-fe0f.svg new file mode 100644 index 000000000..d568b453c --- /dev/null +++ b/priv/static/emoji/1f93c-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93c.svg b/priv/static/emoji/1f93c.svg new file mode 100644 index 000000000..d568b453c --- /dev/null +++ b/priv/static/emoji/1f93c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f93d-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..c725abbce --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f93d-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..a7515d5db --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fb.svg b/priv/static/emoji/1f93d-1f3fb.svg new file mode 100644 index 000000000..a7515d5db --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f93d-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..80bc3501b --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f93d-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..b30427791 --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fc.svg b/priv/static/emoji/1f93d-1f3fc.svg new file mode 100644 index 000000000..b30427791 --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f93d-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..cf169c961 --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f93d-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..2e55ad570 --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fd.svg b/priv/static/emoji/1f93d-1f3fd.svg new file mode 100644 index 000000000..2e55ad570 --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f93d-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..605d328d9 --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f93d-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..5459f0f98 --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3fe.svg b/priv/static/emoji/1f93d-1f3fe.svg new file mode 100644 index 000000000..5459f0f98 --- /dev/null +++ b/priv/static/emoji/1f93d-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f93d-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..c01fa423b --- /dev/null +++ b/priv/static/emoji/1f93d-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f93d-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..c84f230dc --- /dev/null +++ b/priv/static/emoji/1f93d-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-1f3ff.svg b/priv/static/emoji/1f93d-1f3ff.svg new file mode 100644 index 000000000..c84f230dc --- /dev/null +++ b/priv/static/emoji/1f93d-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-200d-2640-fe0f.svg b/priv/static/emoji/1f93d-200d-2640-fe0f.svg new file mode 100644 index 000000000..4f22a638f --- /dev/null +++ b/priv/static/emoji/1f93d-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d-200d-2642-fe0f.svg b/priv/static/emoji/1f93d-200d-2642-fe0f.svg new file mode 100644 index 000000000..1cbe1e8e3 --- /dev/null +++ b/priv/static/emoji/1f93d-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93d.svg b/priv/static/emoji/1f93d.svg new file mode 100644 index 000000000..1cbe1e8e3 --- /dev/null +++ b/priv/static/emoji/1f93d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f93e-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..cc9a5e837 --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f93e-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..b7f07e45f --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fb.svg b/priv/static/emoji/1f93e-1f3fb.svg new file mode 100644 index 000000000..cc9a5e837 --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f93e-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..8c0d7576f --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f93e-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..2d25b7a5b --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fc.svg b/priv/static/emoji/1f93e-1f3fc.svg new file mode 100644 index 000000000..8c0d7576f --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f93e-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..1aa9f7d2d --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f93e-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..e270a92f9 --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fd.svg b/priv/static/emoji/1f93e-1f3fd.svg new file mode 100644 index 000000000..1aa9f7d2d --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f93e-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..0d46f8906 --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f93e-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..5e0c97140 --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3fe.svg b/priv/static/emoji/1f93e-1f3fe.svg new file mode 100644 index 000000000..0d46f8906 --- /dev/null +++ b/priv/static/emoji/1f93e-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f93e-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..34be64b01 --- /dev/null +++ b/priv/static/emoji/1f93e-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f93e-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..a868dcc31 --- /dev/null +++ b/priv/static/emoji/1f93e-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-1f3ff.svg b/priv/static/emoji/1f93e-1f3ff.svg new file mode 100644 index 000000000..34be64b01 --- /dev/null +++ b/priv/static/emoji/1f93e-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-200d-2640-fe0f.svg b/priv/static/emoji/1f93e-200d-2640-fe0f.svg new file mode 100644 index 000000000..817bb49f5 --- /dev/null +++ b/priv/static/emoji/1f93e-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e-200d-2642-fe0f.svg b/priv/static/emoji/1f93e-200d-2642-fe0f.svg new file mode 100644 index 000000000..4dfcc5376 --- /dev/null +++ b/priv/static/emoji/1f93e-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f93e.svg b/priv/static/emoji/1f93e.svg new file mode 100644 index 000000000..817bb49f5 --- /dev/null +++ b/priv/static/emoji/1f93e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f940.svg b/priv/static/emoji/1f940.svg new file mode 100644 index 000000000..08d5986de --- /dev/null +++ b/priv/static/emoji/1f940.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f941.svg b/priv/static/emoji/1f941.svg new file mode 100644 index 000000000..7a7027b7e --- /dev/null +++ b/priv/static/emoji/1f941.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f942.svg b/priv/static/emoji/1f942.svg new file mode 100644 index 000000000..1540a6b85 --- /dev/null +++ b/priv/static/emoji/1f942.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f943.svg b/priv/static/emoji/1f943.svg new file mode 100644 index 000000000..dc49c4872 --- /dev/null +++ b/priv/static/emoji/1f943.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f944.svg b/priv/static/emoji/1f944.svg new file mode 100644 index 000000000..d17ec31ca --- /dev/null +++ b/priv/static/emoji/1f944.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f945.svg b/priv/static/emoji/1f945.svg new file mode 100644 index 000000000..6e1648f30 --- /dev/null +++ b/priv/static/emoji/1f945.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f947.svg b/priv/static/emoji/1f947.svg new file mode 100644 index 000000000..6403a3471 --- /dev/null +++ b/priv/static/emoji/1f947.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f948.svg b/priv/static/emoji/1f948.svg new file mode 100644 index 000000000..75283797e --- /dev/null +++ b/priv/static/emoji/1f948.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f949.svg b/priv/static/emoji/1f949.svg new file mode 100644 index 000000000..d3f5f03f8 --- /dev/null +++ b/priv/static/emoji/1f949.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f94a.svg b/priv/static/emoji/1f94a.svg new file mode 100644 index 000000000..9821f08b9 --- /dev/null +++ b/priv/static/emoji/1f94a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f94b.svg b/priv/static/emoji/1f94b.svg new file mode 100644 index 000000000..f4c48eaf7 --- /dev/null +++ b/priv/static/emoji/1f94b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f94c.svg b/priv/static/emoji/1f94c.svg new file mode 100644 index 000000000..1d4067c6a --- /dev/null +++ b/priv/static/emoji/1f94c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f950.svg b/priv/static/emoji/1f950.svg new file mode 100644 index 000000000..4c325029a --- /dev/null +++ b/priv/static/emoji/1f950.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f951.svg b/priv/static/emoji/1f951.svg new file mode 100644 index 000000000..093bf6984 --- /dev/null +++ b/priv/static/emoji/1f951.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f952.svg b/priv/static/emoji/1f952.svg new file mode 100644 index 000000000..72e66de08 --- /dev/null +++ b/priv/static/emoji/1f952.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f953.svg b/priv/static/emoji/1f953.svg new file mode 100644 index 000000000..9617ade96 --- /dev/null +++ b/priv/static/emoji/1f953.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f954.svg b/priv/static/emoji/1f954.svg new file mode 100644 index 000000000..4f3744519 --- /dev/null +++ b/priv/static/emoji/1f954.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f955.svg b/priv/static/emoji/1f955.svg new file mode 100644 index 000000000..cf125d4f1 --- /dev/null +++ b/priv/static/emoji/1f955.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f956.svg b/priv/static/emoji/1f956.svg new file mode 100644 index 000000000..4e00b5746 --- /dev/null +++ b/priv/static/emoji/1f956.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f957.svg b/priv/static/emoji/1f957.svg new file mode 100644 index 000000000..6368a14b4 --- /dev/null +++ b/priv/static/emoji/1f957.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f958.svg b/priv/static/emoji/1f958.svg new file mode 100644 index 000000000..a90551e1c --- /dev/null +++ b/priv/static/emoji/1f958.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f959.svg b/priv/static/emoji/1f959.svg new file mode 100644 index 000000000..dcf10698f --- /dev/null +++ b/priv/static/emoji/1f959.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f95a.svg b/priv/static/emoji/1f95a.svg new file mode 100644 index 000000000..292ed7e8e --- /dev/null +++ b/priv/static/emoji/1f95a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f95b.svg b/priv/static/emoji/1f95b.svg new file mode 100644 index 000000000..7157c078b --- /dev/null +++ b/priv/static/emoji/1f95b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f95c.svg b/priv/static/emoji/1f95c.svg new file mode 100644 index 000000000..3f8f0244f --- /dev/null +++ b/priv/static/emoji/1f95c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f95d.svg b/priv/static/emoji/1f95d.svg new file mode 100644 index 000000000..f25a06289 --- /dev/null +++ b/priv/static/emoji/1f95d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f95e.svg b/priv/static/emoji/1f95e.svg new file mode 100644 index 000000000..1a1769b0c --- /dev/null +++ b/priv/static/emoji/1f95e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f95f.svg b/priv/static/emoji/1f95f.svg new file mode 100644 index 000000000..9044b3998 --- /dev/null +++ b/priv/static/emoji/1f95f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f960.svg b/priv/static/emoji/1f960.svg new file mode 100644 index 000000000..bc2052056 --- /dev/null +++ b/priv/static/emoji/1f960.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f961.svg b/priv/static/emoji/1f961.svg new file mode 100644 index 000000000..81fbe98f5 --- /dev/null +++ b/priv/static/emoji/1f961.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f962.svg b/priv/static/emoji/1f962.svg new file mode 100644 index 000000000..fc0317548 --- /dev/null +++ b/priv/static/emoji/1f962.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f963.svg b/priv/static/emoji/1f963.svg new file mode 100644 index 000000000..c5d61ee6c --- /dev/null +++ b/priv/static/emoji/1f963.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f964.svg b/priv/static/emoji/1f964.svg new file mode 100644 index 000000000..a229dbbcd --- /dev/null +++ b/priv/static/emoji/1f964.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f965.svg b/priv/static/emoji/1f965.svg new file mode 100644 index 000000000..d80d0d9f4 --- /dev/null +++ b/priv/static/emoji/1f965.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f966.svg b/priv/static/emoji/1f966.svg new file mode 100644 index 000000000..e0ae9476d --- /dev/null +++ b/priv/static/emoji/1f966.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f967.svg b/priv/static/emoji/1f967.svg new file mode 100644 index 000000000..e4c0fc39a --- /dev/null +++ b/priv/static/emoji/1f967.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f968.svg b/priv/static/emoji/1f968.svg new file mode 100644 index 000000000..7aaef3251 --- /dev/null +++ b/priv/static/emoji/1f968.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f969.svg b/priv/static/emoji/1f969.svg new file mode 100644 index 000000000..3b9d7741d --- /dev/null +++ b/priv/static/emoji/1f969.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f96a.svg b/priv/static/emoji/1f96a.svg new file mode 100644 index 000000000..c708089af --- /dev/null +++ b/priv/static/emoji/1f96a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f96b.svg b/priv/static/emoji/1f96b.svg new file mode 100644 index 000000000..bef3815b1 --- /dev/null +++ b/priv/static/emoji/1f96b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f980.svg b/priv/static/emoji/1f980.svg new file mode 100644 index 000000000..5c98af4a5 --- /dev/null +++ b/priv/static/emoji/1f980.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f981.svg b/priv/static/emoji/1f981.svg new file mode 100644 index 000000000..51707e184 --- /dev/null +++ b/priv/static/emoji/1f981.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f982.svg b/priv/static/emoji/1f982.svg new file mode 100644 index 000000000..c6c3fe93f --- /dev/null +++ b/priv/static/emoji/1f982.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f983.svg b/priv/static/emoji/1f983.svg new file mode 100644 index 000000000..c35118cc4 --- /dev/null +++ b/priv/static/emoji/1f983.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f984.svg b/priv/static/emoji/1f984.svg new file mode 100644 index 000000000..a996b3861 --- /dev/null +++ b/priv/static/emoji/1f984.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f985.svg b/priv/static/emoji/1f985.svg new file mode 100644 index 000000000..c96b06e7a --- /dev/null +++ b/priv/static/emoji/1f985.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f986.svg b/priv/static/emoji/1f986.svg new file mode 100644 index 000000000..d047b47cb --- /dev/null +++ b/priv/static/emoji/1f986.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f987.svg b/priv/static/emoji/1f987.svg new file mode 100644 index 000000000..2a7304792 --- /dev/null +++ b/priv/static/emoji/1f987.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f988.svg b/priv/static/emoji/1f988.svg new file mode 100644 index 000000000..81409bbc4 --- /dev/null +++ b/priv/static/emoji/1f988.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f989.svg b/priv/static/emoji/1f989.svg new file mode 100644 index 000000000..10a2cbaa2 --- /dev/null +++ b/priv/static/emoji/1f989.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f98a.svg b/priv/static/emoji/1f98a.svg new file mode 100644 index 000000000..8603d9180 --- /dev/null +++ b/priv/static/emoji/1f98a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f98b.svg b/priv/static/emoji/1f98b.svg new file mode 100644 index 000000000..457b722a5 --- /dev/null +++ b/priv/static/emoji/1f98b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f98c.svg b/priv/static/emoji/1f98c.svg new file mode 100644 index 000000000..5a753e0d1 --- /dev/null +++ b/priv/static/emoji/1f98c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f98d.svg b/priv/static/emoji/1f98d.svg new file mode 100644 index 000000000..8cf5a02bb --- /dev/null +++ b/priv/static/emoji/1f98d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f98e.svg b/priv/static/emoji/1f98e.svg new file mode 100644 index 000000000..21f1b5d27 --- /dev/null +++ b/priv/static/emoji/1f98e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f98f.svg b/priv/static/emoji/1f98f.svg new file mode 100644 index 000000000..cda2c04d0 --- /dev/null +++ b/priv/static/emoji/1f98f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f990.svg b/priv/static/emoji/1f990.svg new file mode 100644 index 000000000..741d889d7 --- /dev/null +++ b/priv/static/emoji/1f990.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f991.svg b/priv/static/emoji/1f991.svg new file mode 100644 index 000000000..8ef80f8ff --- /dev/null +++ b/priv/static/emoji/1f991.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f992.svg b/priv/static/emoji/1f992.svg new file mode 100644 index 000000000..5e43bb4a8 --- /dev/null +++ b/priv/static/emoji/1f992.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f993.svg b/priv/static/emoji/1f993.svg new file mode 100644 index 000000000..afec3170d --- /dev/null +++ b/priv/static/emoji/1f993.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f994.svg b/priv/static/emoji/1f994.svg new file mode 100644 index 000000000..52361720c --- /dev/null +++ b/priv/static/emoji/1f994.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f995.svg b/priv/static/emoji/1f995.svg new file mode 100644 index 000000000..c424c6a2e --- /dev/null +++ b/priv/static/emoji/1f995.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f996.svg b/priv/static/emoji/1f996.svg new file mode 100644 index 000000000..71bb2c5f9 --- /dev/null +++ b/priv/static/emoji/1f996.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f997.svg b/priv/static/emoji/1f997.svg new file mode 100644 index 000000000..91ab418c9 --- /dev/null +++ b/priv/static/emoji/1f997.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9c0.svg b/priv/static/emoji/1f9c0.svg new file mode 100644 index 000000000..a9ebf6ccc --- /dev/null +++ b/priv/static/emoji/1f9c0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d0.svg b/priv/static/emoji/1f9d0.svg new file mode 100644 index 000000000..e07680481 --- /dev/null +++ b/priv/static/emoji/1f9d0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d1-1f3fb.svg b/priv/static/emoji/1f9d1-1f3fb.svg new file mode 100644 index 000000000..915e14171 --- /dev/null +++ b/priv/static/emoji/1f9d1-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d1-1f3fc.svg b/priv/static/emoji/1f9d1-1f3fc.svg new file mode 100644 index 000000000..9872b9b89 --- /dev/null +++ b/priv/static/emoji/1f9d1-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d1-1f3fd.svg b/priv/static/emoji/1f9d1-1f3fd.svg new file mode 100644 index 000000000..87ad5b532 --- /dev/null +++ b/priv/static/emoji/1f9d1-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d1-1f3fe.svg b/priv/static/emoji/1f9d1-1f3fe.svg new file mode 100644 index 000000000..f63bc5a2a --- /dev/null +++ b/priv/static/emoji/1f9d1-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d1-1f3ff.svg b/priv/static/emoji/1f9d1-1f3ff.svg new file mode 100644 index 000000000..199a8bf44 --- /dev/null +++ b/priv/static/emoji/1f9d1-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d1.svg b/priv/static/emoji/1f9d1.svg new file mode 100644 index 000000000..18aae372f --- /dev/null +++ b/priv/static/emoji/1f9d1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d2-1f3fb.svg b/priv/static/emoji/1f9d2-1f3fb.svg new file mode 100644 index 000000000..ee17b4cbe --- /dev/null +++ b/priv/static/emoji/1f9d2-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d2-1f3fc.svg b/priv/static/emoji/1f9d2-1f3fc.svg new file mode 100644 index 000000000..eb8dc7832 --- /dev/null +++ b/priv/static/emoji/1f9d2-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d2-1f3fd.svg b/priv/static/emoji/1f9d2-1f3fd.svg new file mode 100644 index 000000000..6a202d60e --- /dev/null +++ b/priv/static/emoji/1f9d2-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d2-1f3fe.svg b/priv/static/emoji/1f9d2-1f3fe.svg new file mode 100644 index 000000000..b4cd560c4 --- /dev/null +++ b/priv/static/emoji/1f9d2-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d2-1f3ff.svg b/priv/static/emoji/1f9d2-1f3ff.svg new file mode 100644 index 000000000..b805d80a9 --- /dev/null +++ b/priv/static/emoji/1f9d2-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d2.svg b/priv/static/emoji/1f9d2.svg new file mode 100644 index 000000000..f352b41dd --- /dev/null +++ b/priv/static/emoji/1f9d2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d3-1f3fb.svg b/priv/static/emoji/1f9d3-1f3fb.svg new file mode 100644 index 000000000..6721beb4a --- /dev/null +++ b/priv/static/emoji/1f9d3-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d3-1f3fc.svg b/priv/static/emoji/1f9d3-1f3fc.svg new file mode 100644 index 000000000..ba61f7f16 --- /dev/null +++ b/priv/static/emoji/1f9d3-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d3-1f3fd.svg b/priv/static/emoji/1f9d3-1f3fd.svg new file mode 100644 index 000000000..78868e3e0 --- /dev/null +++ b/priv/static/emoji/1f9d3-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d3-1f3fe.svg b/priv/static/emoji/1f9d3-1f3fe.svg new file mode 100644 index 000000000..472ee9c7b --- /dev/null +++ b/priv/static/emoji/1f9d3-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d3-1f3ff.svg b/priv/static/emoji/1f9d3-1f3ff.svg new file mode 100644 index 000000000..efaff91a8 --- /dev/null +++ b/priv/static/emoji/1f9d3-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d3.svg b/priv/static/emoji/1f9d3.svg new file mode 100644 index 000000000..357601039 --- /dev/null +++ b/priv/static/emoji/1f9d3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d4-1f3fb.svg b/priv/static/emoji/1f9d4-1f3fb.svg new file mode 100644 index 000000000..f4583cc92 --- /dev/null +++ b/priv/static/emoji/1f9d4-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d4-1f3fc.svg b/priv/static/emoji/1f9d4-1f3fc.svg new file mode 100644 index 000000000..0b6de72fd --- /dev/null +++ b/priv/static/emoji/1f9d4-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d4-1f3fd.svg b/priv/static/emoji/1f9d4-1f3fd.svg new file mode 100644 index 000000000..413b79b82 --- /dev/null +++ b/priv/static/emoji/1f9d4-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d4-1f3fe.svg b/priv/static/emoji/1f9d4-1f3fe.svg new file mode 100644 index 000000000..9f6dbcad7 --- /dev/null +++ b/priv/static/emoji/1f9d4-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d4-1f3ff.svg b/priv/static/emoji/1f9d4-1f3ff.svg new file mode 100644 index 000000000..7da827765 --- /dev/null +++ b/priv/static/emoji/1f9d4-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d4.svg b/priv/static/emoji/1f9d4.svg new file mode 100644 index 000000000..8dc173356 --- /dev/null +++ b/priv/static/emoji/1f9d4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d5-1f3fb.svg b/priv/static/emoji/1f9d5-1f3fb.svg new file mode 100644 index 000000000..c41266b7c --- /dev/null +++ b/priv/static/emoji/1f9d5-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d5-1f3fc.svg b/priv/static/emoji/1f9d5-1f3fc.svg new file mode 100644 index 000000000..0ee84dfcf --- /dev/null +++ b/priv/static/emoji/1f9d5-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d5-1f3fd.svg b/priv/static/emoji/1f9d5-1f3fd.svg new file mode 100644 index 000000000..bc4cac0dc --- /dev/null +++ b/priv/static/emoji/1f9d5-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d5-1f3fe.svg b/priv/static/emoji/1f9d5-1f3fe.svg new file mode 100644 index 000000000..aa5081bae --- /dev/null +++ b/priv/static/emoji/1f9d5-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d5-1f3ff.svg b/priv/static/emoji/1f9d5-1f3ff.svg new file mode 100644 index 000000000..827bfaf9d --- /dev/null +++ b/priv/static/emoji/1f9d5-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d5.svg b/priv/static/emoji/1f9d5.svg new file mode 100644 index 000000000..6ddfb5a49 --- /dev/null +++ b/priv/static/emoji/1f9d5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f9d6-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..9a65636b3 --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f9d6-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..5a623944a --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fb.svg b/priv/static/emoji/1f9d6-1f3fb.svg new file mode 100644 index 000000000..9a65636b3 --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f9d6-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..435e88fe9 --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f9d6-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..d6f1beb07 --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fc.svg b/priv/static/emoji/1f9d6-1f3fc.svg new file mode 100644 index 000000000..435e88fe9 --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f9d6-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..b7392561a --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f9d6-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..515cb688d --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fd.svg b/priv/static/emoji/1f9d6-1f3fd.svg new file mode 100644 index 000000000..b7392561a --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f9d6-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..6d101a569 --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f9d6-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..e43dde27a --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3fe.svg b/priv/static/emoji/1f9d6-1f3fe.svg new file mode 100644 index 000000000..6d101a569 --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f9d6-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..205eb5747 --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f9d6-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..f271c855f --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-1f3ff.svg b/priv/static/emoji/1f9d6-1f3ff.svg new file mode 100644 index 000000000..205eb5747 --- /dev/null +++ b/priv/static/emoji/1f9d6-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-200d-2640-fe0f.svg b/priv/static/emoji/1f9d6-200d-2640-fe0f.svg new file mode 100644 index 000000000..fea6a9391 --- /dev/null +++ b/priv/static/emoji/1f9d6-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6-200d-2642-fe0f.svg b/priv/static/emoji/1f9d6-200d-2642-fe0f.svg new file mode 100644 index 000000000..d9c9c1534 --- /dev/null +++ b/priv/static/emoji/1f9d6-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d6.svg b/priv/static/emoji/1f9d6.svg new file mode 100644 index 000000000..fea6a9391 --- /dev/null +++ b/priv/static/emoji/1f9d6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f9d7-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..fca1a442a --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f9d7-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..144d2f4f5 --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fb.svg b/priv/static/emoji/1f9d7-1f3fb.svg new file mode 100644 index 000000000..144d2f4f5 --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f9d7-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..570da6962 --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f9d7-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..fd28bf2f4 --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fc.svg b/priv/static/emoji/1f9d7-1f3fc.svg new file mode 100644 index 000000000..fd28bf2f4 --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f9d7-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..8da25887c --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f9d7-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..c4a08dab1 --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fd.svg b/priv/static/emoji/1f9d7-1f3fd.svg new file mode 100644 index 000000000..c4a08dab1 --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f9d7-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..e0b694853 --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f9d7-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..470762e1f --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3fe.svg b/priv/static/emoji/1f9d7-1f3fe.svg new file mode 100644 index 000000000..470762e1f --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f9d7-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..8856dc16e --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f9d7-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..4bff51071 --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-1f3ff.svg b/priv/static/emoji/1f9d7-1f3ff.svg new file mode 100644 index 000000000..4bff51071 --- /dev/null +++ b/priv/static/emoji/1f9d7-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-200d-2640-fe0f.svg b/priv/static/emoji/1f9d7-200d-2640-fe0f.svg new file mode 100644 index 000000000..36f14c8cc --- /dev/null +++ b/priv/static/emoji/1f9d7-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7-200d-2642-fe0f.svg b/priv/static/emoji/1f9d7-200d-2642-fe0f.svg new file mode 100644 index 000000000..95db1647f --- /dev/null +++ b/priv/static/emoji/1f9d7-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d7.svg b/priv/static/emoji/1f9d7.svg new file mode 100644 index 000000000..95db1647f --- /dev/null +++ b/priv/static/emoji/1f9d7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f9d8-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..8bd6178dc --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f9d8-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..6a65728f4 --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fb.svg b/priv/static/emoji/1f9d8-1f3fb.svg new file mode 100644 index 000000000..8bd6178dc --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f9d8-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..25eb489e3 --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f9d8-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..426c5de95 --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fc.svg b/priv/static/emoji/1f9d8-1f3fc.svg new file mode 100644 index 000000000..25eb489e3 --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f9d8-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..0f015f02d --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f9d8-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..8a15c2545 --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fd.svg b/priv/static/emoji/1f9d8-1f3fd.svg new file mode 100644 index 000000000..0f015f02d --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f9d8-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..71f6a958d --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f9d8-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..ea2cd80cf --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3fe.svg b/priv/static/emoji/1f9d8-1f3fe.svg new file mode 100644 index 000000000..71f6a958d --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f9d8-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..0fcf4b16b --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f9d8-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..bfbf1da80 --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-1f3ff.svg b/priv/static/emoji/1f9d8-1f3ff.svg new file mode 100644 index 000000000..0fcf4b16b --- /dev/null +++ b/priv/static/emoji/1f9d8-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-200d-2640-fe0f.svg b/priv/static/emoji/1f9d8-200d-2640-fe0f.svg new file mode 100644 index 000000000..344e7ce05 --- /dev/null +++ b/priv/static/emoji/1f9d8-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8-200d-2642-fe0f.svg b/priv/static/emoji/1f9d8-200d-2642-fe0f.svg new file mode 100644 index 000000000..6e6ffdd62 --- /dev/null +++ b/priv/static/emoji/1f9d8-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d8.svg b/priv/static/emoji/1f9d8.svg new file mode 100644 index 000000000..344e7ce05 --- /dev/null +++ b/priv/static/emoji/1f9d8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f9d9-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..b0960fa6e --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f9d9-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..471099511 --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fb.svg b/priv/static/emoji/1f9d9-1f3fb.svg new file mode 100644 index 000000000..471099511 --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f9d9-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..111b4d80f --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f9d9-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..d82ff1c2d --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fc.svg b/priv/static/emoji/1f9d9-1f3fc.svg new file mode 100644 index 000000000..d82ff1c2d --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f9d9-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..0899b523c --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f9d9-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..05564a9bf --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fd.svg b/priv/static/emoji/1f9d9-1f3fd.svg new file mode 100644 index 000000000..05564a9bf --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f9d9-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..6bfe7c68f --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f9d9-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..9db533994 --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3fe.svg b/priv/static/emoji/1f9d9-1f3fe.svg new file mode 100644 index 000000000..9db533994 --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f9d9-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..4c4a326d0 --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f9d9-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..2967e532f --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-1f3ff.svg b/priv/static/emoji/1f9d9-1f3ff.svg new file mode 100644 index 000000000..2967e532f --- /dev/null +++ b/priv/static/emoji/1f9d9-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-200d-2640-fe0f.svg b/priv/static/emoji/1f9d9-200d-2640-fe0f.svg new file mode 100644 index 000000000..95b8b5f7b --- /dev/null +++ b/priv/static/emoji/1f9d9-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9-200d-2642-fe0f.svg b/priv/static/emoji/1f9d9-200d-2642-fe0f.svg new file mode 100644 index 000000000..814783e13 --- /dev/null +++ b/priv/static/emoji/1f9d9-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9d9.svg b/priv/static/emoji/1f9d9.svg new file mode 100644 index 000000000..814783e13 --- /dev/null +++ b/priv/static/emoji/1f9d9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f9da-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..ca2a9a021 --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f9da-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..a2a8c0ec3 --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fb.svg b/priv/static/emoji/1f9da-1f3fb.svg new file mode 100644 index 000000000..ca2a9a021 --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f9da-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..e7a265717 --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f9da-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..f832ccb7a --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fc.svg b/priv/static/emoji/1f9da-1f3fc.svg new file mode 100644 index 000000000..e7a265717 --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f9da-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..1cf49450f --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f9da-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..11393bdf7 --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fd.svg b/priv/static/emoji/1f9da-1f3fd.svg new file mode 100644 index 000000000..1cf49450f --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f9da-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..c79b2ff9c --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f9da-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..7393eedaa --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3fe.svg b/priv/static/emoji/1f9da-1f3fe.svg new file mode 100644 index 000000000..c79b2ff9c --- /dev/null +++ b/priv/static/emoji/1f9da-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f9da-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..fa73e9e79 --- /dev/null +++ b/priv/static/emoji/1f9da-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f9da-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..7b23d046a --- /dev/null +++ b/priv/static/emoji/1f9da-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-1f3ff.svg b/priv/static/emoji/1f9da-1f3ff.svg new file mode 100644 index 000000000..fa73e9e79 --- /dev/null +++ b/priv/static/emoji/1f9da-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-200d-2640-fe0f.svg b/priv/static/emoji/1f9da-200d-2640-fe0f.svg new file mode 100644 index 000000000..9a0b3b4c5 --- /dev/null +++ b/priv/static/emoji/1f9da-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da-200d-2642-fe0f.svg b/priv/static/emoji/1f9da-200d-2642-fe0f.svg new file mode 100644 index 000000000..3634760fc --- /dev/null +++ b/priv/static/emoji/1f9da-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9da.svg b/priv/static/emoji/1f9da.svg new file mode 100644 index 000000000..9a0b3b4c5 --- /dev/null +++ b/priv/static/emoji/1f9da.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f9db-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..b32bfd5ba --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f9db-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..6a2e57e6c --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fb.svg b/priv/static/emoji/1f9db-1f3fb.svg new file mode 100644 index 000000000..6a2e57e6c --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f9db-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..5b45c6a5d --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f9db-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..977d04020 --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fc.svg b/priv/static/emoji/1f9db-1f3fc.svg new file mode 100644 index 000000000..977d04020 --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f9db-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..f4b3aea67 --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f9db-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..97a93aac0 --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fd.svg b/priv/static/emoji/1f9db-1f3fd.svg new file mode 100644 index 000000000..97a93aac0 --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f9db-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..70aa844e9 --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f9db-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..6afba45ce --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3fe.svg b/priv/static/emoji/1f9db-1f3fe.svg new file mode 100644 index 000000000..6afba45ce --- /dev/null +++ b/priv/static/emoji/1f9db-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f9db-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..532b32ce1 --- /dev/null +++ b/priv/static/emoji/1f9db-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f9db-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..30adcd864 --- /dev/null +++ b/priv/static/emoji/1f9db-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-1f3ff.svg b/priv/static/emoji/1f9db-1f3ff.svg new file mode 100644 index 000000000..30adcd864 --- /dev/null +++ b/priv/static/emoji/1f9db-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-200d-2640-fe0f.svg b/priv/static/emoji/1f9db-200d-2640-fe0f.svg new file mode 100644 index 000000000..d0aa04d0d --- /dev/null +++ b/priv/static/emoji/1f9db-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db-200d-2642-fe0f.svg b/priv/static/emoji/1f9db-200d-2642-fe0f.svg new file mode 100644 index 000000000..9719a1de4 --- /dev/null +++ b/priv/static/emoji/1f9db-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9db.svg b/priv/static/emoji/1f9db.svg new file mode 100644 index 000000000..9719a1de4 --- /dev/null +++ b/priv/static/emoji/1f9db.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f9dc-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..e237ae292 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f9dc-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..c6d8341d5 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fb.svg b/priv/static/emoji/1f9dc-1f3fb.svg new file mode 100644 index 000000000..e237ae292 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f9dc-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..319816882 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f9dc-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..fd1d1b6dd --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fc.svg b/priv/static/emoji/1f9dc-1f3fc.svg new file mode 100644 index 000000000..319816882 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f9dc-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..29ae6e9a2 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f9dc-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..c71ebcaf0 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fd.svg b/priv/static/emoji/1f9dc-1f3fd.svg new file mode 100644 index 000000000..29ae6e9a2 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f9dc-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..4d74cce5c --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f9dc-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..33a722853 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3fe.svg b/priv/static/emoji/1f9dc-1f3fe.svg new file mode 100644 index 000000000..4d74cce5c --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f9dc-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..abdd82796 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f9dc-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..51b1d082e --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-1f3ff.svg b/priv/static/emoji/1f9dc-1f3ff.svg new file mode 100644 index 000000000..abdd82796 --- /dev/null +++ b/priv/static/emoji/1f9dc-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-200d-2640-fe0f.svg b/priv/static/emoji/1f9dc-200d-2640-fe0f.svg new file mode 100644 index 000000000..ce3976137 --- /dev/null +++ b/priv/static/emoji/1f9dc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc-200d-2642-fe0f.svg b/priv/static/emoji/1f9dc-200d-2642-fe0f.svg new file mode 100644 index 000000000..2fc5df524 --- /dev/null +++ b/priv/static/emoji/1f9dc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dc.svg b/priv/static/emoji/1f9dc.svg new file mode 100644 index 000000000..ce3976137 --- /dev/null +++ b/priv/static/emoji/1f9dc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/1f9dd-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..5214ac009 --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/1f9dd-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..84d9dd8f5 --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fb.svg b/priv/static/emoji/1f9dd-1f3fb.svg new file mode 100644 index 000000000..84d9dd8f5 --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/1f9dd-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..fe418bcac --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/1f9dd-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..3399fdde4 --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fc.svg b/priv/static/emoji/1f9dd-1f3fc.svg new file mode 100644 index 000000000..3399fdde4 --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/1f9dd-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..fc11d24c6 --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/1f9dd-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..181feba5a --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fd.svg b/priv/static/emoji/1f9dd-1f3fd.svg new file mode 100644 index 000000000..181feba5a --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/1f9dd-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..5c0123f83 --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/1f9dd-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..f7b2c321e --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3fe.svg b/priv/static/emoji/1f9dd-1f3fe.svg new file mode 100644 index 000000000..f7b2c321e --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/1f9dd-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..9b6f37fb0 --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/1f9dd-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..c05267d4b --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-1f3ff.svg b/priv/static/emoji/1f9dd-1f3ff.svg new file mode 100644 index 000000000..c05267d4b --- /dev/null +++ b/priv/static/emoji/1f9dd-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-200d-2640-fe0f.svg b/priv/static/emoji/1f9dd-200d-2640-fe0f.svg new file mode 100644 index 000000000..49c6a4ba9 --- /dev/null +++ b/priv/static/emoji/1f9dd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd-200d-2642-fe0f.svg b/priv/static/emoji/1f9dd-200d-2642-fe0f.svg new file mode 100644 index 000000000..c9714d2a9 --- /dev/null +++ b/priv/static/emoji/1f9dd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9dd.svg b/priv/static/emoji/1f9dd.svg new file mode 100644 index 000000000..c9714d2a9 --- /dev/null +++ b/priv/static/emoji/1f9dd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9de-200d-2640-fe0f.svg b/priv/static/emoji/1f9de-200d-2640-fe0f.svg new file mode 100644 index 000000000..dfcd6d61c --- /dev/null +++ b/priv/static/emoji/1f9de-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9de-200d-2642-fe0f.svg b/priv/static/emoji/1f9de-200d-2642-fe0f.svg new file mode 100644 index 000000000..030152363 --- /dev/null +++ b/priv/static/emoji/1f9de-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9de.svg b/priv/static/emoji/1f9de.svg new file mode 100644 index 000000000..030152363 --- /dev/null +++ b/priv/static/emoji/1f9de.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9df-200d-2640-fe0f.svg b/priv/static/emoji/1f9df-200d-2640-fe0f.svg new file mode 100644 index 000000000..deb582f56 --- /dev/null +++ b/priv/static/emoji/1f9df-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9df-200d-2642-fe0f.svg b/priv/static/emoji/1f9df-200d-2642-fe0f.svg new file mode 100644 index 000000000..60e086314 --- /dev/null +++ b/priv/static/emoji/1f9df-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9df.svg b/priv/static/emoji/1f9df.svg new file mode 100644 index 000000000..60e086314 --- /dev/null +++ b/priv/static/emoji/1f9df.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9e0.svg b/priv/static/emoji/1f9e0.svg new file mode 100644 index 000000000..df291e740 --- /dev/null +++ b/priv/static/emoji/1f9e0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9e1.svg b/priv/static/emoji/1f9e1.svg new file mode 100644 index 000000000..2a35e7788 --- /dev/null +++ b/priv/static/emoji/1f9e1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9e2.svg b/priv/static/emoji/1f9e2.svg new file mode 100644 index 000000000..68e9079ff --- /dev/null +++ b/priv/static/emoji/1f9e2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9e3.svg b/priv/static/emoji/1f9e3.svg new file mode 100644 index 000000000..09643e41a --- /dev/null +++ b/priv/static/emoji/1f9e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9e4.svg b/priv/static/emoji/1f9e4.svg new file mode 100644 index 000000000..4f34ac565 --- /dev/null +++ b/priv/static/emoji/1f9e4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9e5.svg b/priv/static/emoji/1f9e5.svg new file mode 100644 index 000000000..778d9dc87 --- /dev/null +++ b/priv/static/emoji/1f9e5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/1f9e6.svg b/priv/static/emoji/1f9e6.svg new file mode 100644 index 000000000..a9ccf1e84 --- /dev/null +++ b/priv/static/emoji/1f9e6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/203c.svg b/priv/static/emoji/203c.svg new file mode 100644 index 000000000..955e9dc6a --- /dev/null +++ b/priv/static/emoji/203c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2049.svg b/priv/static/emoji/2049.svg new file mode 100644 index 000000000..457aab8ea --- /dev/null +++ b/priv/static/emoji/2049.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2122.svg b/priv/static/emoji/2122.svg new file mode 100644 index 000000000..554777689 --- /dev/null +++ b/priv/static/emoji/2122.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2139.svg b/priv/static/emoji/2139.svg new file mode 100644 index 000000000..cc2df8c69 --- /dev/null +++ b/priv/static/emoji/2139.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2194.svg b/priv/static/emoji/2194.svg new file mode 100644 index 000000000..7f97d90c9 --- /dev/null +++ b/priv/static/emoji/2194.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2195.svg b/priv/static/emoji/2195.svg new file mode 100644 index 000000000..afe63739c --- /dev/null +++ b/priv/static/emoji/2195.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2196.svg b/priv/static/emoji/2196.svg new file mode 100644 index 000000000..9c3ce342c --- /dev/null +++ b/priv/static/emoji/2196.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2197.svg b/priv/static/emoji/2197.svg new file mode 100644 index 000000000..4982e3790 --- /dev/null +++ b/priv/static/emoji/2197.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2198.svg b/priv/static/emoji/2198.svg new file mode 100644 index 000000000..92a863884 --- /dev/null +++ b/priv/static/emoji/2198.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2199.svg b/priv/static/emoji/2199.svg new file mode 100644 index 000000000..a0753f6be --- /dev/null +++ b/priv/static/emoji/2199.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/21a9.svg b/priv/static/emoji/21a9.svg new file mode 100644 index 000000000..b9a5f5991 --- /dev/null +++ b/priv/static/emoji/21a9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/21aa.svg b/priv/static/emoji/21aa.svg new file mode 100644 index 000000000..d7ecd3656 --- /dev/null +++ b/priv/static/emoji/21aa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23-20e3.svg b/priv/static/emoji/23-20e3.svg new file mode 100644 index 000000000..6ec375024 --- /dev/null +++ b/priv/static/emoji/23-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/231a.svg b/priv/static/emoji/231a.svg new file mode 100644 index 000000000..218360901 --- /dev/null +++ b/priv/static/emoji/231a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/231b.svg b/priv/static/emoji/231b.svg new file mode 100644 index 000000000..4c001222d --- /dev/null +++ b/priv/static/emoji/231b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2328.svg b/priv/static/emoji/2328.svg new file mode 100644 index 000000000..1004347b0 --- /dev/null +++ b/priv/static/emoji/2328.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23cf.svg b/priv/static/emoji/23cf.svg new file mode 100644 index 000000000..c85f114fa --- /dev/null +++ b/priv/static/emoji/23cf.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23e9.svg b/priv/static/emoji/23e9.svg new file mode 100644 index 000000000..9bbfc6fcb --- /dev/null +++ b/priv/static/emoji/23e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23ea.svg b/priv/static/emoji/23ea.svg new file mode 100644 index 000000000..65c35a904 --- /dev/null +++ b/priv/static/emoji/23ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23eb.svg b/priv/static/emoji/23eb.svg new file mode 100644 index 000000000..b045d9035 --- /dev/null +++ b/priv/static/emoji/23eb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23ec.svg b/priv/static/emoji/23ec.svg new file mode 100644 index 000000000..8c258ce46 --- /dev/null +++ b/priv/static/emoji/23ec.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23ed.svg b/priv/static/emoji/23ed.svg new file mode 100644 index 000000000..179100aa3 --- /dev/null +++ b/priv/static/emoji/23ed.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23ee.svg b/priv/static/emoji/23ee.svg new file mode 100644 index 000000000..7c69b690b --- /dev/null +++ b/priv/static/emoji/23ee.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23ef.svg b/priv/static/emoji/23ef.svg new file mode 100644 index 000000000..bdf3a2f04 --- /dev/null +++ b/priv/static/emoji/23ef.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23f0.svg b/priv/static/emoji/23f0.svg new file mode 100644 index 000000000..5c9c6c9f7 --- /dev/null +++ b/priv/static/emoji/23f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23f1.svg b/priv/static/emoji/23f1.svg new file mode 100644 index 000000000..f7bab6c11 --- /dev/null +++ b/priv/static/emoji/23f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23f2.svg b/priv/static/emoji/23f2.svg new file mode 100644 index 000000000..d5fd91b47 --- /dev/null +++ b/priv/static/emoji/23f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23f3.svg b/priv/static/emoji/23f3.svg new file mode 100644 index 000000000..cab22a1f1 --- /dev/null +++ b/priv/static/emoji/23f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23f8.svg b/priv/static/emoji/23f8.svg new file mode 100644 index 000000000..9e8995e4c --- /dev/null +++ b/priv/static/emoji/23f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23f9.svg b/priv/static/emoji/23f9.svg new file mode 100644 index 000000000..608fd561f --- /dev/null +++ b/priv/static/emoji/23f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/23fa.svg b/priv/static/emoji/23fa.svg new file mode 100644 index 000000000..4583b10da --- /dev/null +++ b/priv/static/emoji/23fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/24c2.svg b/priv/static/emoji/24c2.svg new file mode 100644 index 000000000..bd4ca96a7 --- /dev/null +++ b/priv/static/emoji/24c2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/25aa.svg b/priv/static/emoji/25aa.svg new file mode 100644 index 000000000..9d8c004aa --- /dev/null +++ b/priv/static/emoji/25aa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/25ab.svg b/priv/static/emoji/25ab.svg new file mode 100644 index 000000000..2da27bef3 --- /dev/null +++ b/priv/static/emoji/25ab.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/25b6.svg b/priv/static/emoji/25b6.svg new file mode 100644 index 000000000..a208b0ec8 --- /dev/null +++ b/priv/static/emoji/25b6.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/25c0.svg b/priv/static/emoji/25c0.svg new file mode 100644 index 000000000..99baa87e3 --- /dev/null +++ b/priv/static/emoji/25c0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/25fb.svg b/priv/static/emoji/25fb.svg new file mode 100644 index 000000000..44c97a58f --- /dev/null +++ b/priv/static/emoji/25fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/25fc.svg b/priv/static/emoji/25fc.svg new file mode 100644 index 000000000..b3cbc0ab3 --- /dev/null +++ b/priv/static/emoji/25fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/25fd.svg b/priv/static/emoji/25fd.svg new file mode 100644 index 000000000..0d86db171 --- /dev/null +++ b/priv/static/emoji/25fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/25fe.svg b/priv/static/emoji/25fe.svg new file mode 100644 index 000000000..0224ef0ae --- /dev/null +++ b/priv/static/emoji/25fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2600.svg b/priv/static/emoji/2600.svg new file mode 100644 index 000000000..734d6d234 --- /dev/null +++ b/priv/static/emoji/2600.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2601.svg b/priv/static/emoji/2601.svg new file mode 100644 index 000000000..76dd8ef5b --- /dev/null +++ b/priv/static/emoji/2601.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2602.svg b/priv/static/emoji/2602.svg new file mode 100644 index 000000000..671213347 --- /dev/null +++ b/priv/static/emoji/2602.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2603.svg b/priv/static/emoji/2603.svg new file mode 100644 index 000000000..0e3ce2260 --- /dev/null +++ b/priv/static/emoji/2603.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2604.svg b/priv/static/emoji/2604.svg new file mode 100644 index 000000000..3d525c4c5 --- /dev/null +++ b/priv/static/emoji/2604.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/260e.svg b/priv/static/emoji/260e.svg new file mode 100644 index 000000000..f71c5595d --- /dev/null +++ b/priv/static/emoji/260e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2611.svg b/priv/static/emoji/2611.svg new file mode 100644 index 000000000..719f46c10 --- /dev/null +++ b/priv/static/emoji/2611.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2614.svg b/priv/static/emoji/2614.svg new file mode 100644 index 000000000..bdeb12e64 --- /dev/null +++ b/priv/static/emoji/2614.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2615.svg b/priv/static/emoji/2615.svg new file mode 100644 index 000000000..974261208 --- /dev/null +++ b/priv/static/emoji/2615.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2618.svg b/priv/static/emoji/2618.svg new file mode 100644 index 000000000..f4b39ae44 --- /dev/null +++ b/priv/static/emoji/2618.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/261d-1f3fb.svg b/priv/static/emoji/261d-1f3fb.svg new file mode 100644 index 000000000..52bf74379 --- /dev/null +++ b/priv/static/emoji/261d-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/261d-1f3fc.svg b/priv/static/emoji/261d-1f3fc.svg new file mode 100644 index 000000000..1c188d0e3 --- /dev/null +++ b/priv/static/emoji/261d-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/261d-1f3fd.svg b/priv/static/emoji/261d-1f3fd.svg new file mode 100644 index 000000000..b377f9f81 --- /dev/null +++ b/priv/static/emoji/261d-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/261d-1f3fe.svg b/priv/static/emoji/261d-1f3fe.svg new file mode 100644 index 000000000..324f88f9c --- /dev/null +++ b/priv/static/emoji/261d-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/261d-1f3ff.svg b/priv/static/emoji/261d-1f3ff.svg new file mode 100644 index 000000000..152227415 --- /dev/null +++ b/priv/static/emoji/261d-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/261d.svg b/priv/static/emoji/261d.svg new file mode 100644 index 000000000..8d0720ac9 --- /dev/null +++ b/priv/static/emoji/261d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2620.svg b/priv/static/emoji/2620.svg new file mode 100644 index 000000000..6275f091d --- /dev/null +++ b/priv/static/emoji/2620.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2622.svg b/priv/static/emoji/2622.svg new file mode 100644 index 000000000..22fe96a7b --- /dev/null +++ b/priv/static/emoji/2622.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2623.svg b/priv/static/emoji/2623.svg new file mode 100644 index 000000000..2240cd6d9 --- /dev/null +++ b/priv/static/emoji/2623.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2626.svg b/priv/static/emoji/2626.svg new file mode 100644 index 000000000..a1fccfed4 --- /dev/null +++ b/priv/static/emoji/2626.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/262a.svg b/priv/static/emoji/262a.svg new file mode 100644 index 000000000..478d46894 --- /dev/null +++ b/priv/static/emoji/262a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/262e.svg b/priv/static/emoji/262e.svg new file mode 100644 index 000000000..7ff833d39 --- /dev/null +++ b/priv/static/emoji/262e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/262f.svg b/priv/static/emoji/262f.svg new file mode 100644 index 000000000..48aec61ae --- /dev/null +++ b/priv/static/emoji/262f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2638.svg b/priv/static/emoji/2638.svg new file mode 100644 index 000000000..c65083aad --- /dev/null +++ b/priv/static/emoji/2638.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2639.svg b/priv/static/emoji/2639.svg new file mode 100644 index 000000000..b6f0b04a2 --- /dev/null +++ b/priv/static/emoji/2639.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/263a.svg b/priv/static/emoji/263a.svg new file mode 100644 index 000000000..2b358e7dc --- /dev/null +++ b/priv/static/emoji/263a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2640.svg b/priv/static/emoji/2640.svg new file mode 100644 index 000000000..9605f8023 --- /dev/null +++ b/priv/static/emoji/2640.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2642.svg b/priv/static/emoji/2642.svg new file mode 100644 index 000000000..2eb7e7fc0 --- /dev/null +++ b/priv/static/emoji/2642.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2648.svg b/priv/static/emoji/2648.svg new file mode 100644 index 000000000..bc556d9f4 --- /dev/null +++ b/priv/static/emoji/2648.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2649.svg b/priv/static/emoji/2649.svg new file mode 100644 index 000000000..eca8d4a54 --- /dev/null +++ b/priv/static/emoji/2649.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/264a.svg b/priv/static/emoji/264a.svg new file mode 100644 index 000000000..954e211dc --- /dev/null +++ b/priv/static/emoji/264a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/264b.svg b/priv/static/emoji/264b.svg new file mode 100644 index 000000000..f8f82b780 --- /dev/null +++ b/priv/static/emoji/264b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/264c.svg b/priv/static/emoji/264c.svg new file mode 100644 index 000000000..8529aac4e --- /dev/null +++ b/priv/static/emoji/264c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/264d.svg b/priv/static/emoji/264d.svg new file mode 100644 index 000000000..74919add4 --- /dev/null +++ b/priv/static/emoji/264d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/264e.svg b/priv/static/emoji/264e.svg new file mode 100644 index 000000000..3879b8a68 --- /dev/null +++ b/priv/static/emoji/264e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/264f.svg b/priv/static/emoji/264f.svg new file mode 100644 index 000000000..b8a7bf8d6 --- /dev/null +++ b/priv/static/emoji/264f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2650.svg b/priv/static/emoji/2650.svg new file mode 100644 index 000000000..a4d391290 --- /dev/null +++ b/priv/static/emoji/2650.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2651.svg b/priv/static/emoji/2651.svg new file mode 100644 index 000000000..7eabb46aa --- /dev/null +++ b/priv/static/emoji/2651.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2652.svg b/priv/static/emoji/2652.svg new file mode 100644 index 000000000..8644b787e --- /dev/null +++ b/priv/static/emoji/2652.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2653.svg b/priv/static/emoji/2653.svg new file mode 100644 index 000000000..c529897f8 --- /dev/null +++ b/priv/static/emoji/2653.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2660.svg b/priv/static/emoji/2660.svg new file mode 100644 index 000000000..687a3c150 --- /dev/null +++ b/priv/static/emoji/2660.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2663.svg b/priv/static/emoji/2663.svg new file mode 100644 index 000000000..d1afd90e1 --- /dev/null +++ b/priv/static/emoji/2663.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2665.svg b/priv/static/emoji/2665.svg new file mode 100644 index 000000000..a4d85a512 --- /dev/null +++ b/priv/static/emoji/2665.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2666.svg b/priv/static/emoji/2666.svg new file mode 100644 index 000000000..561a85b2f --- /dev/null +++ b/priv/static/emoji/2666.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2668.svg b/priv/static/emoji/2668.svg new file mode 100644 index 000000000..8aa2f4b6b --- /dev/null +++ b/priv/static/emoji/2668.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/267b.svg b/priv/static/emoji/267b.svg new file mode 100644 index 000000000..118b9a7b9 --- /dev/null +++ b/priv/static/emoji/267b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/267f.svg b/priv/static/emoji/267f.svg new file mode 100644 index 000000000..a082dbd57 --- /dev/null +++ b/priv/static/emoji/267f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2692.svg b/priv/static/emoji/2692.svg new file mode 100644 index 000000000..0bb18a1ab --- /dev/null +++ b/priv/static/emoji/2692.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2693.svg b/priv/static/emoji/2693.svg new file mode 100644 index 000000000..752c9d242 --- /dev/null +++ b/priv/static/emoji/2693.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2694.svg b/priv/static/emoji/2694.svg new file mode 100644 index 000000000..3fe031fe8 --- /dev/null +++ b/priv/static/emoji/2694.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2695.svg b/priv/static/emoji/2695.svg new file mode 100644 index 000000000..636f7ed26 --- /dev/null +++ b/priv/static/emoji/2695.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2696.svg b/priv/static/emoji/2696.svg new file mode 100644 index 000000000..77d5349ab --- /dev/null +++ b/priv/static/emoji/2696.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2697.svg b/priv/static/emoji/2697.svg new file mode 100644 index 000000000..3e8b73d51 --- /dev/null +++ b/priv/static/emoji/2697.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2699.svg b/priv/static/emoji/2699.svg new file mode 100644 index 000000000..616e7960f --- /dev/null +++ b/priv/static/emoji/2699.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/269b.svg b/priv/static/emoji/269b.svg new file mode 100644 index 000000000..67f33674f --- /dev/null +++ b/priv/static/emoji/269b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/269c.svg b/priv/static/emoji/269c.svg new file mode 100644 index 000000000..da380fdb0 --- /dev/null +++ b/priv/static/emoji/269c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26a0.svg b/priv/static/emoji/26a0.svg new file mode 100644 index 000000000..81952f7d5 --- /dev/null +++ b/priv/static/emoji/26a0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26a1.svg b/priv/static/emoji/26a1.svg new file mode 100644 index 000000000..2e816f437 --- /dev/null +++ b/priv/static/emoji/26a1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26aa.svg b/priv/static/emoji/26aa.svg new file mode 100644 index 000000000..edf7f0979 --- /dev/null +++ b/priv/static/emoji/26aa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26ab.svg b/priv/static/emoji/26ab.svg new file mode 100644 index 000000000..c7f93882c --- /dev/null +++ b/priv/static/emoji/26ab.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26b0.svg b/priv/static/emoji/26b0.svg new file mode 100644 index 000000000..fb6a25276 --- /dev/null +++ b/priv/static/emoji/26b0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26b1.svg b/priv/static/emoji/26b1.svg new file mode 100644 index 000000000..2bbe1e997 --- /dev/null +++ b/priv/static/emoji/26b1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26bd.svg b/priv/static/emoji/26bd.svg new file mode 100644 index 000000000..5aad1297f --- /dev/null +++ b/priv/static/emoji/26bd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26be.svg b/priv/static/emoji/26be.svg new file mode 100644 index 000000000..6e7f41028 --- /dev/null +++ b/priv/static/emoji/26be.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26c4.svg b/priv/static/emoji/26c4.svg new file mode 100644 index 000000000..f202eaea4 --- /dev/null +++ b/priv/static/emoji/26c4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26c5.svg b/priv/static/emoji/26c5.svg new file mode 100644 index 000000000..d8d053b71 --- /dev/null +++ b/priv/static/emoji/26c5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26c8.svg b/priv/static/emoji/26c8.svg new file mode 100644 index 000000000..86e3c01ca --- /dev/null +++ b/priv/static/emoji/26c8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26ce.svg b/priv/static/emoji/26ce.svg new file mode 100644 index 000000000..9fc2d99ce --- /dev/null +++ b/priv/static/emoji/26ce.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26cf.svg b/priv/static/emoji/26cf.svg new file mode 100644 index 000000000..5e434df61 --- /dev/null +++ b/priv/static/emoji/26cf.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26d1.svg b/priv/static/emoji/26d1.svg new file mode 100644 index 000000000..3ab886e57 --- /dev/null +++ b/priv/static/emoji/26d1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26d3.svg b/priv/static/emoji/26d3.svg new file mode 100644 index 000000000..636fc4edc --- /dev/null +++ b/priv/static/emoji/26d3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26d4.svg b/priv/static/emoji/26d4.svg new file mode 100644 index 000000000..433994c94 --- /dev/null +++ b/priv/static/emoji/26d4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26e9.svg b/priv/static/emoji/26e9.svg new file mode 100644 index 000000000..28a4e20e4 --- /dev/null +++ b/priv/static/emoji/26e9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26ea.svg b/priv/static/emoji/26ea.svg new file mode 100644 index 000000000..66daae973 --- /dev/null +++ b/priv/static/emoji/26ea.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f0.svg b/priv/static/emoji/26f0.svg new file mode 100644 index 000000000..25a3d7608 --- /dev/null +++ b/priv/static/emoji/26f0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f1.svg b/priv/static/emoji/26f1.svg new file mode 100644 index 000000000..582dceb0d --- /dev/null +++ b/priv/static/emoji/26f1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f2.svg b/priv/static/emoji/26f2.svg new file mode 100644 index 000000000..b12362cbf --- /dev/null +++ b/priv/static/emoji/26f2.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f3.svg b/priv/static/emoji/26f3.svg new file mode 100644 index 000000000..380db9ad1 --- /dev/null +++ b/priv/static/emoji/26f3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f4.svg b/priv/static/emoji/26f4.svg new file mode 100644 index 000000000..ecdfb117e --- /dev/null +++ b/priv/static/emoji/26f4.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f5.svg b/priv/static/emoji/26f5.svg new file mode 100644 index 000000000..7cc9620fd --- /dev/null +++ b/priv/static/emoji/26f5.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f7-1f3fb.svg b/priv/static/emoji/26f7-1f3fb.svg new file mode 100644 index 000000000..fb061e614 --- /dev/null +++ b/priv/static/emoji/26f7-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f7-1f3fc.svg b/priv/static/emoji/26f7-1f3fc.svg new file mode 100644 index 000000000..2dd9d8b6a --- /dev/null +++ b/priv/static/emoji/26f7-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f7-1f3fd.svg b/priv/static/emoji/26f7-1f3fd.svg new file mode 100644 index 000000000..74313649b --- /dev/null +++ b/priv/static/emoji/26f7-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f7-1f3fe.svg b/priv/static/emoji/26f7-1f3fe.svg new file mode 100644 index 000000000..665d80d24 --- /dev/null +++ b/priv/static/emoji/26f7-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f7-1f3ff.svg b/priv/static/emoji/26f7-1f3ff.svg new file mode 100644 index 000000000..125156eca --- /dev/null +++ b/priv/static/emoji/26f7-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f7.svg b/priv/static/emoji/26f7.svg new file mode 100644 index 000000000..24a5ee2d7 --- /dev/null +++ b/priv/static/emoji/26f7.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f8.svg b/priv/static/emoji/26f8.svg new file mode 100644 index 000000000..081c91946 --- /dev/null +++ b/priv/static/emoji/26f8.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fb-200d-2640-fe0f.svg b/priv/static/emoji/26f9-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 000000000..aaa5e9b8d --- /dev/null +++ b/priv/static/emoji/26f9-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fb-200d-2642-fe0f.svg b/priv/static/emoji/26f9-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 000000000..e54effa50 --- /dev/null +++ b/priv/static/emoji/26f9-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fb.svg b/priv/static/emoji/26f9-1f3fb.svg new file mode 100644 index 000000000..e54effa50 --- /dev/null +++ b/priv/static/emoji/26f9-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fc-200d-2640-fe0f.svg b/priv/static/emoji/26f9-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 000000000..dcfff64d7 --- /dev/null +++ b/priv/static/emoji/26f9-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fc-200d-2642-fe0f.svg b/priv/static/emoji/26f9-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 000000000..41e49a818 --- /dev/null +++ b/priv/static/emoji/26f9-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fc.svg b/priv/static/emoji/26f9-1f3fc.svg new file mode 100644 index 000000000..41e49a818 --- /dev/null +++ b/priv/static/emoji/26f9-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fd-200d-2640-fe0f.svg b/priv/static/emoji/26f9-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 000000000..3c67cdb51 --- /dev/null +++ b/priv/static/emoji/26f9-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fd-200d-2642-fe0f.svg b/priv/static/emoji/26f9-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 000000000..25e93c8b5 --- /dev/null +++ b/priv/static/emoji/26f9-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fd.svg b/priv/static/emoji/26f9-1f3fd.svg new file mode 100644 index 000000000..25e93c8b5 --- /dev/null +++ b/priv/static/emoji/26f9-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fe-200d-2640-fe0f.svg b/priv/static/emoji/26f9-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 000000000..79ebd4eba --- /dev/null +++ b/priv/static/emoji/26f9-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fe-200d-2642-fe0f.svg b/priv/static/emoji/26f9-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 000000000..07ff37447 --- /dev/null +++ b/priv/static/emoji/26f9-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3fe.svg b/priv/static/emoji/26f9-1f3fe.svg new file mode 100644 index 000000000..07ff37447 --- /dev/null +++ b/priv/static/emoji/26f9-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3ff-200d-2640-fe0f.svg b/priv/static/emoji/26f9-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 000000000..8976d8fd8 --- /dev/null +++ b/priv/static/emoji/26f9-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3ff-200d-2642-fe0f.svg b/priv/static/emoji/26f9-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 000000000..1e4c96717 --- /dev/null +++ b/priv/static/emoji/26f9-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-1f3ff.svg b/priv/static/emoji/26f9-1f3ff.svg new file mode 100644 index 000000000..1e4c96717 --- /dev/null +++ b/priv/static/emoji/26f9-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-fe0f-200d-2640-fe0f.svg b/priv/static/emoji/26f9-fe0f-200d-2640-fe0f.svg new file mode 100644 index 000000000..72d0a9b23 --- /dev/null +++ b/priv/static/emoji/26f9-fe0f-200d-2640-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9-fe0f-200d-2642-fe0f.svg b/priv/static/emoji/26f9-fe0f-200d-2642-fe0f.svg new file mode 100644 index 000000000..28bef1b8d --- /dev/null +++ b/priv/static/emoji/26f9-fe0f-200d-2642-fe0f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26f9.svg b/priv/static/emoji/26f9.svg new file mode 100644 index 000000000..28bef1b8d --- /dev/null +++ b/priv/static/emoji/26f9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26fa.svg b/priv/static/emoji/26fa.svg new file mode 100644 index 000000000..3fd15c467 --- /dev/null +++ b/priv/static/emoji/26fa.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/26fd.svg b/priv/static/emoji/26fd.svg new file mode 100644 index 000000000..d234f20df --- /dev/null +++ b/priv/static/emoji/26fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2702.svg b/priv/static/emoji/2702.svg new file mode 100644 index 000000000..eb14f2d34 --- /dev/null +++ b/priv/static/emoji/2702.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2705.svg b/priv/static/emoji/2705.svg new file mode 100644 index 000000000..2aba51916 --- /dev/null +++ b/priv/static/emoji/2705.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2708.svg b/priv/static/emoji/2708.svg new file mode 100644 index 000000000..12fb9b5c3 --- /dev/null +++ b/priv/static/emoji/2708.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2709.svg b/priv/static/emoji/2709.svg new file mode 100644 index 000000000..0c37fcb8b --- /dev/null +++ b/priv/static/emoji/2709.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270a-1f3fb.svg b/priv/static/emoji/270a-1f3fb.svg new file mode 100644 index 000000000..d15ffb843 --- /dev/null +++ b/priv/static/emoji/270a-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270a-1f3fc.svg b/priv/static/emoji/270a-1f3fc.svg new file mode 100644 index 000000000..d3ef80295 --- /dev/null +++ b/priv/static/emoji/270a-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270a-1f3fd.svg b/priv/static/emoji/270a-1f3fd.svg new file mode 100644 index 000000000..658e9d48a --- /dev/null +++ b/priv/static/emoji/270a-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270a-1f3fe.svg b/priv/static/emoji/270a-1f3fe.svg new file mode 100644 index 000000000..dec8e82fe --- /dev/null +++ b/priv/static/emoji/270a-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270a-1f3ff.svg b/priv/static/emoji/270a-1f3ff.svg new file mode 100644 index 000000000..5be8afe57 --- /dev/null +++ b/priv/static/emoji/270a-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270a.svg b/priv/static/emoji/270a.svg new file mode 100644 index 000000000..de1946265 --- /dev/null +++ b/priv/static/emoji/270a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270b-1f3fb.svg b/priv/static/emoji/270b-1f3fb.svg new file mode 100644 index 000000000..0641793ea --- /dev/null +++ b/priv/static/emoji/270b-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270b-1f3fc.svg b/priv/static/emoji/270b-1f3fc.svg new file mode 100644 index 000000000..f0352b8da --- /dev/null +++ b/priv/static/emoji/270b-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270b-1f3fd.svg b/priv/static/emoji/270b-1f3fd.svg new file mode 100644 index 000000000..77154d070 --- /dev/null +++ b/priv/static/emoji/270b-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270b-1f3fe.svg b/priv/static/emoji/270b-1f3fe.svg new file mode 100644 index 000000000..6d44c9b38 --- /dev/null +++ b/priv/static/emoji/270b-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270b-1f3ff.svg b/priv/static/emoji/270b-1f3ff.svg new file mode 100644 index 000000000..35e7bb3ec --- /dev/null +++ b/priv/static/emoji/270b-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270b.svg b/priv/static/emoji/270b.svg new file mode 100644 index 000000000..828724637 --- /dev/null +++ b/priv/static/emoji/270b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270c-1f3fb.svg b/priv/static/emoji/270c-1f3fb.svg new file mode 100644 index 000000000..447137caa --- /dev/null +++ b/priv/static/emoji/270c-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270c-1f3fc.svg b/priv/static/emoji/270c-1f3fc.svg new file mode 100644 index 000000000..908add91c --- /dev/null +++ b/priv/static/emoji/270c-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270c-1f3fd.svg b/priv/static/emoji/270c-1f3fd.svg new file mode 100644 index 000000000..1a814abd8 --- /dev/null +++ b/priv/static/emoji/270c-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270c-1f3fe.svg b/priv/static/emoji/270c-1f3fe.svg new file mode 100644 index 000000000..a8ee7f0ed --- /dev/null +++ b/priv/static/emoji/270c-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270c-1f3ff.svg b/priv/static/emoji/270c-1f3ff.svg new file mode 100644 index 000000000..bcff574ad --- /dev/null +++ b/priv/static/emoji/270c-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270c.svg b/priv/static/emoji/270c.svg new file mode 100644 index 000000000..0fbd3b5ff --- /dev/null +++ b/priv/static/emoji/270c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270d-1f3fb.svg b/priv/static/emoji/270d-1f3fb.svg new file mode 100644 index 000000000..4dc08a519 --- /dev/null +++ b/priv/static/emoji/270d-1f3fb.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270d-1f3fc.svg b/priv/static/emoji/270d-1f3fc.svg new file mode 100644 index 000000000..fdd4d48c6 --- /dev/null +++ b/priv/static/emoji/270d-1f3fc.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270d-1f3fd.svg b/priv/static/emoji/270d-1f3fd.svg new file mode 100644 index 000000000..d47a6f868 --- /dev/null +++ b/priv/static/emoji/270d-1f3fd.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270d-1f3fe.svg b/priv/static/emoji/270d-1f3fe.svg new file mode 100644 index 000000000..dd8efc41e --- /dev/null +++ b/priv/static/emoji/270d-1f3fe.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270d-1f3ff.svg b/priv/static/emoji/270d-1f3ff.svg new file mode 100644 index 000000000..f92699de1 --- /dev/null +++ b/priv/static/emoji/270d-1f3ff.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270d.svg b/priv/static/emoji/270d.svg new file mode 100644 index 000000000..b452ab986 --- /dev/null +++ b/priv/static/emoji/270d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/270f.svg b/priv/static/emoji/270f.svg new file mode 100644 index 000000000..417e2d1f9 --- /dev/null +++ b/priv/static/emoji/270f.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2712.svg b/priv/static/emoji/2712.svg new file mode 100644 index 000000000..91b747d93 --- /dev/null +++ b/priv/static/emoji/2712.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2714.svg b/priv/static/emoji/2714.svg new file mode 100644 index 000000000..6208932b4 --- /dev/null +++ b/priv/static/emoji/2714.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2716.svg b/priv/static/emoji/2716.svg new file mode 100644 index 000000000..be81d594f --- /dev/null +++ b/priv/static/emoji/2716.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/271d.svg b/priv/static/emoji/271d.svg new file mode 100644 index 000000000..dd13a3b99 --- /dev/null +++ b/priv/static/emoji/271d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2721.svg b/priv/static/emoji/2721.svg new file mode 100644 index 000000000..6d83966e9 --- /dev/null +++ b/priv/static/emoji/2721.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2728.svg b/priv/static/emoji/2728.svg new file mode 100644 index 000000000..3e5591e04 --- /dev/null +++ b/priv/static/emoji/2728.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2733.svg b/priv/static/emoji/2733.svg new file mode 100644 index 000000000..2b133c2b5 --- /dev/null +++ b/priv/static/emoji/2733.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2734.svg b/priv/static/emoji/2734.svg new file mode 100644 index 000000000..9f1cefd96 --- /dev/null +++ b/priv/static/emoji/2734.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2744.svg b/priv/static/emoji/2744.svg new file mode 100644 index 000000000..26d6d72ad --- /dev/null +++ b/priv/static/emoji/2744.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2747.svg b/priv/static/emoji/2747.svg new file mode 100644 index 000000000..812425abc --- /dev/null +++ b/priv/static/emoji/2747.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/274c.svg b/priv/static/emoji/274c.svg new file mode 100644 index 000000000..5aa21e8fd --- /dev/null +++ b/priv/static/emoji/274c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/274e.svg b/priv/static/emoji/274e.svg new file mode 100644 index 000000000..c74d9f134 --- /dev/null +++ b/priv/static/emoji/274e.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2753.svg b/priv/static/emoji/2753.svg new file mode 100644 index 000000000..9d78e0a43 --- /dev/null +++ b/priv/static/emoji/2753.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2754.svg b/priv/static/emoji/2754.svg new file mode 100644 index 000000000..14f5a8430 --- /dev/null +++ b/priv/static/emoji/2754.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2755.svg b/priv/static/emoji/2755.svg new file mode 100644 index 000000000..9cb804adc --- /dev/null +++ b/priv/static/emoji/2755.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2757.svg b/priv/static/emoji/2757.svg new file mode 100644 index 000000000..963356add --- /dev/null +++ b/priv/static/emoji/2757.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2763.svg b/priv/static/emoji/2763.svg new file mode 100644 index 000000000..e22110bb0 --- /dev/null +++ b/priv/static/emoji/2763.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2764.svg b/priv/static/emoji/2764.svg new file mode 100644 index 000000000..6dc97e26c --- /dev/null +++ b/priv/static/emoji/2764.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2795.svg b/priv/static/emoji/2795.svg new file mode 100644 index 000000000..cc6c54268 --- /dev/null +++ b/priv/static/emoji/2795.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2796.svg b/priv/static/emoji/2796.svg new file mode 100644 index 000000000..fb069dfe1 --- /dev/null +++ b/priv/static/emoji/2796.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2797.svg b/priv/static/emoji/2797.svg new file mode 100644 index 000000000..0bf64b507 --- /dev/null +++ b/priv/static/emoji/2797.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/27a1.svg b/priv/static/emoji/27a1.svg new file mode 100644 index 000000000..6eca57454 --- /dev/null +++ b/priv/static/emoji/27a1.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/27b0.svg b/priv/static/emoji/27b0.svg new file mode 100644 index 000000000..f1c056454 --- /dev/null +++ b/priv/static/emoji/27b0.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/27bf.svg b/priv/static/emoji/27bf.svg new file mode 100644 index 000000000..351493bb8 --- /dev/null +++ b/priv/static/emoji/27bf.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2934.svg b/priv/static/emoji/2934.svg new file mode 100644 index 000000000..d40c27252 --- /dev/null +++ b/priv/static/emoji/2934.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2935.svg b/priv/static/emoji/2935.svg new file mode 100644 index 000000000..1db0a9cb2 --- /dev/null +++ b/priv/static/emoji/2935.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2a-20e3.svg b/priv/static/emoji/2a-20e3.svg new file mode 100644 index 000000000..e3ace7202 --- /dev/null +++ b/priv/static/emoji/2a-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2b05.svg b/priv/static/emoji/2b05.svg new file mode 100644 index 000000000..b56d8fd84 --- /dev/null +++ b/priv/static/emoji/2b05.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2b06.svg b/priv/static/emoji/2b06.svg new file mode 100644 index 000000000..f54dcb999 --- /dev/null +++ b/priv/static/emoji/2b06.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2b07.svg b/priv/static/emoji/2b07.svg new file mode 100644 index 000000000..623ea5074 --- /dev/null +++ b/priv/static/emoji/2b07.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2b1b.svg b/priv/static/emoji/2b1b.svg new file mode 100644 index 000000000..75820ed0e --- /dev/null +++ b/priv/static/emoji/2b1b.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2b1c.svg b/priv/static/emoji/2b1c.svg new file mode 100644 index 000000000..e9ce9710b --- /dev/null +++ b/priv/static/emoji/2b1c.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2b50.svg b/priv/static/emoji/2b50.svg new file mode 100644 index 000000000..d2bc202e9 --- /dev/null +++ b/priv/static/emoji/2b50.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/2b55.svg b/priv/static/emoji/2b55.svg new file mode 100644 index 000000000..056ad641a --- /dev/null +++ b/priv/static/emoji/2b55.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/30-20e3.svg b/priv/static/emoji/30-20e3.svg new file mode 100644 index 000000000..6b9454e66 --- /dev/null +++ b/priv/static/emoji/30-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/3030.svg b/priv/static/emoji/3030.svg new file mode 100644 index 000000000..85addce18 --- /dev/null +++ b/priv/static/emoji/3030.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/303d.svg b/priv/static/emoji/303d.svg new file mode 100644 index 000000000..8a8b08c0e --- /dev/null +++ b/priv/static/emoji/303d.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/31-20e3.svg b/priv/static/emoji/31-20e3.svg new file mode 100644 index 000000000..d56800d4a --- /dev/null +++ b/priv/static/emoji/31-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/32-20e3.svg b/priv/static/emoji/32-20e3.svg new file mode 100644 index 000000000..546488da1 --- /dev/null +++ b/priv/static/emoji/32-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/3297.svg b/priv/static/emoji/3297.svg new file mode 100644 index 000000000..b525207fb --- /dev/null +++ b/priv/static/emoji/3297.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/3299.svg b/priv/static/emoji/3299.svg new file mode 100644 index 000000000..ffe9e7757 --- /dev/null +++ b/priv/static/emoji/3299.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/33-20e3.svg b/priv/static/emoji/33-20e3.svg new file mode 100644 index 000000000..9d70003df --- /dev/null +++ b/priv/static/emoji/33-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/34-20e3.svg b/priv/static/emoji/34-20e3.svg new file mode 100644 index 000000000..5fdef5829 --- /dev/null +++ b/priv/static/emoji/34-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/35-20e3.svg b/priv/static/emoji/35-20e3.svg new file mode 100644 index 000000000..2afa988d6 --- /dev/null +++ b/priv/static/emoji/35-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/36-20e3.svg b/priv/static/emoji/36-20e3.svg new file mode 100644 index 000000000..153c581d6 --- /dev/null +++ b/priv/static/emoji/36-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/37-20e3.svg b/priv/static/emoji/37-20e3.svg new file mode 100644 index 000000000..abbb8d654 --- /dev/null +++ b/priv/static/emoji/37-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/38-20e3.svg b/priv/static/emoji/38-20e3.svg new file mode 100644 index 000000000..11e717650 --- /dev/null +++ b/priv/static/emoji/38-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/39-20e3.svg b/priv/static/emoji/39-20e3.svg new file mode 100644 index 000000000..c82bb1a1b --- /dev/null +++ b/priv/static/emoji/39-20e3.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/a9.svg b/priv/static/emoji/a9.svg new file mode 100644 index 000000000..a56a39695 --- /dev/null +++ b/priv/static/emoji/a9.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/ae.svg b/priv/static/emoji/ae.svg new file mode 100644 index 000000000..012e11635 --- /dev/null +++ b/priv/static/emoji/ae.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/e50a.svg b/priv/static/emoji/e50a.svg new file mode 100644 index 000000000..7c28b8f06 --- /dev/null +++ b/priv/static/emoji/e50a.svg @@ -0,0 +1 @@ +image/svg+xml diff --git a/priv/static/emoji/sheet.png b/priv/static/emoji/sheet.png new file mode 100644 index 000000000..e9a3f23f8 Binary files /dev/null and b/priv/static/emoji/sheet.png differ diff --git a/priv/static/index.html b/priv/static/index.html index ee1d42efb..ba514c0f4 100644 --- a/priv/static/index.html +++ b/priv/static/index.html @@ -1 +1 @@ -Pleroma
\ No newline at end of file +Pleroma
\ No newline at end of file diff --git a/priv/static/packs/Montserrat-Medium-5f797490f806b3b229299f0a66de89c9.ttf b/priv/static/packs/Montserrat-Medium-5f797490f806b3b229299f0a66de89c9.ttf new file mode 100644 index 000000000..88d70b89c Binary files /dev/null and b/priv/static/packs/Montserrat-Medium-5f797490f806b3b229299f0a66de89c9.ttf differ diff --git a/priv/static/packs/Montserrat-Regular-080422d4c1328f3407818d25c86cce51.woff2 b/priv/static/packs/Montserrat-Regular-080422d4c1328f3407818d25c86cce51.woff2 new file mode 100644 index 000000000..3d75434dd Binary files /dev/null and b/priv/static/packs/Montserrat-Regular-080422d4c1328f3407818d25c86cce51.woff2 differ diff --git a/priv/static/packs/Montserrat-Regular-6a18f75e59e23e7f23b8a4ef70d748cd.ttf b/priv/static/packs/Montserrat-Regular-6a18f75e59e23e7f23b8a4ef70d748cd.ttf new file mode 100644 index 000000000..29ca85d4a Binary files /dev/null and b/priv/static/packs/Montserrat-Regular-6a18f75e59e23e7f23b8a4ef70d748cd.ttf differ diff --git a/priv/static/packs/Montserrat-Regular-b0322f2faed575161a052b5af953251a.woff b/priv/static/packs/Montserrat-Regular-b0322f2faed575161a052b5af953251a.woff new file mode 100644 index 000000000..af3b5ec44 Binary files /dev/null and b/priv/static/packs/Montserrat-Regular-b0322f2faed575161a052b5af953251a.woff differ diff --git a/priv/static/packs/about-d6275c885cd0e28a1186.js b/priv/static/packs/about-d6275c885cd0e28a1186.js new file mode 100644 index 000000000..7c130c9d4 Binary files /dev/null and b/priv/static/packs/about-d6275c885cd0e28a1186.js differ diff --git a/priv/static/packs/admin-1bab981afc4fd0d71402.js b/priv/static/packs/admin-1bab981afc4fd0d71402.js new file mode 100644 index 000000000..5462569a4 Binary files /dev/null and b/priv/static/packs/admin-1bab981afc4fd0d71402.js differ diff --git a/priv/static/packs/appcache/manifest.appcache b/priv/static/packs/appcache/manifest.appcache new file mode 100644 index 000000000..4a4511e0b --- /dev/null +++ b/priv/static/packs/appcache/manifest.appcache @@ -0,0 +1,43 @@ +CACHE MANIFEST +#ver:11/12/2017, 12:40:57 PM +#plugin:4.8.4 + +CACHE: +/packs/features/compose-4617f6e912b5bfa71c43.js +/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js +/packs/features/public_timeline-d6e6bc704f49ebf922be.js +/packs/features/community_timeline-20bc8a94c08809c127d0.js +/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js +/packs/emoji_picker-9cf581d158c1cefc73c9.js +/packs/features/notifications-99d27ff7a90c7f701400.js +/packs/features/home_timeline-c146f32b0118845677ee.js +/packs/features/account_timeline-cad2550e777d3958eca4.js +/packs/features/pinned_statuses-fc56dd5916a37286e823.js +/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js +/packs/features/status-1f1807fdb4d1fd6daf40.js +/packs/features/following-9060b3726e6ad25f3621.js +/packs/features/followers-6716b8606f70dfa12ed7.js +/packs/features/account_gallery-b13924812f8dd47200c2.js +/packs/modals/report_modal-7a2950f40d4867b9cbb0.js +/packs/features/follow_requests-281e5b40331385149920.js +/packs/features/mutes-60c139f123f8d11ed903.js +/packs/features/blocks-e9605338ea941de78465.js +/packs/features/reblogs-e284a8647e830c151a40.js +/packs/features/favourites-083fedd11007764f7fad.js +/packs/features/getting_started-b65f1e917d66a972f2bf.js +/packs/features/generic_not_found-dc757b4cfe00489a06fb.js +/packs/modals/embed_modal-c776fd6a0ea581675783.js +/packs/status/media_gallery-7642f779bf4243e58b78.js +/packs/application-1b1f37dff2aac402336b.js +/packs/share-914b479bea45d0f6d4aa.js +/packs/about-d6275c885cd0e28a1186.js +/packs/public-88b87539fc95f07f2721.js +/packs/default-99ffdcf166b2dedef105.js +/packs/admin-1bab981afc4fd0d71402.js +/packs/common-1789b98651001ef10c0b.js +/packs/common-daadaac9454e7d14470e7954e3143dca.css +/packs/default-818c1287ac3c764905d81e549d5e0160.css +/packs/manifest.json + +NETWORK: +* \ No newline at end of file diff --git a/priv/static/packs/appcache/manifest.html b/priv/static/packs/appcache/manifest.html new file mode 100644 index 000000000..7e4d9c0be --- /dev/null +++ b/priv/static/packs/appcache/manifest.html @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/priv/static/packs/application.js b/priv/static/packs/application.js new file mode 100644 index 000000000..7029d5bd3 Binary files /dev/null and b/priv/static/packs/application.js differ diff --git a/priv/static/packs/base_polyfills-0e7cb02d7748745874eb.js b/priv/static/packs/base_polyfills-0e7cb02d7748745874eb.js new file mode 100644 index 000000000..c340e5c88 Binary files /dev/null and b/priv/static/packs/base_polyfills-0e7cb02d7748745874eb.js differ diff --git a/priv/static/packs/common.css b/priv/static/packs/common.css new file mode 100644 index 000000000..0bbaf4e15 Binary files /dev/null and b/priv/static/packs/common.css differ diff --git a/priv/static/packs/common.js b/priv/static/packs/common.js new file mode 100644 index 000000000..d0dee6ba0 Binary files /dev/null and b/priv/static/packs/common.js differ diff --git a/priv/static/packs/default-99ffdcf166b2dedef105.js b/priv/static/packs/default-99ffdcf166b2dedef105.js new file mode 100644 index 000000000..b4f28ece7 Binary files /dev/null and b/priv/static/packs/default-99ffdcf166b2dedef105.js differ diff --git a/priv/static/packs/default.css b/priv/static/packs/default.css new file mode 100644 index 000000000..091540c34 Binary files /dev/null and b/priv/static/packs/default.css differ diff --git a/priv/static/packs/elephant-fren-d16fd77f9a9387e7d146b5f9d4dc1e7f.png b/priv/static/packs/elephant-fren-d16fd77f9a9387e7d146b5f9d4dc1e7f.png new file mode 100644 index 000000000..3b64edf08 Binary files /dev/null and b/priv/static/packs/elephant-fren-d16fd77f9a9387e7d146b5f9d4dc1e7f.png differ diff --git a/priv/static/packs/elephant-friend-1-18bbe5bf56bcd2f550f26ae91be00dfb.png b/priv/static/packs/elephant-friend-1-18bbe5bf56bcd2f550f26ae91be00dfb.png new file mode 100644 index 000000000..2b2383330 Binary files /dev/null and b/priv/static/packs/elephant-friend-1-18bbe5bf56bcd2f550f26ae91be00dfb.png differ diff --git a/priv/static/packs/elephant-friend-df0b9c6af525e0dea9f1f9c044d9a903.png b/priv/static/packs/elephant-friend-df0b9c6af525e0dea9f1f9c044d9a903.png new file mode 100644 index 000000000..3c5145ba9 Binary files /dev/null and b/priv/static/packs/elephant-friend-df0b9c6af525e0dea9f1f9c044d9a903.png differ diff --git a/priv/static/packs/emoji_picker-9cf581d158c1cefc73c9.js b/priv/static/packs/emoji_picker-9cf581d158c1cefc73c9.js new file mode 100644 index 000000000..622d8274f Binary files /dev/null and b/priv/static/packs/emoji_picker-9cf581d158c1cefc73c9.js differ diff --git a/priv/static/packs/extra_polyfills-1caed55b56bce0471b41.js b/priv/static/packs/extra_polyfills-1caed55b56bce0471b41.js new file mode 100644 index 000000000..5cd339402 Binary files /dev/null and b/priv/static/packs/extra_polyfills-1caed55b56bce0471b41.js differ diff --git a/priv/static/packs/features/account_gallery-b13924812f8dd47200c2.js b/priv/static/packs/features/account_gallery-b13924812f8dd47200c2.js new file mode 100644 index 000000000..23fe42e70 Binary files /dev/null and b/priv/static/packs/features/account_gallery-b13924812f8dd47200c2.js differ diff --git a/priv/static/packs/features/account_gallery-b13924812f8dd47200c2.js.gz b/priv/static/packs/features/account_gallery-b13924812f8dd47200c2.js.gz new file mode 100644 index 000000000..27f6a0c1a Binary files /dev/null and b/priv/static/packs/features/account_gallery-b13924812f8dd47200c2.js.gz differ diff --git a/priv/static/packs/features/account_gallery-b13924812f8dd47200c2.js.map b/priv/static/packs/features/account_gallery-b13924812f8dd47200c2.js.map new file mode 100644 index 000000000..d0eeb6a7b Binary files /dev/null and b/priv/static/packs/features/account_gallery-b13924812f8dd47200c2.js.map differ diff --git a/priv/static/packs/features/account_timeline-cad2550e777d3958eca4.js b/priv/static/packs/features/account_timeline-cad2550e777d3958eca4.js new file mode 100644 index 000000000..0716246a7 Binary files /dev/null and b/priv/static/packs/features/account_timeline-cad2550e777d3958eca4.js differ diff --git a/priv/static/packs/features/account_timeline-cad2550e777d3958eca4.js.gz b/priv/static/packs/features/account_timeline-cad2550e777d3958eca4.js.gz new file mode 100644 index 000000000..e0dbc9de2 Binary files /dev/null and b/priv/static/packs/features/account_timeline-cad2550e777d3958eca4.js.gz differ diff --git a/priv/static/packs/features/account_timeline-cad2550e777d3958eca4.js.map b/priv/static/packs/features/account_timeline-cad2550e777d3958eca4.js.map new file mode 100644 index 000000000..b405d9a00 Binary files /dev/null and b/priv/static/packs/features/account_timeline-cad2550e777d3958eca4.js.map differ diff --git a/priv/static/packs/features/blocks-e9605338ea941de78465.js b/priv/static/packs/features/blocks-e9605338ea941de78465.js new file mode 100644 index 000000000..3831a9879 Binary files /dev/null and b/priv/static/packs/features/blocks-e9605338ea941de78465.js differ diff --git a/priv/static/packs/features/blocks-e9605338ea941de78465.js.gz b/priv/static/packs/features/blocks-e9605338ea941de78465.js.gz new file mode 100644 index 000000000..c56c8104c Binary files /dev/null and b/priv/static/packs/features/blocks-e9605338ea941de78465.js.gz differ diff --git a/priv/static/packs/features/blocks-e9605338ea941de78465.js.map b/priv/static/packs/features/blocks-e9605338ea941de78465.js.map new file mode 100644 index 000000000..408e13c3b Binary files /dev/null and b/priv/static/packs/features/blocks-e9605338ea941de78465.js.map differ diff --git a/priv/static/packs/features/community_timeline-20bc8a94c08809c127d0.js b/priv/static/packs/features/community_timeline-20bc8a94c08809c127d0.js new file mode 100644 index 000000000..b7551dc15 Binary files /dev/null and b/priv/static/packs/features/community_timeline-20bc8a94c08809c127d0.js differ diff --git a/priv/static/packs/features/community_timeline-20bc8a94c08809c127d0.js.gz b/priv/static/packs/features/community_timeline-20bc8a94c08809c127d0.js.gz new file mode 100644 index 000000000..4fa609ccf Binary files /dev/null and b/priv/static/packs/features/community_timeline-20bc8a94c08809c127d0.js.gz differ diff --git a/priv/static/packs/features/community_timeline-20bc8a94c08809c127d0.js.map b/priv/static/packs/features/community_timeline-20bc8a94c08809c127d0.js.map new file mode 100644 index 000000000..c0000320b Binary files /dev/null and b/priv/static/packs/features/community_timeline-20bc8a94c08809c127d0.js.map differ diff --git a/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js b/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js new file mode 100644 index 000000000..f10bd9987 Binary files /dev/null and b/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js differ diff --git a/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js.gz b/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js.gz new file mode 100644 index 000000000..28aa952ee Binary files /dev/null and b/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js.gz differ diff --git a/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js.map b/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js.map new file mode 100644 index 000000000..183e98484 Binary files /dev/null and b/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js.map differ diff --git a/priv/static/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js b/priv/static/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js new file mode 100644 index 000000000..3cbd812a1 Binary files /dev/null and b/priv/static/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js differ diff --git a/priv/static/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js.gz b/priv/static/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js.gz new file mode 100644 index 000000000..e6cbe00c8 Binary files /dev/null and b/priv/static/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js.gz differ diff --git a/priv/static/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js.map b/priv/static/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js.map new file mode 100644 index 000000000..40f88523d Binary files /dev/null and b/priv/static/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js.map differ diff --git a/priv/static/packs/features/favourites-083fedd11007764f7fad.js b/priv/static/packs/features/favourites-083fedd11007764f7fad.js new file mode 100644 index 000000000..60f515cb1 Binary files /dev/null and b/priv/static/packs/features/favourites-083fedd11007764f7fad.js differ diff --git a/priv/static/packs/features/favourites-083fedd11007764f7fad.js.gz b/priv/static/packs/features/favourites-083fedd11007764f7fad.js.gz new file mode 100644 index 000000000..f22372236 Binary files /dev/null and b/priv/static/packs/features/favourites-083fedd11007764f7fad.js.gz differ diff --git a/priv/static/packs/features/favourites-083fedd11007764f7fad.js.map b/priv/static/packs/features/favourites-083fedd11007764f7fad.js.map new file mode 100644 index 000000000..db6b66dfa Binary files /dev/null and b/priv/static/packs/features/favourites-083fedd11007764f7fad.js.map differ diff --git a/priv/static/packs/features/follow_requests-281e5b40331385149920.js b/priv/static/packs/features/follow_requests-281e5b40331385149920.js new file mode 100644 index 000000000..ffb0e0169 Binary files /dev/null and b/priv/static/packs/features/follow_requests-281e5b40331385149920.js differ diff --git a/priv/static/packs/features/follow_requests-281e5b40331385149920.js.gz b/priv/static/packs/features/follow_requests-281e5b40331385149920.js.gz new file mode 100644 index 000000000..022b357b6 Binary files /dev/null and b/priv/static/packs/features/follow_requests-281e5b40331385149920.js.gz differ diff --git a/priv/static/packs/features/follow_requests-281e5b40331385149920.js.map b/priv/static/packs/features/follow_requests-281e5b40331385149920.js.map new file mode 100644 index 000000000..985662fdb Binary files /dev/null and b/priv/static/packs/features/follow_requests-281e5b40331385149920.js.map differ diff --git a/priv/static/packs/features/followers-6716b8606f70dfa12ed7.js b/priv/static/packs/features/followers-6716b8606f70dfa12ed7.js new file mode 100644 index 000000000..171d411ba Binary files /dev/null and b/priv/static/packs/features/followers-6716b8606f70dfa12ed7.js differ diff --git a/priv/static/packs/features/followers-6716b8606f70dfa12ed7.js.gz b/priv/static/packs/features/followers-6716b8606f70dfa12ed7.js.gz new file mode 100644 index 000000000..1b8655710 Binary files /dev/null and b/priv/static/packs/features/followers-6716b8606f70dfa12ed7.js.gz differ diff --git a/priv/static/packs/features/followers-6716b8606f70dfa12ed7.js.map b/priv/static/packs/features/followers-6716b8606f70dfa12ed7.js.map new file mode 100644 index 000000000..9d478bb6a Binary files /dev/null and b/priv/static/packs/features/followers-6716b8606f70dfa12ed7.js.map differ diff --git a/priv/static/packs/features/following-9060b3726e6ad25f3621.js b/priv/static/packs/features/following-9060b3726e6ad25f3621.js new file mode 100644 index 000000000..8cba707a2 Binary files /dev/null and b/priv/static/packs/features/following-9060b3726e6ad25f3621.js differ diff --git a/priv/static/packs/features/following-9060b3726e6ad25f3621.js.gz b/priv/static/packs/features/following-9060b3726e6ad25f3621.js.gz new file mode 100644 index 000000000..7e0973265 Binary files /dev/null and b/priv/static/packs/features/following-9060b3726e6ad25f3621.js.gz differ diff --git a/priv/static/packs/features/following-9060b3726e6ad25f3621.js.map b/priv/static/packs/features/following-9060b3726e6ad25f3621.js.map new file mode 100644 index 000000000..b56313343 Binary files /dev/null and b/priv/static/packs/features/following-9060b3726e6ad25f3621.js.map differ diff --git a/priv/static/packs/features/generic_not_found-dc757b4cfe00489a06fb.js b/priv/static/packs/features/generic_not_found-dc757b4cfe00489a06fb.js new file mode 100644 index 000000000..1565a198a Binary files /dev/null and b/priv/static/packs/features/generic_not_found-dc757b4cfe00489a06fb.js differ diff --git a/priv/static/packs/features/generic_not_found-dc757b4cfe00489a06fb.js.gz b/priv/static/packs/features/generic_not_found-dc757b4cfe00489a06fb.js.gz new file mode 100644 index 000000000..1ca53a439 Binary files /dev/null and b/priv/static/packs/features/generic_not_found-dc757b4cfe00489a06fb.js.gz differ diff --git a/priv/static/packs/features/generic_not_found-dc757b4cfe00489a06fb.js.map b/priv/static/packs/features/generic_not_found-dc757b4cfe00489a06fb.js.map new file mode 100644 index 000000000..10509c87e Binary files /dev/null and b/priv/static/packs/features/generic_not_found-dc757b4cfe00489a06fb.js.map differ diff --git a/priv/static/packs/features/getting_started-b65f1e917d66a972f2bf.js b/priv/static/packs/features/getting_started-b65f1e917d66a972f2bf.js new file mode 100644 index 000000000..e4a8b4434 Binary files /dev/null and b/priv/static/packs/features/getting_started-b65f1e917d66a972f2bf.js differ diff --git a/priv/static/packs/features/getting_started-b65f1e917d66a972f2bf.js.gz b/priv/static/packs/features/getting_started-b65f1e917d66a972f2bf.js.gz new file mode 100644 index 000000000..9455384ca Binary files /dev/null and b/priv/static/packs/features/getting_started-b65f1e917d66a972f2bf.js.gz differ diff --git a/priv/static/packs/features/getting_started-b65f1e917d66a972f2bf.js.map b/priv/static/packs/features/getting_started-b65f1e917d66a972f2bf.js.map new file mode 100644 index 000000000..66c5b244a Binary files /dev/null and b/priv/static/packs/features/getting_started-b65f1e917d66a972f2bf.js.map differ diff --git a/priv/static/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js b/priv/static/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js new file mode 100644 index 000000000..222133ea5 Binary files /dev/null and b/priv/static/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js differ diff --git a/priv/static/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.gz b/priv/static/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.gz new file mode 100644 index 000000000..c2d431200 Binary files /dev/null and b/priv/static/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.gz differ diff --git a/priv/static/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.map b/priv/static/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.map new file mode 100644 index 000000000..0db0ab275 Binary files /dev/null and b/priv/static/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.map differ diff --git a/priv/static/packs/features/home_timeline-c146f32b0118845677ee.js b/priv/static/packs/features/home_timeline-c146f32b0118845677ee.js new file mode 100644 index 000000000..f3eda64da Binary files /dev/null and b/priv/static/packs/features/home_timeline-c146f32b0118845677ee.js differ diff --git a/priv/static/packs/features/home_timeline-c146f32b0118845677ee.js.gz b/priv/static/packs/features/home_timeline-c146f32b0118845677ee.js.gz new file mode 100644 index 000000000..6d03a6a10 Binary files /dev/null and b/priv/static/packs/features/home_timeline-c146f32b0118845677ee.js.gz differ diff --git a/priv/static/packs/features/home_timeline-c146f32b0118845677ee.js.map b/priv/static/packs/features/home_timeline-c146f32b0118845677ee.js.map new file mode 100644 index 000000000..6f2b269ce Binary files /dev/null and b/priv/static/packs/features/home_timeline-c146f32b0118845677ee.js.map differ diff --git a/priv/static/packs/features/mutes-60c139f123f8d11ed903.js b/priv/static/packs/features/mutes-60c139f123f8d11ed903.js new file mode 100644 index 000000000..f97efe837 Binary files /dev/null and b/priv/static/packs/features/mutes-60c139f123f8d11ed903.js differ diff --git a/priv/static/packs/features/mutes-60c139f123f8d11ed903.js.gz b/priv/static/packs/features/mutes-60c139f123f8d11ed903.js.gz new file mode 100644 index 000000000..28257d499 Binary files /dev/null and b/priv/static/packs/features/mutes-60c139f123f8d11ed903.js.gz differ diff --git a/priv/static/packs/features/mutes-60c139f123f8d11ed903.js.map b/priv/static/packs/features/mutes-60c139f123f8d11ed903.js.map new file mode 100644 index 000000000..923fd416e Binary files /dev/null and b/priv/static/packs/features/mutes-60c139f123f8d11ed903.js.map differ diff --git a/priv/static/packs/features/notifications-99d27ff7a90c7f701400.js b/priv/static/packs/features/notifications-99d27ff7a90c7f701400.js new file mode 100644 index 000000000..a1f0d2c75 Binary files /dev/null and b/priv/static/packs/features/notifications-99d27ff7a90c7f701400.js differ diff --git a/priv/static/packs/features/notifications-99d27ff7a90c7f701400.js.gz b/priv/static/packs/features/notifications-99d27ff7a90c7f701400.js.gz new file mode 100644 index 000000000..b925eee4f Binary files /dev/null and b/priv/static/packs/features/notifications-99d27ff7a90c7f701400.js.gz differ diff --git a/priv/static/packs/features/notifications-99d27ff7a90c7f701400.js.map b/priv/static/packs/features/notifications-99d27ff7a90c7f701400.js.map new file mode 100644 index 000000000..a16430195 Binary files /dev/null and b/priv/static/packs/features/notifications-99d27ff7a90c7f701400.js.map differ diff --git a/priv/static/packs/features/pinned_statuses-fc56dd5916a37286e823.js b/priv/static/packs/features/pinned_statuses-fc56dd5916a37286e823.js new file mode 100644 index 000000000..2fdffb96b Binary files /dev/null and b/priv/static/packs/features/pinned_statuses-fc56dd5916a37286e823.js differ diff --git a/priv/static/packs/features/pinned_statuses-fc56dd5916a37286e823.js.gz b/priv/static/packs/features/pinned_statuses-fc56dd5916a37286e823.js.gz new file mode 100644 index 000000000..212b217fb Binary files /dev/null and b/priv/static/packs/features/pinned_statuses-fc56dd5916a37286e823.js.gz differ diff --git a/priv/static/packs/features/pinned_statuses-fc56dd5916a37286e823.js.map b/priv/static/packs/features/pinned_statuses-fc56dd5916a37286e823.js.map new file mode 100644 index 000000000..6f6c91d90 Binary files /dev/null and b/priv/static/packs/features/pinned_statuses-fc56dd5916a37286e823.js.map differ diff --git a/priv/static/packs/features/public_timeline-d6e6bc704f49ebf922be.js b/priv/static/packs/features/public_timeline-d6e6bc704f49ebf922be.js new file mode 100644 index 000000000..1a14f2a6e Binary files /dev/null and b/priv/static/packs/features/public_timeline-d6e6bc704f49ebf922be.js differ diff --git a/priv/static/packs/features/public_timeline-d6e6bc704f49ebf922be.js.gz b/priv/static/packs/features/public_timeline-d6e6bc704f49ebf922be.js.gz new file mode 100644 index 000000000..5840d8ce8 Binary files /dev/null and b/priv/static/packs/features/public_timeline-d6e6bc704f49ebf922be.js.gz differ diff --git a/priv/static/packs/features/public_timeline-d6e6bc704f49ebf922be.js.map b/priv/static/packs/features/public_timeline-d6e6bc704f49ebf922be.js.map new file mode 100644 index 000000000..c084227e1 Binary files /dev/null and b/priv/static/packs/features/public_timeline-d6e6bc704f49ebf922be.js.map differ diff --git a/priv/static/packs/features/reblogs-e284a8647e830c151a40.js b/priv/static/packs/features/reblogs-e284a8647e830c151a40.js new file mode 100644 index 000000000..40cf015c2 Binary files /dev/null and b/priv/static/packs/features/reblogs-e284a8647e830c151a40.js differ diff --git a/priv/static/packs/features/reblogs-e284a8647e830c151a40.js.gz b/priv/static/packs/features/reblogs-e284a8647e830c151a40.js.gz new file mode 100644 index 000000000..e4fe8ffa2 Binary files /dev/null and b/priv/static/packs/features/reblogs-e284a8647e830c151a40.js.gz differ diff --git a/priv/static/packs/features/reblogs-e284a8647e830c151a40.js.map b/priv/static/packs/features/reblogs-e284a8647e830c151a40.js.map new file mode 100644 index 000000000..3663baf3b Binary files /dev/null and b/priv/static/packs/features/reblogs-e284a8647e830c151a40.js.map differ diff --git a/priv/static/packs/features/status-1f1807fdb4d1fd6daf40.js b/priv/static/packs/features/status-1f1807fdb4d1fd6daf40.js new file mode 100644 index 000000000..c0ff990c4 Binary files /dev/null and b/priv/static/packs/features/status-1f1807fdb4d1fd6daf40.js differ diff --git a/priv/static/packs/features/status-1f1807fdb4d1fd6daf40.js.gz b/priv/static/packs/features/status-1f1807fdb4d1fd6daf40.js.gz new file mode 100644 index 000000000..f7ccd84bb Binary files /dev/null and b/priv/static/packs/features/status-1f1807fdb4d1fd6daf40.js.gz differ diff --git a/priv/static/packs/features/status-1f1807fdb4d1fd6daf40.js.map b/priv/static/packs/features/status-1f1807fdb4d1fd6daf40.js.map new file mode 100644 index 000000000..f90c5174e Binary files /dev/null and b/priv/static/packs/features/status-1f1807fdb4d1fd6daf40.js.map differ diff --git a/priv/static/packs/fontawesome-webfont-674f50d287a8c48dc19ba404d20fe713.eot b/priv/static/packs/fontawesome-webfont-674f50d287a8c48dc19ba404d20fe713.eot new file mode 100644 index 000000000..e9f60ca95 Binary files /dev/null and b/priv/static/packs/fontawesome-webfont-674f50d287a8c48dc19ba404d20fe713.eot differ diff --git a/priv/static/packs/fontawesome-webfont-912ec66d7572ff821749319396470bde.svg b/priv/static/packs/fontawesome-webfont-912ec66d7572ff821749319396470bde.svg new file mode 100644 index 000000000..855c845e5 --- /dev/null +++ b/priv/static/packs/fontawesome-webfont-912ec66d7572ff821749319396470bde.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/priv/static/packs/fontawesome-webfont-af7ae505a9eed503f8b8e6982036873e.woff2 b/priv/static/packs/fontawesome-webfont-af7ae505a9eed503f8b8e6982036873e.woff2 new file mode 100644 index 000000000..4d13fc604 Binary files /dev/null and b/priv/static/packs/fontawesome-webfont-af7ae505a9eed503f8b8e6982036873e.woff2 differ diff --git a/priv/static/packs/fontawesome-webfont-b06871f281fee6b241d60582ae9369b9.ttf b/priv/static/packs/fontawesome-webfont-b06871f281fee6b241d60582ae9369b9.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/priv/static/packs/fontawesome-webfont-b06871f281fee6b241d60582ae9369b9.ttf differ diff --git a/priv/static/packs/fontawesome-webfont-fee66e712a8a08eef5805a46892932ad.woff b/priv/static/packs/fontawesome-webfont-fee66e712a8a08eef5805a46892932ad.woff new file mode 100644 index 000000000..400014a4b Binary files /dev/null and b/priv/static/packs/fontawesome-webfont-fee66e712a8a08eef5805a46892932ad.woff differ diff --git a/priv/static/packs/locale_ar-7d02662cc0cfffd6f6f9.js b/priv/static/packs/locale_ar-7d02662cc0cfffd6f6f9.js new file mode 100644 index 000000000..7da0394a0 Binary files /dev/null and b/priv/static/packs/locale_ar-7d02662cc0cfffd6f6f9.js differ diff --git a/priv/static/packs/locale_bg-c13dba4d26f870d592b2.js b/priv/static/packs/locale_bg-c13dba4d26f870d592b2.js new file mode 100644 index 000000000..ca4a0ece1 Binary files /dev/null and b/priv/static/packs/locale_bg-c13dba4d26f870d592b2.js differ diff --git a/priv/static/packs/locale_ca-04107d1a98af2b039204.js b/priv/static/packs/locale_ca-04107d1a98af2b039204.js new file mode 100644 index 000000000..ba82bdeb6 Binary files /dev/null and b/priv/static/packs/locale_ca-04107d1a98af2b039204.js differ diff --git a/priv/static/packs/locale_de-bf72ca55e704d5a96788.js b/priv/static/packs/locale_de-bf72ca55e704d5a96788.js new file mode 100644 index 000000000..05575b6cc Binary files /dev/null and b/priv/static/packs/locale_de-bf72ca55e704d5a96788.js differ diff --git a/priv/static/packs/locale_en.js b/priv/static/packs/locale_en.js new file mode 100644 index 000000000..ae24fd18b Binary files /dev/null and b/priv/static/packs/locale_en.js differ diff --git a/priv/static/packs/locale_eo-907e661a2a8c6d12f600.js b/priv/static/packs/locale_eo-907e661a2a8c6d12f600.js new file mode 100644 index 000000000..dd74ce056 Binary files /dev/null and b/priv/static/packs/locale_eo-907e661a2a8c6d12f600.js differ diff --git a/priv/static/packs/locale_es-26cf29fe0ea58c648317.js b/priv/static/packs/locale_es-26cf29fe0ea58c648317.js new file mode 100644 index 000000000..d20c82b0c Binary files /dev/null and b/priv/static/packs/locale_es-26cf29fe0ea58c648317.js differ diff --git a/priv/static/packs/locale_fa-36da2b4b7fce9ee445d4.js b/priv/static/packs/locale_fa-36da2b4b7fce9ee445d4.js new file mode 100644 index 000000000..cebdab66f Binary files /dev/null and b/priv/static/packs/locale_fa-36da2b4b7fce9ee445d4.js differ diff --git a/priv/static/packs/locale_fi-a0bb536510dfb7fe46e7.js b/priv/static/packs/locale_fi-a0bb536510dfb7fe46e7.js new file mode 100644 index 000000000..cc3c1947b Binary files /dev/null and b/priv/static/packs/locale_fi-a0bb536510dfb7fe46e7.js differ diff --git a/priv/static/packs/locale_fr-abab8a49160466298d03.js b/priv/static/packs/locale_fr-abab8a49160466298d03.js new file mode 100644 index 000000000..2913c97fe Binary files /dev/null and b/priv/static/packs/locale_fr-abab8a49160466298d03.js differ diff --git a/priv/static/packs/locale_he-005e46857d05c85ee2eb.js b/priv/static/packs/locale_he-005e46857d05c85ee2eb.js new file mode 100644 index 000000000..292268c6e Binary files /dev/null and b/priv/static/packs/locale_he-005e46857d05c85ee2eb.js differ diff --git a/priv/static/packs/locale_hr-e2d2f61a68ccc0db5448.js b/priv/static/packs/locale_hr-e2d2f61a68ccc0db5448.js new file mode 100644 index 000000000..b34605359 Binary files /dev/null and b/priv/static/packs/locale_hr-e2d2f61a68ccc0db5448.js differ diff --git a/priv/static/packs/locale_hu-2bb0c40f1c7f66e27e2d.js b/priv/static/packs/locale_hu-2bb0c40f1c7f66e27e2d.js new file mode 100644 index 000000000..bcaabae40 Binary files /dev/null and b/priv/static/packs/locale_hu-2bb0c40f1c7f66e27e2d.js differ diff --git a/priv/static/packs/locale_id-fab008a8becc89597587.js b/priv/static/packs/locale_id-fab008a8becc89597587.js new file mode 100644 index 000000000..1ce4f224b Binary files /dev/null and b/priv/static/packs/locale_id-fab008a8becc89597587.js differ diff --git a/priv/static/packs/locale_io-aa797a5ae99e86edda1b.js b/priv/static/packs/locale_io-aa797a5ae99e86edda1b.js new file mode 100644 index 000000000..7004b349d Binary files /dev/null and b/priv/static/packs/locale_io-aa797a5ae99e86edda1b.js differ diff --git a/priv/static/packs/locale_it-e0da50e91bbf1d0ca7cd.js b/priv/static/packs/locale_it-e0da50e91bbf1d0ca7cd.js new file mode 100644 index 000000000..2d1ccaa20 Binary files /dev/null and b/priv/static/packs/locale_it-e0da50e91bbf1d0ca7cd.js differ diff --git a/priv/static/packs/locale_ja-d62b9a98f6d06252f969.js b/priv/static/packs/locale_ja-d62b9a98f6d06252f969.js new file mode 100644 index 000000000..c2409a13b Binary files /dev/null and b/priv/static/packs/locale_ja-d62b9a98f6d06252f969.js differ diff --git a/priv/static/packs/locale_ko-6095b6a5356744e8c0fa.js b/priv/static/packs/locale_ko-6095b6a5356744e8c0fa.js new file mode 100644 index 000000000..8737d5fce Binary files /dev/null and b/priv/static/packs/locale_ko-6095b6a5356744e8c0fa.js differ diff --git a/priv/static/packs/locale_nl-eb63a7c19f056d7aad37.js b/priv/static/packs/locale_nl-eb63a7c19f056d7aad37.js new file mode 100644 index 000000000..28d3b20b2 Binary files /dev/null and b/priv/static/packs/locale_nl-eb63a7c19f056d7aad37.js differ diff --git a/priv/static/packs/locale_no-a905e439e333e8a75417.js b/priv/static/packs/locale_no-a905e439e333e8a75417.js new file mode 100644 index 000000000..5ee19cb2d Binary files /dev/null and b/priv/static/packs/locale_no-a905e439e333e8a75417.js differ diff --git a/priv/static/packs/locale_oc-5db5b324864d5986ca40.js b/priv/static/packs/locale_oc-5db5b324864d5986ca40.js new file mode 100644 index 000000000..3fe2139e3 Binary files /dev/null and b/priv/static/packs/locale_oc-5db5b324864d5986ca40.js differ diff --git a/priv/static/packs/locale_pl-a29786d2e8e517933a46.js b/priv/static/packs/locale_pl-a29786d2e8e517933a46.js new file mode 100644 index 000000000..b39b970fb Binary files /dev/null and b/priv/static/packs/locale_pl-a29786d2e8e517933a46.js differ diff --git a/priv/static/packs/locale_pt-BR-d2e312d147c156be6d25.js b/priv/static/packs/locale_pt-BR-d2e312d147c156be6d25.js new file mode 100644 index 000000000..44fd33e77 Binary files /dev/null and b/priv/static/packs/locale_pt-BR-d2e312d147c156be6d25.js differ diff --git a/priv/static/packs/locale_pt-ab5ecfe44d3e665b5bb7.js b/priv/static/packs/locale_pt-ab5ecfe44d3e665b5bb7.js new file mode 100644 index 000000000..0506eb6c1 Binary files /dev/null and b/priv/static/packs/locale_pt-ab5ecfe44d3e665b5bb7.js differ diff --git a/priv/static/packs/locale_ru-6976b8c1b98d9a59e933.js b/priv/static/packs/locale_ru-6976b8c1b98d9a59e933.js new file mode 100644 index 000000000..cf9969d68 Binary files /dev/null and b/priv/static/packs/locale_ru-6976b8c1b98d9a59e933.js differ diff --git a/priv/static/packs/locale_sv-a171cdf4deaf1e12bb0d.js b/priv/static/packs/locale_sv-a171cdf4deaf1e12bb0d.js new file mode 100644 index 000000000..4e04faf7b Binary files /dev/null and b/priv/static/packs/locale_sv-a171cdf4deaf1e12bb0d.js differ diff --git a/priv/static/packs/locale_th-9c80f19a54e11880465c.js b/priv/static/packs/locale_th-9c80f19a54e11880465c.js new file mode 100644 index 000000000..53d7583bb Binary files /dev/null and b/priv/static/packs/locale_th-9c80f19a54e11880465c.js differ diff --git a/priv/static/packs/locale_tr-71d85a06079f5471426f.js b/priv/static/packs/locale_tr-71d85a06079f5471426f.js new file mode 100644 index 000000000..f54c2a3d6 Binary files /dev/null and b/priv/static/packs/locale_tr-71d85a06079f5471426f.js differ diff --git a/priv/static/packs/locale_uk-1dc16dc9b7d7c6e9c566.js b/priv/static/packs/locale_uk-1dc16dc9b7d7c6e9c566.js new file mode 100644 index 000000000..c5d3e6c72 Binary files /dev/null and b/priv/static/packs/locale_uk-1dc16dc9b7d7c6e9c566.js differ diff --git a/priv/static/packs/locale_zh-CN-601e45ab96a4205d0315.js b/priv/static/packs/locale_zh-CN-601e45ab96a4205d0315.js new file mode 100644 index 000000000..ce28eb5cf Binary files /dev/null and b/priv/static/packs/locale_zh-CN-601e45ab96a4205d0315.js differ diff --git a/priv/static/packs/locale_zh-HK-b59fc4967cc8ed927fe9.js b/priv/static/packs/locale_zh-HK-b59fc4967cc8ed927fe9.js new file mode 100644 index 000000000..2bdf677d8 Binary files /dev/null and b/priv/static/packs/locale_zh-HK-b59fc4967cc8ed927fe9.js differ diff --git a/priv/static/packs/locale_zh-TW-2ce95af6015c1c812a17.js b/priv/static/packs/locale_zh-TW-2ce95af6015c1c812a17.js new file mode 100644 index 000000000..3b7461b1c Binary files /dev/null and b/priv/static/packs/locale_zh-TW-2ce95af6015c1c812a17.js differ diff --git a/priv/static/packs/logo-fe5141d38a25f50068b4c69b77ca1ec8.svg b/priv/static/packs/logo-fe5141d38a25f50068b4c69b77ca1ec8.svg new file mode 100644 index 000000000..034a9c221 --- /dev/null +++ b/priv/static/packs/logo-fe5141d38a25f50068b4c69b77ca1ec8.svg @@ -0,0 +1 @@ + diff --git a/priv/static/packs/logo_alt-6090911445f54a587465e41da77a6969.svg b/priv/static/packs/logo_alt-6090911445f54a587465e41da77a6969.svg new file mode 100644 index 000000000..102d4c787 --- /dev/null +++ b/priv/static/packs/logo_alt-6090911445f54a587465e41da77a6969.svg @@ -0,0 +1 @@ + diff --git a/priv/static/packs/logo_full-96e7a97fe469f75a23a74852b2478fa3.svg b/priv/static/packs/logo_full-96e7a97fe469f75a23a74852b2478fa3.svg new file mode 100644 index 000000000..c33883342 --- /dev/null +++ b/priv/static/packs/logo_full-96e7a97fe469f75a23a74852b2478fa3.svg @@ -0,0 +1 @@ + diff --git a/priv/static/packs/manifest.json b/priv/static/packs/manifest.json new file mode 100644 index 000000000..854a480a6 --- /dev/null +++ b/priv/static/packs/manifest.json @@ -0,0 +1,177 @@ +{ + "Montserrat-Medium.ttf": "/packs/Montserrat-Medium-5f797490f806b3b229299f0a66de89c9.ttf", + "Montserrat-Regular.ttf": "/packs/Montserrat-Regular-6a18f75e59e23e7f23b8a4ef70d748cd.ttf", + "Montserrat-Regular.woff": "/packs/Montserrat-Regular-b0322f2faed575161a052b5af953251a.woff", + "Montserrat-Regular.woff2": "/packs/Montserrat-Regular-080422d4c1328f3407818d25c86cce51.woff2", + "about.js": "/packs/about-d6275c885cd0e28a1186.js", + "about.js.map": "/packs/about-d6275c885cd0e28a1186.js.map", + "admin.js": "/packs/admin-1bab981afc4fd0d71402.js", + "admin.js.map": "/packs/admin-1bab981afc4fd0d71402.js.map", + "application.js": "/packs/application-1b1f37dff2aac402336b.js", + "application.js.map": "/packs/application-1b1f37dff2aac402336b.js.map", + "base_polyfills.js": "/packs/base_polyfills-0e7cb02d7748745874eb.js", + "base_polyfills.js.map": "/packs/base_polyfills-0e7cb02d7748745874eb.js.map", + "common.css": "/packs/common-daadaac9454e7d14470e7954e3143dca.css", + "common.css.map": "/packs/common-daadaac9454e7d14470e7954e3143dca.css.map", + "common.js": "/packs/common-1789b98651001ef10c0b.js", + "common.js.map": "/packs/common-1789b98651001ef10c0b.js.map", + "default.css": "/packs/default-818c1287ac3c764905d81e549d5e0160.css", + "default.css.map": "/packs/default-818c1287ac3c764905d81e549d5e0160.css.map", + "default.js": "/packs/default-99ffdcf166b2dedef105.js", + "default.js.map": "/packs/default-99ffdcf166b2dedef105.js.map", + "elephant-fren.png": "/packs/elephant-fren-d16fd77f9a9387e7d146b5f9d4dc1e7f.png", + "elephant-friend-1.png": "/packs/elephant-friend-1-18bbe5bf56bcd2f550f26ae91be00dfb.png", + "elephant-friend.png": "/packs/elephant-friend-df0b9c6af525e0dea9f1f9c044d9a903.png", + "emoji_picker.js": "/packs/emoji_picker-9cf581d158c1cefc73c9.js", + "emoji_picker.js.map": "/packs/emoji_picker-9cf581d158c1cefc73c9.js.map", + "extra_polyfills.js": "/packs/extra_polyfills-1caed55b56bce0471b41.js", + "extra_polyfills.js.map": "/packs/extra_polyfills-1caed55b56bce0471b41.js.map", + "features/account_gallery.js": "/packs/features/account_gallery-b13924812f8dd47200c2.js", + "features/account_gallery.js.map": "/packs/features/account_gallery-b13924812f8dd47200c2.js.map", + "features/account_timeline.js": "/packs/features/account_timeline-cad2550e777d3958eca4.js", + "features/account_timeline.js.map": "/packs/features/account_timeline-cad2550e777d3958eca4.js.map", + "features/blocks.js": "/packs/features/blocks-e9605338ea941de78465.js", + "features/blocks.js.map": "/packs/features/blocks-e9605338ea941de78465.js.map", + "features/community_timeline.js": "/packs/features/community_timeline-20bc8a94c08809c127d0.js", + "features/community_timeline.js.map": "/packs/features/community_timeline-20bc8a94c08809c127d0.js.map", + "features/compose.js": "/packs/features/compose-4617f6e912b5bfa71c43.js", + "features/compose.js.map": "/packs/features/compose-4617f6e912b5bfa71c43.js.map", + "features/favourited_statuses.js": "/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js", + "features/favourited_statuses.js.map": "/packs/features/favourited_statuses-b15a9a6cc711cca1eb76.js.map", + "features/favourites.js": "/packs/features/favourites-083fedd11007764f7fad.js", + "features/favourites.js.map": "/packs/features/favourites-083fedd11007764f7fad.js.map", + "features/follow_requests.js": "/packs/features/follow_requests-281e5b40331385149920.js", + "features/follow_requests.js.map": "/packs/features/follow_requests-281e5b40331385149920.js.map", + "features/followers.js": "/packs/features/followers-6716b8606f70dfa12ed7.js", + "features/followers.js.map": "/packs/features/followers-6716b8606f70dfa12ed7.js.map", + "features/following.js": "/packs/features/following-9060b3726e6ad25f3621.js", + "features/following.js.map": "/packs/features/following-9060b3726e6ad25f3621.js.map", + "features/generic_not_found.js": "/packs/features/generic_not_found-dc757b4cfe00489a06fb.js", + "features/generic_not_found.js.map": "/packs/features/generic_not_found-dc757b4cfe00489a06fb.js.map", + "features/getting_started.js": "/packs/features/getting_started-b65f1e917d66a972f2bf.js", + "features/getting_started.js.map": "/packs/features/getting_started-b65f1e917d66a972f2bf.js.map", + "features/hashtag_timeline.js": "/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js", + "features/hashtag_timeline.js.map": "/packs/features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.map", + "features/home_timeline.js": "/packs/features/home_timeline-c146f32b0118845677ee.js", + "features/home_timeline.js.map": "/packs/features/home_timeline-c146f32b0118845677ee.js.map", + "features/mutes.js": "/packs/features/mutes-60c139f123f8d11ed903.js", + "features/mutes.js.map": "/packs/features/mutes-60c139f123f8d11ed903.js.map", + "features/notifications.js": "/packs/features/notifications-99d27ff7a90c7f701400.js", + "features/notifications.js.map": "/packs/features/notifications-99d27ff7a90c7f701400.js.map", + "features/pinned_statuses.js": "/packs/features/pinned_statuses-fc56dd5916a37286e823.js", + "features/pinned_statuses.js.map": "/packs/features/pinned_statuses-fc56dd5916a37286e823.js.map", + "features/public_timeline.js": "/packs/features/public_timeline-d6e6bc704f49ebf922be.js", + "features/public_timeline.js.map": "/packs/features/public_timeline-d6e6bc704f49ebf922be.js.map", + "features/reblogs.js": "/packs/features/reblogs-e284a8647e830c151a40.js", + "features/reblogs.js.map": "/packs/features/reblogs-e284a8647e830c151a40.js.map", + "features/status.js": "/packs/features/status-1f1807fdb4d1fd6daf40.js", + "features/status.js.map": "/packs/features/status-1f1807fdb4d1fd6daf40.js.map", + "fontawesome-webfont.eot": "/packs/fontawesome-webfont-674f50d287a8c48dc19ba404d20fe713.eot", + "fontawesome-webfont.svg?v=4.7.0": "/packs/fontawesome-webfont-912ec66d7572ff821749319396470bde.svg", + "fontawesome-webfont.ttf?v=4.7.0": "/packs/fontawesome-webfont-b06871f281fee6b241d60582ae9369b9.ttf", + "fontawesome-webfont.woff2?v=4.7.0": "/packs/fontawesome-webfont-af7ae505a9eed503f8b8e6982036873e.woff2", + "fontawesome-webfont.woff?v=4.7.0": "/packs/fontawesome-webfont-fee66e712a8a08eef5805a46892932ad.woff", + "locale_ar.js": "/packs/locale_ar-7d02662cc0cfffd6f6f9.js", + "locale_ar.js.map": "/packs/locale_ar-7d02662cc0cfffd6f6f9.js.map", + "locale_bg.js": "/packs/locale_bg-c13dba4d26f870d592b2.js", + "locale_bg.js.map": "/packs/locale_bg-c13dba4d26f870d592b2.js.map", + "locale_ca.js": "/packs/locale_ca-04107d1a98af2b039204.js", + "locale_ca.js.map": "/packs/locale_ca-04107d1a98af2b039204.js.map", + "locale_de.js": "/packs/locale_de-bf72ca55e704d5a96788.js", + "locale_de.js.map": "/packs/locale_de-bf72ca55e704d5a96788.js.map", + "locale_en.js": "/packs/locale_en-a0e3195e8a56398ec497.js", + "locale_en.js.map": "/packs/locale_en-a0e3195e8a56398ec497.js.map", + "locale_eo.js": "/packs/locale_eo-907e661a2a8c6d12f600.js", + "locale_eo.js.map": "/packs/locale_eo-907e661a2a8c6d12f600.js.map", + "locale_es.js": "/packs/locale_es-26cf29fe0ea58c648317.js", + "locale_es.js.map": "/packs/locale_es-26cf29fe0ea58c648317.js.map", + "locale_fa.js": "/packs/locale_fa-36da2b4b7fce9ee445d4.js", + "locale_fa.js.map": "/packs/locale_fa-36da2b4b7fce9ee445d4.js.map", + "locale_fi.js": "/packs/locale_fi-a0bb536510dfb7fe46e7.js", + "locale_fi.js.map": "/packs/locale_fi-a0bb536510dfb7fe46e7.js.map", + "locale_fr.js": "/packs/locale_fr-abab8a49160466298d03.js", + "locale_fr.js.map": "/packs/locale_fr-abab8a49160466298d03.js.map", + "locale_he.js": "/packs/locale_he-005e46857d05c85ee2eb.js", + "locale_he.js.map": "/packs/locale_he-005e46857d05c85ee2eb.js.map", + "locale_hr.js": "/packs/locale_hr-e2d2f61a68ccc0db5448.js", + "locale_hr.js.map": "/packs/locale_hr-e2d2f61a68ccc0db5448.js.map", + "locale_hu.js": "/packs/locale_hu-2bb0c40f1c7f66e27e2d.js", + "locale_hu.js.map": "/packs/locale_hu-2bb0c40f1c7f66e27e2d.js.map", + "locale_id.js": "/packs/locale_id-fab008a8becc89597587.js", + "locale_id.js.map": "/packs/locale_id-fab008a8becc89597587.js.map", + "locale_io.js": "/packs/locale_io-aa797a5ae99e86edda1b.js", + "locale_io.js.map": "/packs/locale_io-aa797a5ae99e86edda1b.js.map", + "locale_it.js": "/packs/locale_it-e0da50e91bbf1d0ca7cd.js", + "locale_it.js.map": "/packs/locale_it-e0da50e91bbf1d0ca7cd.js.map", + "locale_ja.js": "/packs/locale_ja-d62b9a98f6d06252f969.js", + "locale_ja.js.map": "/packs/locale_ja-d62b9a98f6d06252f969.js.map", + "locale_ko.js": "/packs/locale_ko-6095b6a5356744e8c0fa.js", + "locale_ko.js.map": "/packs/locale_ko-6095b6a5356744e8c0fa.js.map", + "locale_nl.js": "/packs/locale_nl-eb63a7c19f056d7aad37.js", + "locale_nl.js.map": "/packs/locale_nl-eb63a7c19f056d7aad37.js.map", + "locale_no.js": "/packs/locale_no-a905e439e333e8a75417.js", + "locale_no.js.map": "/packs/locale_no-a905e439e333e8a75417.js.map", + "locale_oc.js": "/packs/locale_oc-5db5b324864d5986ca40.js", + "locale_oc.js.map": "/packs/locale_oc-5db5b324864d5986ca40.js.map", + "locale_pl.js": "/packs/locale_pl-a29786d2e8e517933a46.js", + "locale_pl.js.map": "/packs/locale_pl-a29786d2e8e517933a46.js.map", + "locale_pt-BR.js": "/packs/locale_pt-BR-d2e312d147c156be6d25.js", + "locale_pt-BR.js.map": "/packs/locale_pt-BR-d2e312d147c156be6d25.js.map", + "locale_pt.js": "/packs/locale_pt-ab5ecfe44d3e665b5bb7.js", + "locale_pt.js.map": "/packs/locale_pt-ab5ecfe44d3e665b5bb7.js.map", + "locale_ru.js": "/packs/locale_ru-6976b8c1b98d9a59e933.js", + "locale_ru.js.map": "/packs/locale_ru-6976b8c1b98d9a59e933.js.map", + "locale_sv.js": "/packs/locale_sv-a171cdf4deaf1e12bb0d.js", + "locale_sv.js.map": "/packs/locale_sv-a171cdf4deaf1e12bb0d.js.map", + "locale_th.js": "/packs/locale_th-9c80f19a54e11880465c.js", + "locale_th.js.map": "/packs/locale_th-9c80f19a54e11880465c.js.map", + "locale_tr.js": "/packs/locale_tr-71d85a06079f5471426f.js", + "locale_tr.js.map": "/packs/locale_tr-71d85a06079f5471426f.js.map", + "locale_uk.js": "/packs/locale_uk-1dc16dc9b7d7c6e9c566.js", + "locale_uk.js.map": "/packs/locale_uk-1dc16dc9b7d7c6e9c566.js.map", + "locale_zh-CN.js": "/packs/locale_zh-CN-601e45ab96a4205d0315.js", + "locale_zh-CN.js.map": "/packs/locale_zh-CN-601e45ab96a4205d0315.js.map", + "locale_zh-HK.js": "/packs/locale_zh-HK-b59fc4967cc8ed927fe9.js", + "locale_zh-HK.js.map": "/packs/locale_zh-HK-b59fc4967cc8ed927fe9.js.map", + "locale_zh-TW.js": "/packs/locale_zh-TW-2ce95af6015c1c812a17.js", + "locale_zh-TW.js.map": "/packs/locale_zh-TW-2ce95af6015c1c812a17.js.map", + "logo.svg": "/packs/logo-fe5141d38a25f50068b4c69b77ca1ec8.svg", + "logo_alt.svg": "/packs/logo_alt-6090911445f54a587465e41da77a6969.svg", + "logo_full.svg": "/packs/logo_full-96e7a97fe469f75a23a74852b2478fa3.svg", + "mastodon-getting-started.png": "/packs/mastodon-getting-started-758db9bb72f30f65b07bb7b64f24ea83.png", + "mastodon-not-found.png": "/packs/mastodon-not-found-afb3fe71154b0c7518f25c70897c03d2.png", + "modals/embed_modal.js": "/packs/modals/embed_modal-c776fd6a0ea581675783.js", + "modals/embed_modal.js.map": "/packs/modals/embed_modal-c776fd6a0ea581675783.js.map", + "modals/onboarding_modal.js": "/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js", + "modals/onboarding_modal.js.map": "/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.map", + "modals/report_modal.js": "/packs/modals/report_modal-7a2950f40d4867b9cbb0.js", + "modals/report_modal.js.map": "/packs/modals/report_modal-7a2950f40d4867b9cbb0.js.map", + "preview.jpg": "/packs/preview-9a17d32fc48369e8ccd910a75260e67d.jpg", + "public.js": "/packs/public-88b87539fc95f07f2721.js", + "public.js.map": "/packs/public-88b87539fc95f07f2721.js.map", + "roboto-bold-webfont.svg": "/packs/roboto-bold-webfont-4cbd1966fc397282fa35d69070782b80.svg", + "roboto-bold-webfont.ttf": "/packs/roboto-bold-webfont-5bacc29257521cc73732f2597cc19c4b.ttf", + "roboto-bold-webfont.woff": "/packs/roboto-bold-webfont-df0f5fd966b99c0f503ae50c064fbba8.woff", + "roboto-bold-webfont.woff2": "/packs/roboto-bold-webfont-f633cb5c651ba4d50791e1adf55d3c18.woff2", + "roboto-italic-webfont.svg": "/packs/roboto-italic-webfont-d88a9e8476fabedea3b87fd0ba2df3b3.svg", + "roboto-italic-webfont.ttf": "/packs/roboto-italic-webfont-4c71bd4a88468ea62f92e55cb4e33aef.ttf", + "roboto-italic-webfont.woff": "/packs/roboto-italic-webfont-927fdbf83b347742d39f0b00f3cfa99a.woff", + "roboto-italic-webfont.woff2": "/packs/roboto-italic-webfont-50efdad8c62f5f279e3f4f1f63a4f9bc.woff2", + "roboto-medium-webfont.svg": "/packs/roboto-medium-webfont-f407ec033f15172c3c4acf75608dd11d.svg", + "roboto-medium-webfont.ttf": "/packs/roboto-medium-webfont-7f0e4c7727a4bc5f37d95d804c6e0348.ttf", + "roboto-medium-webfont.woff": "/packs/roboto-medium-webfont-6484794cd05bbf97f3f0c730cec21665.woff", + "roboto-medium-webfont.woff2": "/packs/roboto-medium-webfont-69c55fc2fe77d38934ea98dc31642ce6.woff2", + "roboto-regular-webfont.svg": "/packs/roboto-regular-webfont-77dc6a0145954a963b95d30773543105.svg", + "roboto-regular-webfont.ttf": "/packs/roboto-regular-webfont-42a434b9f3c8c7a57b83488483b2d08e.ttf", + "roboto-regular-webfont.woff": "/packs/roboto-regular-webfont-b06ad091cf548c38401f3e5883cb36a2.woff", + "roboto-regular-webfont.woff2": "/packs/roboto-regular-webfont-3ec24f953ed5e859a6402cb3c030ea8b.woff2", + "robotomono-regular-webfont.svg": "/packs/robotomono-regular-webfont-51e9ccf8c829f4894a7e5a0883e864fc.svg", + "robotomono-regular-webfont.ttf": "/packs/robotomono-regular-webfont-0ba95b3b2370e6bf1dcdb20aa3a54ff2.ttf", + "robotomono-regular-webfont.woff": "/packs/robotomono-regular-webfont-09e0ef66c9dee2fa2689f6e5f2437670.woff", + "robotomono-regular-webfont.woff2": "/packs/robotomono-regular-webfont-6c1ce30b90ee993b22618ec489585594.woff2", + "share.js": "/packs/share-914b479bea45d0f6d4aa.js", + "share.js.map": "/packs/share-914b479bea45d0f6d4aa.js.map", + "status/media_gallery.js": "/packs/status/media_gallery-7642f779bf4243e58b78.js", + "status/media_gallery.js.map": "/packs/status/media_gallery-7642f779bf4243e58b78.js.map", + "void.png": "/packs/void-65dfe5bd31335a5b308d36964d320574.png" +} \ No newline at end of file diff --git a/priv/static/packs/mastodon-getting-started-758db9bb72f30f65b07bb7b64f24ea83.png b/priv/static/packs/mastodon-getting-started-758db9bb72f30f65b07bb7b64f24ea83.png new file mode 100644 index 000000000..e05dd493f Binary files /dev/null and b/priv/static/packs/mastodon-getting-started-758db9bb72f30f65b07bb7b64f24ea83.png differ diff --git a/priv/static/packs/mastodon-not-found-afb3fe71154b0c7518f25c70897c03d2.png b/priv/static/packs/mastodon-not-found-afb3fe71154b0c7518f25c70897c03d2.png new file mode 100644 index 000000000..76108d41f Binary files /dev/null and b/priv/static/packs/mastodon-not-found-afb3fe71154b0c7518f25c70897c03d2.png differ diff --git a/priv/static/packs/modals/embed_modal-c776fd6a0ea581675783.js b/priv/static/packs/modals/embed_modal-c776fd6a0ea581675783.js new file mode 100644 index 000000000..59c83f831 Binary files /dev/null and b/priv/static/packs/modals/embed_modal-c776fd6a0ea581675783.js differ diff --git a/priv/static/packs/modals/embed_modal-c776fd6a0ea581675783.js.gz b/priv/static/packs/modals/embed_modal-c776fd6a0ea581675783.js.gz new file mode 100644 index 000000000..f5615806f Binary files /dev/null and b/priv/static/packs/modals/embed_modal-c776fd6a0ea581675783.js.gz differ diff --git a/priv/static/packs/modals/embed_modal-c776fd6a0ea581675783.js.map b/priv/static/packs/modals/embed_modal-c776fd6a0ea581675783.js.map new file mode 100644 index 000000000..34d185d19 Binary files /dev/null and b/priv/static/packs/modals/embed_modal-c776fd6a0ea581675783.js.map differ diff --git a/priv/static/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js b/priv/static/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js new file mode 100644 index 000000000..6d3843d8a Binary files /dev/null and b/priv/static/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js differ diff --git a/priv/static/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.gz b/priv/static/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.gz new file mode 100644 index 000000000..5a74a2ede Binary files /dev/null and b/priv/static/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.gz differ diff --git a/priv/static/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.map b/priv/static/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.map new file mode 100644 index 000000000..38a566493 Binary files /dev/null and b/priv/static/packs/modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.map differ diff --git a/priv/static/packs/modals/report_modal-7a2950f40d4867b9cbb0.js b/priv/static/packs/modals/report_modal-7a2950f40d4867b9cbb0.js new file mode 100644 index 000000000..fdd671401 Binary files /dev/null and b/priv/static/packs/modals/report_modal-7a2950f40d4867b9cbb0.js differ diff --git a/priv/static/packs/modals/report_modal-7a2950f40d4867b9cbb0.js.gz b/priv/static/packs/modals/report_modal-7a2950f40d4867b9cbb0.js.gz new file mode 100644 index 000000000..849a8bb67 Binary files /dev/null and b/priv/static/packs/modals/report_modal-7a2950f40d4867b9cbb0.js.gz differ diff --git a/priv/static/packs/modals/report_modal-7a2950f40d4867b9cbb0.js.map b/priv/static/packs/modals/report_modal-7a2950f40d4867b9cbb0.js.map new file mode 100644 index 000000000..f69c32d58 Binary files /dev/null and b/priv/static/packs/modals/report_modal-7a2950f40d4867b9cbb0.js.map differ diff --git a/priv/static/packs/pl-dark-masto-fe.css b/priv/static/packs/pl-dark-masto-fe.css new file mode 100644 index 000000000..dc35b5408 Binary files /dev/null and b/priv/static/packs/pl-dark-masto-fe.css differ diff --git a/priv/static/packs/preview-9a17d32fc48369e8ccd910a75260e67d.jpg b/priv/static/packs/preview-9a17d32fc48369e8ccd910a75260e67d.jpg new file mode 100644 index 000000000..ec2856748 Binary files /dev/null and b/priv/static/packs/preview-9a17d32fc48369e8ccd910a75260e67d.jpg differ diff --git a/priv/static/packs/public-88b87539fc95f07f2721.js b/priv/static/packs/public-88b87539fc95f07f2721.js new file mode 100644 index 000000000..d29e17ceb Binary files /dev/null and b/priv/static/packs/public-88b87539fc95f07f2721.js differ diff --git a/priv/static/packs/report.html b/priv/static/packs/report.html new file mode 100644 index 000000000..ff2363e15 --- /dev/null +++ b/priv/static/packs/report.html @@ -0,0 +1,25 @@ + + + + + + Webpack Bundle Analyzer + + + + + + + + + +
+ + + diff --git a/priv/static/packs/roboto-bold-webfont-4cbd1966fc397282fa35d69070782b80.svg b/priv/static/packs/roboto-bold-webfont-4cbd1966fc397282fa35d69070782b80.svg new file mode 100644 index 000000000..8b591f99e --- /dev/null +++ b/priv/static/packs/roboto-bold-webfont-4cbd1966fc397282fa35d69070782b80.svg @@ -0,0 +1,16273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/priv/static/packs/roboto-bold-webfont-5bacc29257521cc73732f2597cc19c4b.ttf b/priv/static/packs/roboto-bold-webfont-5bacc29257521cc73732f2597cc19c4b.ttf new file mode 100644 index 000000000..08f6a72cc Binary files /dev/null and b/priv/static/packs/roboto-bold-webfont-5bacc29257521cc73732f2597cc19c4b.ttf differ diff --git a/priv/static/packs/roboto-bold-webfont-df0f5fd966b99c0f503ae50c064fbba8.woff b/priv/static/packs/roboto-bold-webfont-df0f5fd966b99c0f503ae50c064fbba8.woff new file mode 100644 index 000000000..c70f9410b Binary files /dev/null and b/priv/static/packs/roboto-bold-webfont-df0f5fd966b99c0f503ae50c064fbba8.woff differ diff --git a/priv/static/packs/roboto-bold-webfont-f633cb5c651ba4d50791e1adf55d3c18.woff2 b/priv/static/packs/roboto-bold-webfont-f633cb5c651ba4d50791e1adf55d3c18.woff2 new file mode 100644 index 000000000..4ce0bec66 Binary files /dev/null and b/priv/static/packs/roboto-bold-webfont-f633cb5c651ba4d50791e1adf55d3c18.woff2 differ diff --git a/priv/static/packs/roboto-italic-webfont-4c71bd4a88468ea62f92e55cb4e33aef.ttf b/priv/static/packs/roboto-italic-webfont-4c71bd4a88468ea62f92e55cb4e33aef.ttf new file mode 100644 index 000000000..f2175cb32 Binary files /dev/null and b/priv/static/packs/roboto-italic-webfont-4c71bd4a88468ea62f92e55cb4e33aef.ttf differ diff --git a/priv/static/packs/roboto-italic-webfont-50efdad8c62f5f279e3f4f1f63a4f9bc.woff2 b/priv/static/packs/roboto-italic-webfont-50efdad8c62f5f279e3f4f1f63a4f9bc.woff2 new file mode 100644 index 000000000..6b8dfd0b5 Binary files /dev/null and b/priv/static/packs/roboto-italic-webfont-50efdad8c62f5f279e3f4f1f63a4f9bc.woff2 differ diff --git a/priv/static/packs/roboto-italic-webfont-927fdbf83b347742d39f0b00f3cfa99a.woff b/priv/static/packs/roboto-italic-webfont-927fdbf83b347742d39f0b00f3cfa99a.woff new file mode 100644 index 000000000..05e4efc6a Binary files /dev/null and b/priv/static/packs/roboto-italic-webfont-927fdbf83b347742d39f0b00f3cfa99a.woff differ diff --git a/priv/static/packs/roboto-italic-webfont-d88a9e8476fabedea3b87fd0ba2df3b3.svg b/priv/static/packs/roboto-italic-webfont-d88a9e8476fabedea3b87fd0ba2df3b3.svg new file mode 100644 index 000000000..44ffeb077 --- /dev/null +++ b/priv/static/packs/roboto-italic-webfont-d88a9e8476fabedea3b87fd0ba2df3b3.svg @@ -0,0 +1,15513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/priv/static/packs/roboto-medium-webfont-6484794cd05bbf97f3f0c730cec21665.woff b/priv/static/packs/roboto-medium-webfont-6484794cd05bbf97f3f0c730cec21665.woff new file mode 100644 index 000000000..ade9ac255 Binary files /dev/null and b/priv/static/packs/roboto-medium-webfont-6484794cd05bbf97f3f0c730cec21665.woff differ diff --git a/priv/static/packs/roboto-medium-webfont-69c55fc2fe77d38934ea98dc31642ce6.woff2 b/priv/static/packs/roboto-medium-webfont-69c55fc2fe77d38934ea98dc31642ce6.woff2 new file mode 100644 index 000000000..030f255eb Binary files /dev/null and b/priv/static/packs/roboto-medium-webfont-69c55fc2fe77d38934ea98dc31642ce6.woff2 differ diff --git a/priv/static/packs/roboto-medium-webfont-7f0e4c7727a4bc5f37d95d804c6e0348.ttf b/priv/static/packs/roboto-medium-webfont-7f0e4c7727a4bc5f37d95d804c6e0348.ttf new file mode 100644 index 000000000..052420e8e Binary files /dev/null and b/priv/static/packs/roboto-medium-webfont-7f0e4c7727a4bc5f37d95d804c6e0348.ttf differ diff --git a/priv/static/packs/roboto-medium-webfont-f407ec033f15172c3c4acf75608dd11d.svg b/priv/static/packs/roboto-medium-webfont-f407ec033f15172c3c4acf75608dd11d.svg new file mode 100644 index 000000000..290467b21 --- /dev/null +++ b/priv/static/packs/roboto-medium-webfont-f407ec033f15172c3c4acf75608dd11d.svg @@ -0,0 +1,16273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/priv/static/packs/roboto-regular-webfont-3ec24f953ed5e859a6402cb3c030ea8b.woff2 b/priv/static/packs/roboto-regular-webfont-3ec24f953ed5e859a6402cb3c030ea8b.woff2 new file mode 100644 index 000000000..e01739b21 Binary files /dev/null and b/priv/static/packs/roboto-regular-webfont-3ec24f953ed5e859a6402cb3c030ea8b.woff2 differ diff --git a/priv/static/packs/roboto-regular-webfont-42a434b9f3c8c7a57b83488483b2d08e.ttf b/priv/static/packs/roboto-regular-webfont-42a434b9f3c8c7a57b83488483b2d08e.ttf new file mode 100644 index 000000000..696fd82b8 Binary files /dev/null and b/priv/static/packs/roboto-regular-webfont-42a434b9f3c8c7a57b83488483b2d08e.ttf differ diff --git a/priv/static/packs/roboto-regular-webfont-77dc6a0145954a963b95d30773543105.svg b/priv/static/packs/roboto-regular-webfont-77dc6a0145954a963b95d30773543105.svg new file mode 100644 index 000000000..1d15b6bce --- /dev/null +++ b/priv/static/packs/roboto-regular-webfont-77dc6a0145954a963b95d30773543105.svg @@ -0,0 +1,15513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/priv/static/packs/roboto-regular-webfont-b06ad091cf548c38401f3e5883cb36a2.woff b/priv/static/packs/roboto-regular-webfont-b06ad091cf548c38401f3e5883cb36a2.woff new file mode 100644 index 000000000..b5e69e2b7 Binary files /dev/null and b/priv/static/packs/roboto-regular-webfont-b06ad091cf548c38401f3e5883cb36a2.woff differ diff --git a/priv/static/packs/robotomono-regular-webfont-09e0ef66c9dee2fa2689f6e5f2437670.woff b/priv/static/packs/robotomono-regular-webfont-09e0ef66c9dee2fa2689f6e5f2437670.woff new file mode 100644 index 000000000..1ed8af5d0 Binary files /dev/null and b/priv/static/packs/robotomono-regular-webfont-09e0ef66c9dee2fa2689f6e5f2437670.woff differ diff --git a/priv/static/packs/robotomono-regular-webfont-0ba95b3b2370e6bf1dcdb20aa3a54ff2.ttf b/priv/static/packs/robotomono-regular-webfont-0ba95b3b2370e6bf1dcdb20aa3a54ff2.ttf new file mode 100644 index 000000000..1ab663e40 Binary files /dev/null and b/priv/static/packs/robotomono-regular-webfont-0ba95b3b2370e6bf1dcdb20aa3a54ff2.ttf differ diff --git a/priv/static/packs/robotomono-regular-webfont-51e9ccf8c829f4894a7e5a0883e864fc.svg b/priv/static/packs/robotomono-regular-webfont-51e9ccf8c829f4894a7e5a0883e864fc.svg new file mode 100644 index 000000000..8b0e15729 --- /dev/null +++ b/priv/static/packs/robotomono-regular-webfont-51e9ccf8c829f4894a7e5a0883e864fc.svg @@ -0,0 +1,1051 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/priv/static/packs/robotomono-regular-webfont-6c1ce30b90ee993b22618ec489585594.woff2 b/priv/static/packs/robotomono-regular-webfont-6c1ce30b90ee993b22618ec489585594.woff2 new file mode 100644 index 000000000..1142739f6 Binary files /dev/null and b/priv/static/packs/robotomono-regular-webfont-6c1ce30b90ee993b22618ec489585594.woff2 differ diff --git a/priv/static/packs/share-914b479bea45d0f6d4aa.js b/priv/static/packs/share-914b479bea45d0f6d4aa.js new file mode 100644 index 000000000..9575a6567 Binary files /dev/null and b/priv/static/packs/share-914b479bea45d0f6d4aa.js differ diff --git a/priv/static/packs/stats.json b/priv/static/packs/stats.json new file mode 100644 index 000000000..4923e4325 --- /dev/null +++ b/priv/static/packs/stats.json @@ -0,0 +1,138720 @@ +{ + "errors": [], + "warnings": [ + "OfflinePlugin: Cache sections `additional` and `optional` could be used only when each asset passed to it has unique name (e.g. hash or version in it) and is permanently available for given URL. If you think that it' your case, set `safeToUseOptionalCaches` option to `true`, to remove this warning.", + "OfflinePlugin: Cache pattern [**/*.jpeg] did not match any assets", + "OfflinePlugin: Cache pattern [**/*.mp3] did not match any assets", + "OfflinePlugin: Cache pattern [**/*.ogg] did not match any assets" + ], + "version": "3.8.1", + "hash": "32b346c74d44b7a2c384", + "time": 144265, + "publicPath": "/packs/", + "assetsByChunkName": { + "base_polyfills": [ + "base_polyfills-0e7cb02d7748745874eb.js", + "base_polyfills-0e7cb02d7748745874eb.js.map" + ], + "extra_polyfills": [ + "extra_polyfills-1caed55b56bce0471b41.js", + "extra_polyfills-1caed55b56bce0471b41.js.map" + ], + "features/compose": [ + "features/compose-4617f6e912b5bfa71c43.js", + "features/compose-4617f6e912b5bfa71c43.js.map" + ], + "modals/onboarding_modal": [ + "modals/onboarding_modal-399f44a19ddd0ddc4e9c.js", + "modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.map" + ], + "features/public_timeline": [ + "features/public_timeline-d6e6bc704f49ebf922be.js", + "features/public_timeline-d6e6bc704f49ebf922be.js.map" + ], + "features/community_timeline": [ + "features/community_timeline-20bc8a94c08809c127d0.js", + "features/community_timeline-20bc8a94c08809c127d0.js.map" + ], + "features/hashtag_timeline": [ + "features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js", + "features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.map" + ], + "emoji_picker": [ + "emoji_picker-9cf581d158c1cefc73c9.js", + "emoji_picker-9cf581d158c1cefc73c9.js.map" + ], + "features/notifications": [ + "features/notifications-99d27ff7a90c7f701400.js", + "features/notifications-99d27ff7a90c7f701400.js.map" + ], + "features/home_timeline": [ + "features/home_timeline-c146f32b0118845677ee.js", + "features/home_timeline-c146f32b0118845677ee.js.map" + ], + "features/account_timeline": [ + "features/account_timeline-cad2550e777d3958eca4.js", + "features/account_timeline-cad2550e777d3958eca4.js.map" + ], + "features/pinned_statuses": [ + "features/pinned_statuses-fc56dd5916a37286e823.js", + "features/pinned_statuses-fc56dd5916a37286e823.js.map" + ], + "features/favourited_statuses": [ + "features/favourited_statuses-b15a9a6cc711cca1eb76.js", + "features/favourited_statuses-b15a9a6cc711cca1eb76.js.map" + ], + "features/status": [ + "features/status-1f1807fdb4d1fd6daf40.js", + "features/status-1f1807fdb4d1fd6daf40.js.map" + ], + "features/following": [ + "features/following-9060b3726e6ad25f3621.js", + "features/following-9060b3726e6ad25f3621.js.map" + ], + "features/followers": [ + "features/followers-6716b8606f70dfa12ed7.js", + "features/followers-6716b8606f70dfa12ed7.js.map" + ], + "features/account_gallery": [ + "features/account_gallery-b13924812f8dd47200c2.js", + "features/account_gallery-b13924812f8dd47200c2.js.map" + ], + "modals/report_modal": [ + "modals/report_modal-7a2950f40d4867b9cbb0.js", + "modals/report_modal-7a2950f40d4867b9cbb0.js.map" + ], + "features/follow_requests": [ + "features/follow_requests-281e5b40331385149920.js", + "features/follow_requests-281e5b40331385149920.js.map" + ], + "features/mutes": [ + "features/mutes-60c139f123f8d11ed903.js", + "features/mutes-60c139f123f8d11ed903.js.map" + ], + "features/blocks": [ + "features/blocks-e9605338ea941de78465.js", + "features/blocks-e9605338ea941de78465.js.map" + ], + "features/reblogs": [ + "features/reblogs-e284a8647e830c151a40.js", + "features/reblogs-e284a8647e830c151a40.js.map" + ], + "features/favourites": [ + "features/favourites-083fedd11007764f7fad.js", + "features/favourites-083fedd11007764f7fad.js.map" + ], + "features/getting_started": [ + "features/getting_started-b65f1e917d66a972f2bf.js", + "features/getting_started-b65f1e917d66a972f2bf.js.map" + ], + "features/generic_not_found": [ + "features/generic_not_found-dc757b4cfe00489a06fb.js", + "features/generic_not_found-dc757b4cfe00489a06fb.js.map" + ], + "modals/embed_modal": [ + "modals/embed_modal-c776fd6a0ea581675783.js", + "modals/embed_modal-c776fd6a0ea581675783.js.map" + ], + "status/media_gallery": [ + "status/media_gallery-7642f779bf4243e58b78.js", + "status/media_gallery-7642f779bf4243e58b78.js.map" + ], + "application": [ + "application-1b1f37dff2aac402336b.js", + "application-1b1f37dff2aac402336b.js.map" + ], + "share": [ + "share-914b479bea45d0f6d4aa.js", + "share-914b479bea45d0f6d4aa.js.map" + ], + "about": [ + "about-d6275c885cd0e28a1186.js", + "about-d6275c885cd0e28a1186.js.map" + ], + "public": [ + "public-88b87539fc95f07f2721.js", + "public-88b87539fc95f07f2721.js.map" + ], + "locale_zh-TW": [ + "locale_zh-TW-2ce95af6015c1c812a17.js", + "locale_zh-TW-2ce95af6015c1c812a17.js.map" + ], + "locale_zh-HK": [ + "locale_zh-HK-b59fc4967cc8ed927fe9.js", + "locale_zh-HK-b59fc4967cc8ed927fe9.js.map" + ], + "locale_zh-CN": [ + "locale_zh-CN-601e45ab96a4205d0315.js", + "locale_zh-CN-601e45ab96a4205d0315.js.map" + ], + "locale_uk": [ + "locale_uk-1dc16dc9b7d7c6e9c566.js", + "locale_uk-1dc16dc9b7d7c6e9c566.js.map" + ], + "locale_tr": [ + "locale_tr-71d85a06079f5471426f.js", + "locale_tr-71d85a06079f5471426f.js.map" + ], + "locale_th": [ + "locale_th-9c80f19a54e11880465c.js", + "locale_th-9c80f19a54e11880465c.js.map" + ], + "locale_sv": [ + "locale_sv-a171cdf4deaf1e12bb0d.js", + "locale_sv-a171cdf4deaf1e12bb0d.js.map" + ], + "locale_ru": [ + "locale_ru-6976b8c1b98d9a59e933.js", + "locale_ru-6976b8c1b98d9a59e933.js.map" + ], + "locale_pt": [ + "locale_pt-ab5ecfe44d3e665b5bb7.js", + "locale_pt-ab5ecfe44d3e665b5bb7.js.map" + ], + "locale_pt-BR": [ + "locale_pt-BR-d2e312d147c156be6d25.js", + "locale_pt-BR-d2e312d147c156be6d25.js.map" + ], + "locale_pl": [ + "locale_pl-a29786d2e8e517933a46.js", + "locale_pl-a29786d2e8e517933a46.js.map" + ], + "locale_oc": [ + "locale_oc-5db5b324864d5986ca40.js", + "locale_oc-5db5b324864d5986ca40.js.map" + ], + "locale_no": [ + "locale_no-a905e439e333e8a75417.js", + "locale_no-a905e439e333e8a75417.js.map" + ], + "locale_nl": [ + "locale_nl-eb63a7c19f056d7aad37.js", + "locale_nl-eb63a7c19f056d7aad37.js.map" + ], + "locale_ko": [ + "locale_ko-6095b6a5356744e8c0fa.js", + "locale_ko-6095b6a5356744e8c0fa.js.map" + ], + "locale_ja": [ + "locale_ja-d62b9a98f6d06252f969.js", + "locale_ja-d62b9a98f6d06252f969.js.map" + ], + "locale_it": [ + "locale_it-e0da50e91bbf1d0ca7cd.js", + "locale_it-e0da50e91bbf1d0ca7cd.js.map" + ], + "locale_io": [ + "locale_io-aa797a5ae99e86edda1b.js", + "locale_io-aa797a5ae99e86edda1b.js.map" + ], + "locale_id": [ + "locale_id-fab008a8becc89597587.js", + "locale_id-fab008a8becc89597587.js.map" + ], + "locale_hu": [ + "locale_hu-2bb0c40f1c7f66e27e2d.js", + "locale_hu-2bb0c40f1c7f66e27e2d.js.map" + ], + "locale_hr": [ + "locale_hr-e2d2f61a68ccc0db5448.js", + "locale_hr-e2d2f61a68ccc0db5448.js.map" + ], + "locale_he": [ + "locale_he-005e46857d05c85ee2eb.js", + "locale_he-005e46857d05c85ee2eb.js.map" + ], + "locale_fr": [ + "locale_fr-abab8a49160466298d03.js", + "locale_fr-abab8a49160466298d03.js.map" + ], + "locale_fi": [ + "locale_fi-a0bb536510dfb7fe46e7.js", + "locale_fi-a0bb536510dfb7fe46e7.js.map" + ], + "locale_fa": [ + "locale_fa-36da2b4b7fce9ee445d4.js", + "locale_fa-36da2b4b7fce9ee445d4.js.map" + ], + "locale_es": [ + "locale_es-26cf29fe0ea58c648317.js", + "locale_es-26cf29fe0ea58c648317.js.map" + ], + "locale_eo": [ + "locale_eo-907e661a2a8c6d12f600.js", + "locale_eo-907e661a2a8c6d12f600.js.map" + ], + "locale_en": [ + "locale_en-a0e3195e8a56398ec497.js", + "locale_en-a0e3195e8a56398ec497.js.map" + ], + "locale_de": [ + "locale_de-bf72ca55e704d5a96788.js", + "locale_de-bf72ca55e704d5a96788.js.map" + ], + "locale_ca": [ + "locale_ca-04107d1a98af2b039204.js", + "locale_ca-04107d1a98af2b039204.js.map" + ], + "locale_bg": [ + "locale_bg-c13dba4d26f870d592b2.js", + "locale_bg-c13dba4d26f870d592b2.js.map" + ], + "locale_ar": [ + "locale_ar-7d02662cc0cfffd6f6f9.js", + "locale_ar-7d02662cc0cfffd6f6f9.js.map" + ], + "default": [ + "default-99ffdcf166b2dedef105.js", + "default-818c1287ac3c764905d81e549d5e0160.css", + "default-99ffdcf166b2dedef105.js.map", + "default-818c1287ac3c764905d81e549d5e0160.css.map" + ], + "admin": [ + "admin-1bab981afc4fd0d71402.js", + "admin-1bab981afc4fd0d71402.js.map" + ], + "common": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map" + ] + }, + "assets": [ + { + "name": "modals/embed_modal-c776fd6a0ea581675783.js.map", + "size": 13435, + "chunks": [ + 25 + ], + "chunkNames": [ + "modals/embed_modal" + ], + "emitted": true + }, + { + "name": "fontawesome-webfont-674f50d287a8c48dc19ba404d20fe713.eot", + "size": 165742, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "fontawesome-webfont-fee66e712a8a08eef5805a46892932ad.woff", + "size": 98024, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "fontawesome-webfont-b06871f281fee6b241d60582ae9369b9.ttf", + "size": 165548, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "fontawesome-webfont-912ec66d7572ff821749319396470bde.svg", + "size": 444379, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-italic-webfont-50efdad8c62f5f279e3f4f1f63a4f9bc.woff2", + "size": 215192, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "roboto-italic-webfont-927fdbf83b347742d39f0b00f3cfa99a.woff", + "size": 306528, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-italic-webfont-4c71bd4a88468ea62f92e55cb4e33aef.ttf", + "size": 588464, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-italic-webfont-d88a9e8476fabedea3b87fd0ba2df3b3.svg", + "size": 1591372, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-bold-webfont-f633cb5c651ba4d50791e1adf55d3c18.woff2", + "size": 192436, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "roboto-bold-webfont-df0f5fd966b99c0f503ae50c064fbba8.woff", + "size": 282780, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-bold-webfont-5bacc29257521cc73732f2597cc19c4b.ttf", + "size": 571400, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-bold-webfont-4cbd1966fc397282fa35d69070782b80.svg", + "size": 1545456, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-medium-webfont-69c55fc2fe77d38934ea98dc31642ce6.woff2", + "size": 190880, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "roboto-medium-webfont-6484794cd05bbf97f3f0c730cec21665.woff", + "size": 279900, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-medium-webfont-7f0e4c7727a4bc5f37d95d804c6e0348.ttf", + "size": 568816, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-medium-webfont-f407ec033f15172c3c4acf75608dd11d.svg", + "size": 1544273, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-regular-webfont-3ec24f953ed5e859a6402cb3c030ea8b.woff2", + "size": 191468, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "roboto-regular-webfont-b06ad091cf548c38401f3e5883cb36a2.woff", + "size": 280372, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-regular-webfont-42a434b9f3c8c7a57b83488483b2d08e.ttf", + "size": 570352, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-regular-webfont-77dc6a0145954a963b95d30773543105.svg", + "size": 1516585, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "robotomono-regular-webfont-6c1ce30b90ee993b22618ec489585594.woff2", + "size": 51156, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "robotomono-regular-webfont-09e0ef66c9dee2fa2689f6e5f2437670.woff", + "size": 66384, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "robotomono-regular-webfont-0ba95b3b2370e6bf1dcdb20aa3a54ff2.ttf", + "size": 113716, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "robotomono-regular-webfont-51e9ccf8c829f4894a7e5a0883e864fc.svg", + "size": 347197, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "Montserrat-Regular-080422d4c1328f3407818d25c86cce51.woff2", + "size": 61840, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "Montserrat-Regular-b0322f2faed575161a052b5af953251a.woff", + "size": 81244, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "Montserrat-Regular-6a18f75e59e23e7f23b8a4ef70d748cd.ttf", + "size": 191860, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "Montserrat-Medium-5f797490f806b3b229299f0a66de89c9.ttf", + "size": 192488, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "mastodon-getting-started-758db9bb72f30f65b07bb7b64f24ea83.png", + "size": 34539, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "mastodon-not-found-afb3fe71154b0c7518f25c70897c03d2.png", + "size": 19560, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "void-65dfe5bd31335a5b308d36964d320574.png", + "size": 174, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "elephant-friend-1-18bbe5bf56bcd2f550f26ae91be00dfb.png", + "size": 144967, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "elephant-fren-d16fd77f9a9387e7d146b5f9d4dc1e7f.png", + "size": 40859, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "elephant-friend-df0b9c6af525e0dea9f1f9c044d9a903.png", + "size": 24466, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "logo-fe5141d38a25f50068b4c69b77ca1ec8.svg", + "size": 1351, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "logo_alt-6090911445f54a587465e41da77a6969.svg", + "size": 1368, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "logo_full-96e7a97fe469f75a23a74852b2478fa3.svg", + "size": 5668, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "preview-9a17d32fc48369e8ccd910a75260e67d.jpg", + "size": 292252, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "base_polyfills-0e7cb02d7748745874eb.js", + "size": 90854, + "chunks": [ + 0 + ], + "chunkNames": [ + "base_polyfills" + ], + "emitted": true + }, + { + "name": "extra_polyfills-1caed55b56bce0471b41.js", + "size": 12417, + "chunks": [ + 1 + ], + "chunkNames": [ + "extra_polyfills" + ], + "emitted": true + }, + { + "name": "features/compose-4617f6e912b5bfa71c43.js", + "size": 72560, + "chunks": [ + 2 + ], + "chunkNames": [ + "features/compose" + ], + "emitted": true + }, + { + "name": "modals/onboarding_modal-399f44a19ddd0ddc4e9c.js", + "size": 69631, + "chunks": [ + 3 + ], + "chunkNames": [ + "modals/onboarding_modal" + ], + "emitted": true + }, + { + "name": "features/public_timeline-d6e6bc704f49ebf922be.js", + "size": 40309, + "chunks": [ + 4 + ], + "chunkNames": [ + "features/public_timeline" + ], + "emitted": true + }, + { + "name": "features/community_timeline-20bc8a94c08809c127d0.js", + "size": 40302, + "chunks": [ + 5 + ], + "chunkNames": [ + "features/community_timeline" + ], + "emitted": true + }, + { + "name": "features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js", + "size": 38692, + "chunks": [ + 6 + ], + "chunkNames": [ + "features/hashtag_timeline" + ], + "emitted": true + }, + { + "name": "emoji_picker-9cf581d158c1cefc73c9.js", + "size": 621250, + "chunks": [ + 7 + ], + "chunkNames": [ + "emoji_picker" + ], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "features/notifications-99d27ff7a90c7f701400.js", + "size": 33948, + "chunks": [ + 8 + ], + "chunkNames": [ + "features/notifications" + ], + "emitted": true + }, + { + "name": "features/home_timeline-c146f32b0118845677ee.js", + "size": 24818, + "chunks": [ + 9 + ], + "chunkNames": [ + "features/home_timeline" + ], + "emitted": true + }, + { + "name": "features/account_timeline-cad2550e777d3958eca4.js", + "size": 28266, + "chunks": [ + 10 + ], + "chunkNames": [ + "features/account_timeline" + ], + "emitted": true + }, + { + "name": "features/pinned_statuses-fc56dd5916a37286e823.js", + "size": 16421, + "chunks": [ + 11 + ], + "chunkNames": [ + "features/pinned_statuses" + ], + "emitted": true + }, + { + "name": "features/favourited_statuses-b15a9a6cc711cca1eb76.js", + "size": 16007, + "chunks": [ + 12 + ], + "chunkNames": [ + "features/favourited_statuses" + ], + "emitted": true + }, + { + "name": "features/status-1f1807fdb4d1fd6daf40.js", + "size": 28522, + "chunks": [ + 13, + 26 + ], + "chunkNames": [ + "features/status" + ], + "emitted": true + }, + { + "name": "features/following-9060b3726e6ad25f3621.js", + "size": 20291, + "chunks": [ + 14 + ], + "chunkNames": [ + "features/following" + ], + "emitted": true + }, + { + "name": "features/followers-6716b8606f70dfa12ed7.js", + "size": 20291, + "chunks": [ + 15 + ], + "chunkNames": [ + "features/followers" + ], + "emitted": true + }, + { + "name": "features/account_gallery-b13924812f8dd47200c2.js", + "size": 17936, + "chunks": [ + 16 + ], + "chunkNames": [ + "features/account_gallery" + ], + "emitted": true + }, + { + "name": "modals/report_modal-7a2950f40d4867b9cbb0.js", + "size": 9804, + "chunks": [ + 17 + ], + "chunkNames": [ + "modals/report_modal" + ], + "emitted": true + }, + { + "name": "features/follow_requests-281e5b40331385149920.js", + "size": 6201, + "chunks": [ + 18 + ], + "chunkNames": [ + "features/follow_requests" + ], + "emitted": true + }, + { + "name": "features/mutes-60c139f123f8d11ed903.js", + "size": 7818, + "chunks": [ + 19 + ], + "chunkNames": [ + "features/mutes" + ], + "emitted": true + }, + { + "name": "features/blocks-e9605338ea941de78465.js", + "size": 7811, + "chunks": [ + 20 + ], + "chunkNames": [ + "features/blocks" + ], + "emitted": true + }, + { + "name": "features/reblogs-e284a8647e830c151a40.js", + "size": 7495, + "chunks": [ + 21 + ], + "chunkNames": [ + "features/reblogs" + ], + "emitted": true + }, + { + "name": "features/favourites-083fedd11007764f7fad.js", + "size": 7494, + "chunks": [ + 22 + ], + "chunkNames": [ + "features/favourites" + ], + "emitted": true + }, + { + "name": "features/getting_started-b65f1e917d66a972f2bf.js", + "size": 7174, + "chunks": [ + 23 + ], + "chunkNames": [ + "features/getting_started" + ], + "emitted": true + }, + { + "name": "features/generic_not_found-dc757b4cfe00489a06fb.js", + "size": 2483, + "chunks": [ + 24 + ], + "chunkNames": [ + "features/generic_not_found" + ], + "emitted": true + }, + { + "name": "modals/embed_modal-c776fd6a0ea581675783.js", + "size": 1916, + "chunks": [ + 25 + ], + "chunkNames": [ + "modals/embed_modal" + ], + "emitted": true + }, + { + "name": "status/media_gallery-7642f779bf4243e58b78.js", + "size": 4661, + "chunks": [ + 26 + ], + "chunkNames": [ + "status/media_gallery" + ], + "emitted": true + }, + { + "name": "application-1b1f37dff2aac402336b.js", + "size": 68729, + "chunks": [ + 27 + ], + "chunkNames": [ + "application" + ], + "emitted": true + }, + { + "name": "share-914b479bea45d0f6d4aa.js", + "size": 75856, + "chunks": [ + 28 + ], + "chunkNames": [ + "share" + ], + "emitted": true + }, + { + "name": "about-d6275c885cd0e28a1186.js", + "size": 34677, + "chunks": [ + 29 + ], + "chunkNames": [ + "about" + ], + "emitted": true + }, + { + "name": "public-88b87539fc95f07f2721.js", + "size": 32273, + "chunks": [ + 30, + 26 + ], + "chunkNames": [ + "public" + ], + "emitted": true + }, + { + "name": "locale_zh-TW-2ce95af6015c1c812a17.js", + "size": 12962, + "chunks": [ + 31 + ], + "chunkNames": [ + "locale_zh-TW" + ], + "emitted": true + }, + { + "name": "locale_zh-HK-b59fc4967cc8ed927fe9.js", + "size": 13155, + "chunks": [ + 32 + ], + "chunkNames": [ + "locale_zh-HK" + ], + "emitted": true + }, + { + "name": "locale_zh-CN-601e45ab96a4205d0315.js", + "size": 13068, + "chunks": [ + 33 + ], + "chunkNames": [ + "locale_zh-CN" + ], + "emitted": true + }, + { + "name": "locale_uk-1dc16dc9b7d7c6e9c566.js", + "size": 13903, + "chunks": [ + 34 + ], + "chunkNames": [ + "locale_uk" + ], + "emitted": true + }, + { + "name": "locale_tr-71d85a06079f5471426f.js", + "size": 13333, + "chunks": [ + 35 + ], + "chunkNames": [ + "locale_tr" + ], + "emitted": true + }, + { + "name": "locale_th-9c80f19a54e11880465c.js", + "size": 12221, + "chunks": [ + 36 + ], + "chunkNames": [ + "locale_th" + ], + "emitted": true + }, + { + "name": "locale_sv-a171cdf4deaf1e12bb0d.js", + "size": 13053, + "chunks": [ + 37 + ], + "chunkNames": [ + "locale_sv" + ], + "emitted": true + }, + { + "name": "locale_ru-6976b8c1b98d9a59e933.js", + "size": 14097, + "chunks": [ + 38 + ], + "chunkNames": [ + "locale_ru" + ], + "emitted": true + }, + { + "name": "locale_pt-ab5ecfe44d3e665b5bb7.js", + "size": 14261, + "chunks": [ + 39 + ], + "chunkNames": [ + "locale_pt" + ], + "emitted": true + }, + { + "name": "locale_pt-BR-d2e312d147c156be6d25.js", + "size": 15046, + "chunks": [ + 40 + ], + "chunkNames": [ + "locale_pt-BR" + ], + "emitted": true + }, + { + "name": "locale_pl-a29786d2e8e517933a46.js", + "size": 13803, + "chunks": [ + 41 + ], + "chunkNames": [ + "locale_pl" + ], + "emitted": true + }, + { + "name": "locale_oc-5db5b324864d5986ca40.js", + "size": 13082, + "chunks": [ + 42 + ], + "chunkNames": [ + "locale_oc" + ], + "emitted": true + }, + { + "name": "locale_no-a905e439e333e8a75417.js", + "size": 12160, + "chunks": [ + 43 + ], + "chunkNames": [ + "locale_no" + ], + "emitted": true + }, + { + "name": "locale_nl-eb63a7c19f056d7aad37.js", + "size": 13817, + "chunks": [ + 44 + ], + "chunkNames": [ + "locale_nl" + ], + "emitted": true + }, + { + "name": "locale_ko-6095b6a5356744e8c0fa.js", + "size": 10093, + "chunks": [ + 45 + ], + "chunkNames": [ + "locale_ko" + ], + "emitted": true + }, + { + "name": "locale_ja-d62b9a98f6d06252f969.js", + "size": 9675, + "chunks": [ + 46 + ], + "chunkNames": [ + "locale_ja" + ], + "emitted": true + }, + { + "name": "locale_it-e0da50e91bbf1d0ca7cd.js", + "size": 12863, + "chunks": [ + 47 + ], + "chunkNames": [ + "locale_it" + ], + "emitted": true + }, + { + "name": "locale_io-aa797a5ae99e86edda1b.js", + "size": 18368, + "chunks": [ + 48 + ], + "chunkNames": [ + "locale_io" + ], + "emitted": true + }, + { + "name": "locale_id-fab008a8becc89597587.js", + "size": 12696, + "chunks": [ + 49 + ], + "chunkNames": [ + "locale_id" + ], + "emitted": true + }, + { + "name": "locale_hu-2bb0c40f1c7f66e27e2d.js", + "size": 12631, + "chunks": [ + 50 + ], + "chunkNames": [ + "locale_hu" + ], + "emitted": true + }, + { + "name": "locale_hr-e2d2f61a68ccc0db5448.js", + "size": 13228, + "chunks": [ + 51 + ], + "chunkNames": [ + "locale_hr" + ], + "emitted": true + }, + { + "name": "locale_he-005e46857d05c85ee2eb.js", + "size": 12456, + "chunks": [ + 52 + ], + "chunkNames": [ + "locale_he" + ], + "emitted": true + }, + { + "name": "locale_fr-abab8a49160466298d03.js", + "size": 16499, + "chunks": [ + 53 + ], + "chunkNames": [ + "locale_fr" + ], + "emitted": true + }, + { + "name": "locale_fi-a0bb536510dfb7fe46e7.js", + "size": 12733, + "chunks": [ + 54 + ], + "chunkNames": [ + "locale_fi" + ], + "emitted": true + }, + { + "name": "locale_fa-36da2b4b7fce9ee445d4.js", + "size": 12523, + "chunks": [ + 55 + ], + "chunkNames": [ + "locale_fa" + ], + "emitted": true + }, + { + "name": "locale_es-26cf29fe0ea58c648317.js", + "size": 25129, + "chunks": [ + 56 + ], + "chunkNames": [ + "locale_es" + ], + "emitted": true + }, + { + "name": "locale_eo-907e661a2a8c6d12f600.js", + "size": 12532, + "chunks": [ + 57 + ], + "chunkNames": [ + "locale_eo" + ], + "emitted": true + }, + { + "name": "locale_en-a0e3195e8a56398ec497.js", + "size": 18330, + "chunks": [ + 58 + ], + "chunkNames": [ + "locale_en" + ], + "emitted": true + }, + { + "name": "locale_de-bf72ca55e704d5a96788.js", + "size": 13819, + "chunks": [ + 59 + ], + "chunkNames": [ + "locale_de" + ], + "emitted": true + }, + { + "name": "locale_ca-04107d1a98af2b039204.js", + "size": 14774, + "chunks": [ + 60 + ], + "chunkNames": [ + "locale_ca" + ], + "emitted": true + }, + { + "name": "locale_bg-c13dba4d26f870d592b2.js", + "size": 12590, + "chunks": [ + 61 + ], + "chunkNames": [ + "locale_bg" + ], + "emitted": true + }, + { + "name": "locale_ar-7d02662cc0cfffd6f6f9.js", + "size": 16648, + "chunks": [ + 62 + ], + "chunkNames": [ + "locale_ar" + ], + "emitted": true + }, + { + "name": "default-99ffdcf166b2dedef105.js", + "size": 104, + "chunks": [ + 63 + ], + "chunkNames": [ + "default" + ], + "emitted": true + }, + { + "name": "admin-1bab981afc4fd0d71402.js", + "size": 1345, + "chunks": [ + 64 + ], + "chunkNames": [ + "admin" + ], + "emitted": true + }, + { + "name": "common-1789b98651001ef10c0b.js", + "size": 767176, + "chunks": [ + 65 + ], + "chunkNames": [ + "common" + ], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "common-daadaac9454e7d14470e7954e3143dca.css", + "size": 31064, + "chunks": [ + 65 + ], + "chunkNames": [ + "common" + ], + "emitted": true + }, + { + "name": "default-818c1287ac3c764905d81e549d5e0160.css", + "size": 161466, + "chunks": [ + 63 + ], + "chunkNames": [ + "default" + ], + "emitted": true + }, + { + "name": "base_polyfills-0e7cb02d7748745874eb.js.map", + "size": 648021, + "chunks": [ + 0 + ], + "chunkNames": [ + "base_polyfills" + ], + "emitted": true + }, + { + "name": "extra_polyfills-1caed55b56bce0471b41.js.map", + "size": 92651, + "chunks": [ + 1 + ], + "chunkNames": [ + "extra_polyfills" + ], + "emitted": true + }, + { + "name": "features/compose-4617f6e912b5bfa71c43.js.map", + "size": 434632, + "chunks": [ + 2 + ], + "chunkNames": [ + "features/compose" + ], + "emitted": true + }, + { + "name": "modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.map", + "size": 400973, + "chunks": [ + 3 + ], + "chunkNames": [ + "modals/onboarding_modal" + ], + "emitted": true + }, + { + "name": "features/public_timeline-d6e6bc704f49ebf922be.js.map", + "size": 279256, + "chunks": [ + 4 + ], + "chunkNames": [ + "features/public_timeline" + ], + "emitted": true + }, + { + "name": "features/community_timeline-20bc8a94c08809c127d0.js.map", + "size": 279245, + "chunks": [ + 5 + ], + "chunkNames": [ + "features/community_timeline" + ], + "emitted": true + }, + { + "name": "features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.map", + "size": 265401, + "chunks": [ + 6 + ], + "chunkNames": [ + "features/hashtag_timeline" + ], + "emitted": true + }, + { + "name": "emoji_picker-9cf581d158c1cefc73c9.js.map", + "size": 1894351, + "chunks": [ + 7 + ], + "chunkNames": [ + "emoji_picker" + ], + "emitted": true + }, + { + "name": "features/notifications-99d27ff7a90c7f701400.js.map", + "size": 222102, + "chunks": [ + 8 + ], + "chunkNames": [ + "features/notifications" + ], + "emitted": true + }, + { + "name": "features/home_timeline-c146f32b0118845677ee.js.map", + "size": 170545, + "chunks": [ + 9 + ], + "chunkNames": [ + "features/home_timeline" + ], + "emitted": true + }, + { + "name": "features/account_timeline-cad2550e777d3958eca4.js.map", + "size": 196650, + "chunks": [ + 10 + ], + "chunkNames": [ + "features/account_timeline" + ], + "emitted": true + }, + { + "name": "features/pinned_statuses-fc56dd5916a37286e823.js.map", + "size": 123522, + "chunks": [ + 11 + ], + "chunkNames": [ + "features/pinned_statuses" + ], + "emitted": true + }, + { + "name": "features/favourited_statuses-b15a9a6cc711cca1eb76.js.map", + "size": 120451, + "chunks": [ + 12 + ], + "chunkNames": [ + "features/favourited_statuses" + ], + "emitted": true + }, + { + "name": "features/status-1f1807fdb4d1fd6daf40.js.map", + "size": 207621, + "chunks": [ + 13, + 26 + ], + "chunkNames": [ + "features/status" + ], + "emitted": true + }, + { + "name": "features/following-9060b3726e6ad25f3621.js.map", + "size": 137291, + "chunks": [ + 14 + ], + "chunkNames": [ + "features/following" + ], + "emitted": true + }, + { + "name": "features/followers-6716b8606f70dfa12ed7.js.map", + "size": 137291, + "chunks": [ + 15 + ], + "chunkNames": [ + "features/followers" + ], + "emitted": true + }, + { + "name": "features/account_gallery-b13924812f8dd47200c2.js.map", + "size": 122147, + "chunks": [ + 16 + ], + "chunkNames": [ + "features/account_gallery" + ], + "emitted": true + }, + { + "name": "modals/report_modal-7a2950f40d4867b9cbb0.js.map", + "size": 59214, + "chunks": [ + 17 + ], + "chunkNames": [ + "modals/report_modal" + ], + "emitted": true + }, + { + "name": "features/follow_requests-281e5b40331385149920.js.map", + "size": 50780, + "chunks": [ + 18 + ], + "chunkNames": [ + "features/follow_requests" + ], + "emitted": true + }, + { + "name": "features/mutes-60c139f123f8d11ed903.js.map", + "size": 60180, + "chunks": [ + 19 + ], + "chunkNames": [ + "features/mutes" + ], + "emitted": true + }, + { + "name": "features/blocks-e9605338ea941de78465.js.map", + "size": 60285, + "chunks": [ + 20 + ], + "chunkNames": [ + "features/blocks" + ], + "emitted": true + }, + { + "name": "features/reblogs-e284a8647e830c151a40.js.map", + "size": 58251, + "chunks": [ + 21 + ], + "chunkNames": [ + "features/reblogs" + ], + "emitted": true + }, + { + "name": "features/favourites-083fedd11007764f7fad.js.map", + "size": 58312, + "chunks": [ + 22 + ], + "chunkNames": [ + "features/favourites" + ], + "emitted": true + }, + { + "name": "features/getting_started-b65f1e917d66a972f2bf.js.map", + "size": 46451, + "chunks": [ + 23 + ], + "chunkNames": [ + "features/getting_started" + ], + "emitted": true + }, + { + "name": "features/generic_not_found-dc757b4cfe00489a06fb.js.map", + "size": 20627, + "chunks": [ + 24 + ], + "chunkNames": [ + "features/generic_not_found" + ], + "emitted": true + }, + { + "name": "fontawesome-webfont-af7ae505a9eed503f8b8e6982036873e.woff2", + "size": 77160, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "status/media_gallery-7642f779bf4243e58b78.js.map", + "size": 30821, + "chunks": [ + 26 + ], + "chunkNames": [ + "status/media_gallery" + ], + "emitted": true + }, + { + "name": "application-1b1f37dff2aac402336b.js.map", + "size": 476807, + "chunks": [ + 27 + ], + "chunkNames": [ + "application" + ], + "emitted": true + }, + { + "name": "share-914b479bea45d0f6d4aa.js.map", + "size": 477393, + "chunks": [ + 28 + ], + "chunkNames": [ + "share" + ], + "emitted": true + }, + { + "name": "about-d6275c885cd0e28a1186.js.map", + "size": 264577, + "chunks": [ + 29 + ], + "chunkNames": [ + "about" + ], + "emitted": true + }, + { + "name": "public-88b87539fc95f07f2721.js.map", + "size": 253307, + "chunks": [ + 30, + 26 + ], + "chunkNames": [ + "public" + ], + "emitted": true + }, + { + "name": "locale_zh-TW-2ce95af6015c1c812a17.js.map", + "size": 44587, + "chunks": [ + 31 + ], + "chunkNames": [ + "locale_zh-TW" + ], + "emitted": true + }, + { + "name": "locale_zh-HK-b59fc4967cc8ed927fe9.js.map", + "size": 44980, + "chunks": [ + 32 + ], + "chunkNames": [ + "locale_zh-HK" + ], + "emitted": true + }, + { + "name": "locale_zh-CN-601e45ab96a4205d0315.js.map", + "size": 44805, + "chunks": [ + 33 + ], + "chunkNames": [ + "locale_zh-CN" + ], + "emitted": true + }, + { + "name": "locale_uk-1dc16dc9b7d7c6e9c566.js.map", + "size": 43402, + "chunks": [ + 34 + ], + "chunkNames": [ + "locale_uk" + ], + "emitted": true + }, + { + "name": "locale_tr-71d85a06079f5471426f.js.map", + "size": 41195, + "chunks": [ + 35 + ], + "chunkNames": [ + "locale_tr" + ], + "emitted": true + }, + { + "name": "locale_th-9c80f19a54e11880465c.js.map", + "size": 38638, + "chunks": [ + 36 + ], + "chunkNames": [ + "locale_th" + ], + "emitted": true + }, + { + "name": "locale_sv-a171cdf4deaf1e12bb0d.js.map", + "size": 40822, + "chunks": [ + 37 + ], + "chunkNames": [ + "locale_sv" + ], + "emitted": true + }, + { + "name": "locale_ru-6976b8c1b98d9a59e933.js.map", + "size": 43801, + "chunks": [ + 38 + ], + "chunkNames": [ + "locale_ru" + ], + "emitted": true + }, + { + "name": "locale_pt-ab5ecfe44d3e665b5bb7.js.map", + "size": 44594, + "chunks": [ + 39 + ], + "chunkNames": [ + "locale_pt" + ], + "emitted": true + }, + { + "name": "locale_pt-BR-d2e312d147c156be6d25.js.map", + "size": 46219, + "chunks": [ + 40 + ], + "chunkNames": [ + "locale_pt-BR" + ], + "emitted": true + }, + { + "name": "locale_pl-a29786d2e8e517933a46.js.map", + "size": 43015, + "chunks": [ + 41 + ], + "chunkNames": [ + "locale_pl" + ], + "emitted": true + }, + { + "name": "locale_oc-5db5b324864d5986ca40.js.map", + "size": 42161, + "chunks": [ + 42 + ], + "chunkNames": [ + "locale_oc" + ], + "emitted": true + }, + { + "name": "locale_no-a905e439e333e8a75417.js.map", + "size": 38491, + "chunks": [ + 43 + ], + "chunkNames": [ + "locale_no" + ], + "emitted": true + }, + { + "name": "locale_nl-eb63a7c19f056d7aad37.js.map", + "size": 42450, + "chunks": [ + 44 + ], + "chunkNames": [ + "locale_nl" + ], + "emitted": true + }, + { + "name": "locale_ko-6095b6a5356744e8c0fa.js.map", + "size": 34354, + "chunks": [ + 45 + ], + "chunkNames": [ + "locale_ko" + ], + "emitted": true + }, + { + "name": "locale_ja-d62b9a98f6d06252f969.js.map", + "size": 33449, + "chunks": [ + 46 + ], + "chunkNames": [ + "locale_ja" + ], + "emitted": true + }, + { + "name": "locale_it-e0da50e91bbf1d0ca7cd.js.map", + "size": 40479, + "chunks": [ + 47 + ], + "chunkNames": [ + "locale_it" + ], + "emitted": true + }, + { + "name": "locale_io-aa797a5ae99e86edda1b.js.map", + "size": 57285, + "chunks": [ + 48 + ], + "chunkNames": [ + "locale_io" + ], + "emitted": true + }, + { + "name": "locale_id-fab008a8becc89597587.js.map", + "size": 39603, + "chunks": [ + 49 + ], + "chunkNames": [ + "locale_id" + ], + "emitted": true + }, + { + "name": "locale_hu-2bb0c40f1c7f66e27e2d.js.map", + "size": 39776, + "chunks": [ + 50 + ], + "chunkNames": [ + "locale_hu" + ], + "emitted": true + }, + { + "name": "locale_hr-e2d2f61a68ccc0db5448.js.map", + "size": 41762, + "chunks": [ + 51 + ], + "chunkNames": [ + "locale_hr" + ], + "emitted": true + }, + { + "name": "locale_he-005e46857d05c85ee2eb.js.map", + "size": 40170, + "chunks": [ + 52 + ], + "chunkNames": [ + "locale_he" + ], + "emitted": true + }, + { + "name": "locale_fr-abab8a49160466298d03.js.map", + "size": 50360, + "chunks": [ + 53 + ], + "chunkNames": [ + "locale_fr" + ], + "emitted": true + }, + { + "name": "locale_fi-a0bb536510dfb7fe46e7.js.map", + "size": 40022, + "chunks": [ + 54 + ], + "chunkNames": [ + "locale_fi" + ], + "emitted": true + }, + { + "name": "locale_fa-36da2b4b7fce9ee445d4.js.map", + "size": 39563, + "chunks": [ + 55 + ], + "chunkNames": [ + "locale_fa" + ], + "emitted": true + }, + { + "name": "locale_es-26cf29fe0ea58c648317.js.map", + "size": 75658, + "chunks": [ + 56 + ], + "chunkNames": [ + "locale_es" + ], + "emitted": true + }, + { + "name": "locale_eo-907e661a2a8c6d12f600.js.map", + "size": 39245, + "chunks": [ + 57 + ], + "chunkNames": [ + "locale_eo" + ], + "emitted": true + }, + { + "name": "locale_en-a0e3195e8a56398ec497.js.map", + "size": 57205, + "chunks": [ + 58 + ], + "chunkNames": [ + "locale_en" + ], + "emitted": true + }, + { + "name": "locale_de-bf72ca55e704d5a96788.js.map", + "size": 42464, + "chunks": [ + 59 + ], + "chunkNames": [ + "locale_de" + ], + "emitted": true + }, + { + "name": "locale_ca-04107d1a98af2b039204.js.map", + "size": 45510, + "chunks": [ + 60 + ], + "chunkNames": [ + "locale_ca" + ], + "emitted": true + }, + { + "name": "locale_bg-c13dba4d26f870d592b2.js.map", + "size": 39654, + "chunks": [ + 61 + ], + "chunkNames": [ + "locale_bg" + ], + "emitted": true + }, + { + "name": "locale_ar-7d02662cc0cfffd6f6f9.js.map", + "size": 51964, + "chunks": [ + 62 + ], + "chunkNames": [ + "locale_ar" + ], + "emitted": true + }, + { + "name": "default-99ffdcf166b2dedef105.js.map", + "size": 453, + "chunks": [ + 63 + ], + "chunkNames": [ + "default" + ], + "emitted": true + }, + { + "name": "default-818c1287ac3c764905d81e549d5e0160.css.map", + "size": 121, + "chunks": [ + 63 + ], + "chunkNames": [ + "default" + ], + "emitted": true + }, + { + "name": "admin-1bab981afc4fd0d71402.js.map", + "size": 5375, + "chunks": [ + 64 + ], + "chunkNames": [ + "admin" + ], + "emitted": true + }, + { + "name": "common-1789b98651001ef10c0b.js.map", + "size": 4179866, + "chunks": [ + 65 + ], + "chunkNames": [ + "common" + ], + "emitted": true + }, + { + "name": "common-daadaac9454e7d14470e7954e3143dca.css.map", + "size": 120, + "chunks": [ + 65 + ], + "chunkNames": [ + "common" + ], + "emitted": true + }, + { + "name": "manifest.json", + "size": 13984, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "fontawesome-webfont-912ec66d7572ff821749319396470bde.svg.gz", + "size": 126786, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "fontawesome-webfont-674f50d287a8c48dc19ba404d20fe713.eot.gz", + "size": 95297, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "fontawesome-webfont-b06871f281fee6b241d60582ae9369b9.ttf.gz", + "size": 95237, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "roboto-italic-webfont-4c71bd4a88468ea62f92e55cb4e33aef.ttf.gz", + "size": 293220, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-bold-webfont-5bacc29257521cc73732f2597cc19c4b.ttf.gz", + "size": 268239, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-medium-webfont-7f0e4c7727a4bc5f37d95d804c6e0348.ttf.gz", + "size": 265399, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-regular-webfont-42a434b9f3c8c7a57b83488483b2d08e.ttf.gz", + "size": 267236, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-italic-webfont-d88a9e8476fabedea3b87fd0ba2df3b3.svg.gz", + "size": 268537, + "chunks": [], + "chunkNames": [], + "emitted": true, + "isOverSizeLimit": true + }, + { + "name": "roboto-bold-webfont-4cbd1966fc397282fa35d69070782b80.svg.gz", + "size": 236930, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "robotomono-regular-webfont-0ba95b3b2370e6bf1dcdb20aa3a54ff2.ttf.gz", + "size": 64145, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "Montserrat-Regular-6a18f75e59e23e7f23b8a4ef70d748cd.ttf.gz", + "size": 81297, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "robotomono-regular-webfont-51e9ccf8c829f4894a7e5a0883e864fc.svg.gz", + "size": 71718, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "logo-fe5141d38a25f50068b4c69b77ca1ec8.svg.gz", + "size": 658, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "logo_alt-6090911445f54a587465e41da77a6969.svg.gz", + "size": 540, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "logo_full-96e7a97fe469f75a23a74852b2478fa3.svg.gz", + "size": 1873, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "roboto-medium-webfont-f407ec033f15172c3c4acf75608dd11d.svg.gz", + "size": 237269, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "extra_polyfills-1caed55b56bce0471b41.js.gz", + "size": 4381, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "Montserrat-Medium-5f797490f806b3b229299f0a66de89c9.ttf.gz", + "size": 81104, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/compose-4617f6e912b5bfa71c43.js.gz", + "size": 20458, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.gz", + "size": 20001, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/public_timeline-d6e6bc704f49ebf922be.js.gz", + "size": 11757, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/community_timeline-20bc8a94c08809c127d0.js.gz", + "size": 11729, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.gz", + "size": 11280, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "base_polyfills-0e7cb02d7748745874eb.js.gz", + "size": 23166, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/notifications-99d27ff7a90c7f701400.js.gz", + "size": 8649, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/home_timeline-c146f32b0118845677ee.js.gz", + "size": 7134, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/account_timeline-cad2550e777d3958eca4.js.gz", + "size": 7162, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/pinned_statuses-fc56dd5916a37286e823.js.gz", + "size": 4823, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/favourited_statuses-b15a9a6cc711cca1eb76.js.gz", + "size": 4805, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/following-9060b3726e6ad25f3621.js.gz", + "size": 4845, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/status-1f1807fdb4d1fd6daf40.js.gz", + "size": 8087, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/account_gallery-b13924812f8dd47200c2.js.gz", + "size": 4591, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/followers-6716b8606f70dfa12ed7.js.gz", + "size": 4851, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "modals/report_modal-7a2950f40d4867b9cbb0.js.gz", + "size": 3236, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/mutes-60c139f123f8d11ed903.js.gz", + "size": 2509, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/follow_requests-281e5b40331385149920.js.gz", + "size": 2103, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/reblogs-e284a8647e830c151a40.js.gz", + "size": 2466, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/blocks-e9605338ea941de78465.js.gz", + "size": 2507, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/favourites-083fedd11007764f7fad.js.gz", + "size": 2466, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/getting_started-b65f1e917d66a972f2bf.js.gz", + "size": 2318, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "modals/embed_modal-c776fd6a0ea581675783.js.gz", + "size": 983, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "features/generic_not_found-dc757b4cfe00489a06fb.js.gz", + "size": 1014, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "status/media_gallery-7642f779bf4243e58b78.js.gz", + "size": 1883, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "application-1b1f37dff2aac402336b.js.gz", + "size": 19059, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "about-d6275c885cd0e28a1186.js.gz", + "size": 9780, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "public-88b87539fc95f07f2721.js.gz", + "size": 9781, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "roboto-regular-webfont-77dc6a0145954a963b95d30773543105.svg.gz", + "size": 234095, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_zh-TW-2ce95af6015c1c812a17.js.gz", + "size": 4674, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_zh-HK-b59fc4967cc8ed927fe9.js.gz", + "size": 4942, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_uk-1dc16dc9b7d7c6e9c566.js.gz", + "size": 5468, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_tr-71d85a06079f5471426f.js.gz", + "size": 4648, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_zh-CN-601e45ab96a4205d0315.js.gz", + "size": 4946, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_sv-a171cdf4deaf1e12bb0d.js.gz", + "size": 4439, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_th-9c80f19a54e11880465c.js.gz", + "size": 4029, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_pt-ab5ecfe44d3e665b5bb7.js.gz", + "size": 4450, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_ru-6976b8c1b98d9a59e933.js.gz", + "size": 5482, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_pt-BR-d2e312d147c156be6d25.js.gz", + "size": 4639, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_oc-5db5b324864d5986ca40.js.gz", + "size": 4377, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_no-a905e439e333e8a75417.js.gz", + "size": 4214, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "share-914b479bea45d0f6d4aa.js.gz", + "size": 22278, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_pl-a29786d2e8e517933a46.js.gz", + "size": 4879, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_ja-d62b9a98f6d06252f969.js.gz", + "size": 4683, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_it-e0da50e91bbf1d0ca7cd.js.gz", + "size": 4338, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_ko-6095b6a5356744e8c0fa.js.gz", + "size": 4585, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_id-fab008a8becc89597587.js.gz", + "size": 4240, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_nl-eb63a7c19f056d7aad37.js.gz", + "size": 4552, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_hu-2bb0c40f1c7f66e27e2d.js.gz", + "size": 4239, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_hr-e2d2f61a68ccc0db5448.js.gz", + "size": 4646, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_he-005e46857d05c85ee2eb.js.gz", + "size": 4922, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_fi-a0bb536510dfb7fe46e7.js.gz", + "size": 4288, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_fa-36da2b4b7fce9ee445d4.js.gz", + "size": 4906, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_fr-abab8a49160466298d03.js.gz", + "size": 4812, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_eo-907e661a2a8c6d12f600.js.gz", + "size": 4315, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_es-26cf29fe0ea58c648317.js.gz", + "size": 4609, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_de-bf72ca55e704d5a96788.js.gz", + "size": 4610, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_ca-04107d1a98af2b039204.js.gz", + "size": 4559, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_bg-c13dba4d26f870d592b2.js.gz", + "size": 4499, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_io-aa797a5ae99e86edda1b.js.gz", + "size": 4742, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "admin-1bab981afc4fd0d71402.js.gz", + "size": 532, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_ar-7d02662cc0cfffd6f6f9.js.gz", + "size": 5617, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "common-daadaac9454e7d14470e7954e3143dca.css.gz", + "size": 6688, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "locale_en-a0e3195e8a56398ec497.js.gz", + "size": 4520, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "manifest.json.gz", + "size": 3210, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "emoji_picker-9cf581d158c1cefc73c9.js.gz", + "size": 79693, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "default-818c1287ac3c764905d81e549d5e0160.css.gz", + "size": 25726, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "common-1789b98651001ef10c0b.js.gz", + "size": 208228, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "../assets/sw.js", + "size": 23052, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "appcache/manifest.appcache", + "size": 1788, + "chunks": [], + "chunkNames": [], + "emitted": true + }, + { + "name": "appcache/manifest.html", + "size": 58, + "chunks": [], + "chunkNames": [], + "emitted": true + } + ], + "filteredAssets": 0, + "entrypoints": { + "about": { + "chunks": [ + 65, + 29 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "about-d6275c885cd0e28a1186.js", + "about-d6275c885cd0e28a1186.js.map" + ], + "isOverSizeLimit": true + }, + "admin": { + "chunks": [ + 65, + 64 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "admin-1bab981afc4fd0d71402.js", + "admin-1bab981afc4fd0d71402.js.map" + ], + "isOverSizeLimit": true + }, + "application": { + "chunks": [ + 65, + 27 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "application-1b1f37dff2aac402336b.js", + "application-1b1f37dff2aac402336b.js.map" + ], + "isOverSizeLimit": true + }, + "common": { + "chunks": [ + 65 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map" + ], + "isOverSizeLimit": true + }, + "public": { + "chunks": [ + 65, + 30 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "public-88b87539fc95f07f2721.js", + "public-88b87539fc95f07f2721.js.map" + ], + "isOverSizeLimit": true + }, + "share": { + "chunks": [ + 65, + 28 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "share-914b479bea45d0f6d4aa.js", + "share-914b479bea45d0f6d4aa.js.map" + ], + "isOverSizeLimit": true + }, + "locale_ar": { + "chunks": [ + 65, + 62 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_ar-7d02662cc0cfffd6f6f9.js", + "locale_ar-7d02662cc0cfffd6f6f9.js.map" + ], + "isOverSizeLimit": true + }, + "locale_bg": { + "chunks": [ + 65, + 61 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_bg-c13dba4d26f870d592b2.js", + "locale_bg-c13dba4d26f870d592b2.js.map" + ], + "isOverSizeLimit": true + }, + "locale_ca": { + "chunks": [ + 65, + 60 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_ca-04107d1a98af2b039204.js", + "locale_ca-04107d1a98af2b039204.js.map" + ], + "isOverSizeLimit": true + }, + "locale_de": { + "chunks": [ + 65, + 59 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_de-bf72ca55e704d5a96788.js", + "locale_de-bf72ca55e704d5a96788.js.map" + ], + "isOverSizeLimit": true + }, + "locale_en": { + "chunks": [ + 65, + 58 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_en-a0e3195e8a56398ec497.js", + "locale_en-a0e3195e8a56398ec497.js.map" + ], + "isOverSizeLimit": true + }, + "locale_eo": { + "chunks": [ + 65, + 57 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_eo-907e661a2a8c6d12f600.js", + "locale_eo-907e661a2a8c6d12f600.js.map" + ], + "isOverSizeLimit": true + }, + "locale_es": { + "chunks": [ + 65, + 56 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_es-26cf29fe0ea58c648317.js", + "locale_es-26cf29fe0ea58c648317.js.map" + ], + "isOverSizeLimit": true + }, + "locale_fa": { + "chunks": [ + 65, + 55 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_fa-36da2b4b7fce9ee445d4.js", + "locale_fa-36da2b4b7fce9ee445d4.js.map" + ], + "isOverSizeLimit": true + }, + "locale_fi": { + "chunks": [ + 65, + 54 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_fi-a0bb536510dfb7fe46e7.js", + "locale_fi-a0bb536510dfb7fe46e7.js.map" + ], + "isOverSizeLimit": true + }, + "locale_fr": { + "chunks": [ + 65, + 53 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_fr-abab8a49160466298d03.js", + "locale_fr-abab8a49160466298d03.js.map" + ], + "isOverSizeLimit": true + }, + "locale_he": { + "chunks": [ + 65, + 52 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_he-005e46857d05c85ee2eb.js", + "locale_he-005e46857d05c85ee2eb.js.map" + ], + "isOverSizeLimit": true + }, + "locale_hr": { + "chunks": [ + 65, + 51 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_hr-e2d2f61a68ccc0db5448.js", + "locale_hr-e2d2f61a68ccc0db5448.js.map" + ], + "isOverSizeLimit": true + }, + "locale_hu": { + "chunks": [ + 65, + 50 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_hu-2bb0c40f1c7f66e27e2d.js", + "locale_hu-2bb0c40f1c7f66e27e2d.js.map" + ], + "isOverSizeLimit": true + }, + "locale_id": { + "chunks": [ + 65, + 49 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_id-fab008a8becc89597587.js", + "locale_id-fab008a8becc89597587.js.map" + ], + "isOverSizeLimit": true + }, + "locale_io": { + "chunks": [ + 65, + 48 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_io-aa797a5ae99e86edda1b.js", + "locale_io-aa797a5ae99e86edda1b.js.map" + ], + "isOverSizeLimit": true + }, + "locale_it": { + "chunks": [ + 65, + 47 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_it-e0da50e91bbf1d0ca7cd.js", + "locale_it-e0da50e91bbf1d0ca7cd.js.map" + ], + "isOverSizeLimit": true + }, + "locale_ja": { + "chunks": [ + 65, + 46 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_ja-d62b9a98f6d06252f969.js", + "locale_ja-d62b9a98f6d06252f969.js.map" + ], + "isOverSizeLimit": true + }, + "locale_ko": { + "chunks": [ + 65, + 45 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_ko-6095b6a5356744e8c0fa.js", + "locale_ko-6095b6a5356744e8c0fa.js.map" + ], + "isOverSizeLimit": true + }, + "locale_nl": { + "chunks": [ + 65, + 44 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_nl-eb63a7c19f056d7aad37.js", + "locale_nl-eb63a7c19f056d7aad37.js.map" + ], + "isOverSizeLimit": true + }, + "locale_no": { + "chunks": [ + 65, + 43 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_no-a905e439e333e8a75417.js", + "locale_no-a905e439e333e8a75417.js.map" + ], + "isOverSizeLimit": true + }, + "locale_oc": { + "chunks": [ + 65, + 42 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_oc-5db5b324864d5986ca40.js", + "locale_oc-5db5b324864d5986ca40.js.map" + ], + "isOverSizeLimit": true + }, + "locale_pl": { + "chunks": [ + 65, + 41 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_pl-a29786d2e8e517933a46.js", + "locale_pl-a29786d2e8e517933a46.js.map" + ], + "isOverSizeLimit": true + }, + "locale_pt-BR": { + "chunks": [ + 65, + 40 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_pt-BR-d2e312d147c156be6d25.js", + "locale_pt-BR-d2e312d147c156be6d25.js.map" + ], + "isOverSizeLimit": true + }, + "locale_pt": { + "chunks": [ + 65, + 39 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_pt-ab5ecfe44d3e665b5bb7.js", + "locale_pt-ab5ecfe44d3e665b5bb7.js.map" + ], + "isOverSizeLimit": true + }, + "locale_ru": { + "chunks": [ + 65, + 38 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_ru-6976b8c1b98d9a59e933.js", + "locale_ru-6976b8c1b98d9a59e933.js.map" + ], + "isOverSizeLimit": true + }, + "locale_sv": { + "chunks": [ + 65, + 37 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_sv-a171cdf4deaf1e12bb0d.js", + "locale_sv-a171cdf4deaf1e12bb0d.js.map" + ], + "isOverSizeLimit": true + }, + "locale_th": { + "chunks": [ + 65, + 36 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_th-9c80f19a54e11880465c.js", + "locale_th-9c80f19a54e11880465c.js.map" + ], + "isOverSizeLimit": true + }, + "locale_tr": { + "chunks": [ + 65, + 35 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_tr-71d85a06079f5471426f.js", + "locale_tr-71d85a06079f5471426f.js.map" + ], + "isOverSizeLimit": true + }, + "locale_uk": { + "chunks": [ + 65, + 34 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_uk-1dc16dc9b7d7c6e9c566.js", + "locale_uk-1dc16dc9b7d7c6e9c566.js.map" + ], + "isOverSizeLimit": true + }, + "locale_zh-CN": { + "chunks": [ + 65, + 33 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_zh-CN-601e45ab96a4205d0315.js", + "locale_zh-CN-601e45ab96a4205d0315.js.map" + ], + "isOverSizeLimit": true + }, + "locale_zh-HK": { + "chunks": [ + 65, + 32 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_zh-HK-b59fc4967cc8ed927fe9.js", + "locale_zh-HK-b59fc4967cc8ed927fe9.js.map" + ], + "isOverSizeLimit": true + }, + "locale_zh-TW": { + "chunks": [ + 65, + 31 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "locale_zh-TW-2ce95af6015c1c812a17.js", + "locale_zh-TW-2ce95af6015c1c812a17.js.map" + ], + "isOverSizeLimit": true + }, + "default": { + "chunks": [ + 65, + 63 + ], + "assets": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map", + "default-99ffdcf166b2dedef105.js", + "default-818c1287ac3c764905d81e549d5e0160.css", + "default-99ffdcf166b2dedef105.js.map", + "default-818c1287ac3c764905d81e549d5e0160.css.map" + ], + "isOverSizeLimit": true + } + }, + "chunks": [ + { + "id": 0, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 252908, + "names": [ + "base_polyfills" + ], + "files": [ + "base_polyfills-0e7cb02d7748745874eb.js", + "base_polyfills-0e7cb02d7748745874eb.js.map" + ], + "hash": "0e7cb02d7748745874eb", + "parents": [ + 27, + 28, + 29, + 30 + ], + "modules": [ + { + "id": 749, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "name": "./app/javascript/mastodon/base_polyfills.js", + "index": 2, + "index2": 58, + "size": 338, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/load_polyfills.js", + "issuerId": 75, + "issuerName": "./app/javascript/mastodon/load_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 75, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/load_polyfills.js", + "module": "./app/javascript/mastodon/load_polyfills.js", + "moduleName": "./app/javascript/mastodon/load_polyfills.js", + "type": "import()", + "userRequest": "./base_polyfills", + "loc": "6:9-76" + } + ], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 2, + "source": "import 'intl';\nimport 'intl/locale-data/jsonp/en';\nimport 'es6-symbol/implement';\nimport includes from 'array-includes';\nimport assign from 'object-assign';\nimport isNaN from 'is-nan';\n\nif (!Array.prototype.includes) {\n includes.shim();\n}\n\nif (!Object.assign) {\n Object.assign = assign;\n}\n\nif (!Number.isNaN) {\n Number.isNaN = isNaN;\n}" + }, + { + "id": 795, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/define-properties/index.js", + "name": "./node_modules/define-properties/index.js", + "index": 30, + "index2": 29, + "size": 1548, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "issuerId": 846, + "issuerName": "./node_modules/array-includes/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 846, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "module": "./node_modules/array-includes/index.js", + "moduleName": "./node_modules/array-includes/index.js", + "type": "cjs require", + "userRequest": "define-properties", + "loc": "3:13-41" + }, + { + "moduleId": 860, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/shim.js", + "module": "./node_modules/array-includes/shim.js", + "moduleName": "./node_modules/array-includes/shim.js", + "type": "cjs require", + "userRequest": "define-properties", + "loc": "3:13-41" + }, + { + "moduleId": 861, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/index.js", + "module": "./node_modules/is-nan/index.js", + "moduleName": "./node_modules/is-nan/index.js", + "type": "cjs require", + "userRequest": "define-properties", + "loc": "3:13-41" + }, + { + "moduleId": 862, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/shim.js", + "module": "./node_modules/is-nan/shim.js", + "moduleName": "./node_modules/is-nan/shim.js", + "type": "cjs require", + "userRequest": "define-properties", + "loc": "3:13-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nvar keys = require('object-keys');\nvar foreach = require('foreach');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';\n\nvar toStr = Object.prototype.toString;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\tObject.defineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t/* eslint-disable no-unused-vars, no-restricted-syntax */\n\t\tfor (var _ in obj) {\n\t\t\treturn false;\n\t\t}\n\t\t/* eslint-enable no-unused-vars, no-restricted-syntax */\n\t\treturn obj.x === obj;\n\t} catch (e) {\n\t\t/* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\tObject.defineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = props.concat(Object.getOwnPropertySymbols(map));\n\t}\n\tforeach(props, function (name) {\n\t\tdefineProperty(object, name, map[name], predicates[name]);\n\t});\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;" + }, + { + "id": 797, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/is-value.js", + "name": "./node_modules/es5-ext/object/is-value.js", + "index": 19, + "index2": 10, + "size": 168, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/normalize-options.js", + "issuerId": 839, + "issuerName": "./node_modules/es5-ext/object/normalize-options.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 836, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/keys/shim.js", + "module": "./node_modules/es5-ext/object/keys/shim.js", + "moduleName": "./node_modules/es5-ext/object/keys/shim.js", + "type": "cjs require", + "userRequest": "../is-value", + "loc": "3:14-36" + }, + { + "moduleId": 838, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/valid-value.js", + "module": "./node_modules/es5-ext/object/valid-value.js", + "moduleName": "./node_modules/es5-ext/object/valid-value.js", + "type": "cjs require", + "userRequest": "./is-value", + "loc": "3:14-35" + }, + { + "moduleId": 839, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/normalize-options.js", + "module": "./node_modules/es5-ext/object/normalize-options.js", + "moduleName": "./node_modules/es5-ext/object/normalize-options.js", + "type": "cjs require", + "userRequest": "./is-value", + "loc": "3:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) {\n return val !== _undefined && val !== null;\n};" + }, + { + "id": 798, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/has/src/index.js", + "name": "./node_modules/has/src/index.js", + "index": 36, + "index2": 32, + "size": 113, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "has", + "loc": "3:10-24" + }, + { + "moduleId": 857, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es5.js", + "module": "./node_modules/es-abstract/es5.js", + "moduleName": "./node_modules/es-abstract/es5.js", + "type": "cjs require", + "userRequest": "has", + "loc": "12:10-24" + }, + { + "moduleId": 859, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-regex/index.js", + "module": "./node_modules/is-regex/index.js", + "moduleName": "./node_modules/is-regex/index.js", + "type": "cjs require", + "userRequest": "has", + "loc": "3:10-24" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);" + }, + { + "id": 799, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-callable/index.js", + "name": "./node_modules/is-callable/index.js", + "index": 41, + "index2": 34, + "size": 1266, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es5.js", + "issuerId": 857, + "issuerName": "./node_modules/es-abstract/es5.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 852, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es6.js", + "module": "./node_modules/es-to-primitive/es6.js", + "moduleName": "./node_modules/es-to-primitive/es6.js", + "type": "cjs require", + "userRequest": "is-callable", + "loc": "6:17-39" + }, + { + "moduleId": 857, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es5.js", + "module": "./node_modules/es-abstract/es5.js", + "moduleName": "./node_modules/es-abstract/es5.js", + "type": "cjs require", + "userRequest": "is-callable", + "loc": "9:17-39" + }, + { + "moduleId": 858, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es5.js", + "module": "./node_modules/es-to-primitive/es5.js", + "moduleName": "./node_modules/es-to-primitive/es5.js", + "type": "cjs require", + "userRequest": "is-callable", + "loc": "7:17-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar fnToStr = Function.prototype.toString;\n\nvar constructorRegex = /^\\s*class /;\nvar isES6ClassFn = function isES6ClassFn(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\tvar singleStripped = fnStr.replace(/\\/\\/.*\\n/g, '');\n\t\tvar multiStripped = singleStripped.replace(/\\/\\*[.\\s\\S]*\\*\\//g, '');\n\t\tvar spaceStripped = multiStripped.replace(/\\n/mg, ' ').replace(/ {2}/g, ' ');\n\t\treturn constructorRegex.test(spaceStripped);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionObject(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) {\n\t\t\treturn false;\n\t\t}\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isCallable(value) {\n\tif (!value) {\n\t\treturn false;\n\t}\n\tif (typeof value !== 'function' && typeof value !== 'object') {\n\t\treturn false;\n\t}\n\tif (hasToStringTag) {\n\t\treturn tryFunctionObject(value);\n\t}\n\tif (isES6ClassFn(value)) {\n\t\treturn false;\n\t}\n\tvar strClass = toStr.call(value);\n\treturn strClass === fnClass || strClass === genClass;\n};" + }, + { + "id": 806, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es6.js", + "name": "./node_modules/es-abstract/es6.js", + "index": 34, + "index2": 48, + "size": 52, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "issuerId": 846, + "issuerName": "./node_modules/array-includes/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 813, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/implementation.js", + "module": "./node_modules/array-includes/implementation.js", + "moduleName": "./node_modules/array-includes/implementation.js", + "type": "cjs require", + "userRequest": "es-abstract/es6", + "loc": "3:9-35" + }, + { + "moduleId": 846, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "module": "./node_modules/array-includes/index.js", + "moduleName": "./node_modules/array-includes/index.js", + "type": "cjs require", + "userRequest": "es-abstract/es6", + "loc": "4:9-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nmodule.exports = require('./es2015');" + }, + { + "id": 807, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/function-bind/index.js", + "name": "./node_modules/function-bind/index.js", + "index": 37, + "index2": 31, + "size": 125, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 798, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/has/src/index.js", + "module": "./node_modules/has/src/index.js", + "moduleName": "./node_modules/has/src/index.js", + "type": "cjs require", + "userRequest": "function-bind", + "loc": "1:11-35" + }, + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "function-bind", + "loc": "18:11-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;" + }, + { + "id": 808, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/helpers/isPrimitive.js", + "name": "./node_modules/es-to-primitive/helpers/isPrimitive.js", + "index": 40, + "index2": 33, + "size": 133, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es6.js", + "issuerId": 852, + "issuerName": "./node_modules/es-to-primitive/es6.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 852, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es6.js", + "module": "./node_modules/es-to-primitive/es6.js", + "moduleName": "./node_modules/es-to-primitive/es6.js", + "type": "cjs require", + "userRequest": "./helpers/isPrimitive", + "loc": "5:18-50" + }, + { + "moduleId": 858, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es5.js", + "module": "./node_modules/es-to-primitive/es5.js", + "moduleName": "./node_modules/es-to-primitive/es5.js", + "type": "cjs require", + "userRequest": "./helpers/isPrimitive", + "loc": "5:18-50" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "module.exports = function isPrimitive(value) {\n\treturn value === null || typeof value !== 'function' && typeof value !== 'object';\n};" + }, + { + "id": 809, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/helpers/isNaN.js", + "name": "./node_modules/es-abstract/helpers/isNaN.js", + "index": 44, + "index2": 38, + "size": 72, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "./helpers/isNaN", + "loc": "9:13-39" + }, + { + "moduleId": 857, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es5.js", + "module": "./node_modules/es-abstract/es5.js", + "moduleName": "./node_modules/es-abstract/es5.js", + "type": "cjs require", + "userRequest": "./helpers/isNaN", + "loc": "3:13-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "module.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};" + }, + { + "id": 810, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/helpers/isFinite.js", + "name": "./node_modules/es-abstract/helpers/isFinite.js", + "index": 45, + "index2": 39, + "size": 202, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "./helpers/isFinite", + "loc": "10:16-45" + }, + { + "moduleId": 857, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es5.js", + "module": "./node_modules/es-abstract/es5.js", + "moduleName": "./node_modules/es-abstract/es5.js", + "type": "cjs require", + "userRequest": "./helpers/isFinite", + "loc": "4:16-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var $isNaN = Number.isNaN || function (a) {\n return a !== a;\n};\n\nmodule.exports = Number.isFinite || function (x) {\n return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity;\n};" + }, + { + "id": 811, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/helpers/sign.js", + "name": "./node_modules/es-abstract/helpers/sign.js", + "index": 47, + "index2": 41, + "size": 73, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "./helpers/sign", + "loc": "14:11-36" + }, + { + "moduleId": 857, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es5.js", + "module": "./node_modules/es-abstract/es5.js", + "moduleName": "./node_modules/es-abstract/es5.js", + "type": "cjs require", + "userRequest": "./helpers/sign", + "loc": "6:11-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "module.exports = function sign(number) {\n\treturn number >= 0 ? 1 : -1;\n};" + }, + { + "id": 812, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/helpers/mod.js", + "name": "./node_modules/es-abstract/helpers/mod.js", + "index": 48, + "index2": 42, + "size": 141, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "./helpers/mod", + "loc": "15:10-34" + }, + { + "moduleId": 857, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es5.js", + "module": "./node_modules/es-abstract/es5.js", + "moduleName": "./node_modules/es-abstract/es5.js", + "type": "cjs require", + "userRequest": "./helpers/mod", + "loc": "7:10-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "module.exports = function mod(number, modulo) {\n\tvar remain = number % modulo;\n\treturn Math.floor(remain >= 0 ? remain : remain + modulo);\n};" + }, + { + "id": 813, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/implementation.js", + "name": "./node_modules/array-includes/implementation.js", + "index": 53, + "index2": 49, + "size": 850, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "issuerId": 846, + "issuerName": "./node_modules/array-includes/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 814, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/polyfill.js", + "module": "./node_modules/array-includes/polyfill.js", + "moduleName": "./node_modules/array-includes/polyfill.js", + "type": "cjs require", + "userRequest": "./implementation", + "loc": "3:21-48" + }, + { + "moduleId": 846, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "module": "./node_modules/array-includes/index.js", + "moduleName": "./node_modules/array-includes/index.js", + "type": "cjs require", + "userRequest": "./implementation", + "loc": "6:21-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nvar ES = require('es-abstract/es6');\nvar $isNaN = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\nvar $isFinite = Number.isFinite || function isFinite(n) {\n\treturn typeof n === 'number' && global.isFinite(n);\n};\nvar indexOf = Array.prototype.indexOf;\n\nmodule.exports = function includes(searchElement) {\n\tvar fromIndex = arguments.length > 1 ? ES.ToInteger(arguments[1]) : 0;\n\tif (indexOf && !$isNaN(searchElement) && $isFinite(fromIndex) && typeof searchElement !== 'undefined') {\n\t\treturn indexOf.apply(this, arguments) > -1;\n\t}\n\n\tvar O = ES.ToObject(this);\n\tvar length = ES.ToLength(O.length);\n\tif (length === 0) {\n\t\treturn false;\n\t}\n\tvar k = fromIndex >= 0 ? fromIndex : Math.max(0, length + fromIndex);\n\twhile (k < length) {\n\t\tif (ES.SameValueZero(searchElement, O[k])) {\n\t\t\treturn true;\n\t\t}\n\t\tk += 1;\n\t}\n\treturn false;\n};" + }, + { + "id": 814, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/polyfill.js", + "name": "./node_modules/array-includes/polyfill.js", + "index": 54, + "index2": 50, + "size": 162, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "issuerId": 846, + "issuerName": "./node_modules/array-includes/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 846, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "module": "./node_modules/array-includes/index.js", + "moduleName": "./node_modules/array-includes/index.js", + "type": "cjs require", + "userRequest": "./polyfill", + "loc": "7:18-39" + }, + { + "moduleId": 860, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/shim.js", + "module": "./node_modules/array-includes/shim.js", + "moduleName": "./node_modules/array-includes/shim.js", + "type": "cjs require", + "userRequest": "./polyfill", + "loc": "4:18-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn Array.prototype.includes || implementation;\n};" + }, + { + "id": 815, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/implementation.js", + "name": "./node_modules/is-nan/implementation.js", + "index": 58, + "index2": 54, + "size": 155, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/index.js", + "issuerId": 861, + "issuerName": "./node_modules/is-nan/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 816, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/polyfill.js", + "module": "./node_modules/is-nan/polyfill.js", + "moduleName": "./node_modules/is-nan/polyfill.js", + "type": "cjs require", + "userRequest": "./implementation", + "loc": "3:21-48" + }, + { + "moduleId": 861, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/index.js", + "module": "./node_modules/is-nan/index.js", + "moduleName": "./node_modules/is-nan/index.js", + "type": "cjs require", + "userRequest": "./implementation", + "loc": "5:21-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};" + }, + { + "id": 816, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/polyfill.js", + "name": "./node_modules/is-nan/polyfill.js", + "index": 59, + "index2": 55, + "size": 224, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/index.js", + "issuerId": 861, + "issuerName": "./node_modules/is-nan/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 861, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/index.js", + "module": "./node_modules/is-nan/index.js", + "moduleName": "./node_modules/is-nan/index.js", + "type": "cjs require", + "userRequest": "./polyfill", + "loc": "6:18-39" + }, + { + "moduleId": 862, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/shim.js", + "module": "./node_modules/is-nan/shim.js", + "moduleName": "./node_modules/is-nan/shim.js", + "type": "cjs require", + "userRequest": "./polyfill", + "loc": "4:18-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};" + }, + { + "id": 822, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl/index.js", + "name": "./node_modules/intl/index.js", + "index": 3, + "index2": 3, + "size": 573, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "issuerId": 749, + "issuerName": "./app/javascript/mastodon/base_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 749, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "module": "./app/javascript/mastodon/base_polyfills.js", + "moduleName": "./app/javascript/mastodon/base_polyfills.js", + "type": "harmony import", + "userRequest": "intl", + "loc": "1:0-14" + } + ], + "usedExports": false, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "// Expose `IntlPolyfill` as global to add locale data into runtime later on.\nglobal.IntlPolyfill = require('./lib/core.js');\n\n// Require all locale data for `Intl`. This module will be\n// ignored when bundling for the browser with Browserify/Webpack.\nrequire('./locale-data/complete.js');\n\n// hack to export the polyfill as global Intl if needed\nif (!global.Intl) {\n global.Intl = global.IntlPolyfill;\n global.IntlPolyfill.__applyLocaleSensitivePrototypes();\n}\n\n// providing an idiomatic api for the nodejs version of this module\nmodule.exports = global.IntlPolyfill;" + }, + { + "id": 823, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl/lib/core.js", + "name": "./node_modules/intl/lib/core.js", + "index": 5, + "index2": 1, + "size": 173683, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl/index.js", + "issuerId": 822, + "issuerName": "./node_modules/intl/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 822, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl/index.js", + "module": "./node_modules/intl/index.js", + "moduleName": "./node_modules/intl/index.js", + "type": "cjs require", + "userRequest": "./lib/core.js", + "loc": "2:22-46" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n\nvar jsx = function () {\n var REACT_ELEMENT_TYPE = typeof Symbol === \"function\" && Symbol.for && Symbol.for(\"react.element\") || 0xeac7;\n return function createRawReactElement(type, props, key, children) {\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n props = {};\n }\n\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n\n props.children = childArray;\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : '' + key,\n ref: null,\n props: props,\n _owner: null\n };\n };\n}();\n\nvar asyncToGenerator = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new Promise(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return Promise.resolve(value).then(function (value) {\n return step(\"next\", value);\n }, function (err) {\n return step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function 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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar defineEnumerableProperties = function (obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n return obj;\n};\n\nvar defaults = function (obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n};\n\nvar defineProperty$1 = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar _instanceof = function (left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n};\n\nvar interopRequireDefault = function (obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n};\n\nvar interopRequireWildcard = function (obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n};\n\nvar newArrowCheck = function (innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n};\n\nvar objectDestructuringEmpty = function (obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar selfGlobal = typeof global === \"undefined\" ? self : global;\n\nvar set = function set(object, property, value, receiver) {\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent !== null) {\n set(parent, property, value, receiver);\n }\n } else if (\"value\" in desc && desc.writable) {\n desc.value = value;\n } else {\n var setter = desc.set;\n\n if (setter !== undefined) {\n setter.call(receiver, value);\n }\n }\n\n return value;\n};\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\nvar slicedToArrayLoose = function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n var _arr = [];\n\n for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n _arr.push(_step.value);\n\n if (i && _arr.length === i) break;\n }\n\n return _arr;\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n};\n\nvar taggedTemplateLiteral = function (strings, raw) {\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n};\n\nvar taggedTemplateLiteralLoose = function (strings, raw) {\n strings.raw = raw;\n return strings;\n};\n\nvar temporalRef = function (val, name, undef) {\n if (val === undef) {\n throw new ReferenceError(name + \" is not defined - temporal dead zone\");\n } else {\n return val;\n }\n};\n\nvar temporalUndefined = {};\n\nvar toArray = function (arr) {\n return Array.isArray(arr) ? arr : Array.from(arr);\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar babelHelpers$1 = Object.freeze({\n jsx: jsx,\n asyncToGenerator: asyncToGenerator,\n classCallCheck: classCallCheck,\n createClass: createClass,\n defineEnumerableProperties: defineEnumerableProperties,\n defaults: defaults,\n defineProperty: defineProperty$1,\n get: get,\n inherits: inherits,\n interopRequireDefault: interopRequireDefault,\n interopRequireWildcard: interopRequireWildcard,\n newArrowCheck: newArrowCheck,\n objectDestructuringEmpty: objectDestructuringEmpty,\n objectWithoutProperties: objectWithoutProperties,\n possibleConstructorReturn: possibleConstructorReturn,\n selfGlobal: selfGlobal,\n set: set,\n slicedToArray: slicedToArray,\n slicedToArrayLoose: slicedToArrayLoose,\n taggedTemplateLiteral: taggedTemplateLiteral,\n taggedTemplateLiteralLoose: taggedTemplateLiteralLoose,\n temporalRef: temporalRef,\n temporalUndefined: temporalUndefined,\n toArray: toArray,\n toConsumableArray: toConsumableArray,\n typeof: _typeof,\n extends: _extends,\n instanceof: _instanceof\n});\n\nvar realDefineProp = function () {\n var sentinel = function sentinel() {};\n try {\n Object.defineProperty(sentinel, 'a', {\n get: function get() {\n return 1;\n }\n });\n Object.defineProperty(sentinel, 'prototype', { writable: false });\n return sentinel.a === 1 && sentinel.prototype instanceof Object;\n } catch (e) {\n return false;\n }\n}();\n\n// Need a workaround for getters in ES3\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\n// We use this a lot (and need it for proto-less objects)\nvar hop = Object.prototype.hasOwnProperty;\n\n// Naive defineProperty for compatibility\nvar defineProperty = realDefineProp ? Object.defineProperty : function (obj, name, desc) {\n if ('get' in desc && obj.__defineGetter__) obj.__defineGetter__(name, desc.get);else if (!hop.call(obj, name) || 'value' in desc) obj[name] = desc.value;\n};\n\n// Array.prototype.indexOf, as good as we need it to be\nvar arrIndexOf = Array.prototype.indexOf || function (search) {\n /*jshint validthis:true */\n var t = this;\n if (!t.length) return -1;\n\n for (var i = arguments[1] || 0, max = t.length; i < max; i++) {\n if (t[i] === search) return i;\n }\n\n return -1;\n};\n\n// Create an object with the specified prototype (2nd arg required for Record)\nvar objCreate = Object.create || function (proto, props) {\n var obj = void 0;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (var k in props) {\n if (hop.call(props, k)) defineProperty(obj, k, props[k]);\n }\n\n return obj;\n};\n\n// Snapshot some (hopefully still) native built-ins\nvar arrSlice = Array.prototype.slice;\nvar arrConcat = Array.prototype.concat;\nvar arrPush = Array.prototype.push;\nvar arrJoin = Array.prototype.join;\nvar arrShift = Array.prototype.shift;\n\n// Naive Function.prototype.bind for compatibility\nvar fnBind = Function.prototype.bind || function (thisObj) {\n var fn = this,\n args = arrSlice.call(arguments, 1);\n\n // All our (presently) bound functions have either 1 or 0 arguments. By returning\n // different function signatures, we can pass some tests in ES3 environments\n if (fn.length === 1) {\n return function () {\n return fn.apply(thisObj, arrConcat.call(args, arrSlice.call(arguments)));\n };\n }\n return function () {\n return fn.apply(thisObj, arrConcat.call(args, arrSlice.call(arguments)));\n };\n};\n\n// Object housing internal properties for constructors\nvar internals = objCreate(null);\n\n// Keep internal properties internal\nvar secret = Math.random();\n\n// Helper functions\n// ================\n\n/**\n * A function to deal with the inaccuracy of calculating log10 in pre-ES6\n * JavaScript environments. Math.log(num) / Math.LN10 was responsible for\n * causing issue #62.\n */\nfunction log10Floor(n) {\n // ES6 provides the more accurate Math.log10\n if (typeof Math.log10 === 'function') return Math.floor(Math.log10(n));\n\n var x = Math.round(Math.log(n) * Math.LOG10E);\n return x - (Number('1e' + x) > n);\n}\n\n/**\n * A map that doesn't contain Object in its prototype chain\n */\nfunction Record(obj) {\n // Copy only own properties over unless this object is already a Record instance\n for (var k in obj) {\n if (obj instanceof Record || hop.call(obj, k)) defineProperty(this, k, { value: obj[k], enumerable: true, writable: true, configurable: true });\n }\n}\nRecord.prototype = objCreate(null);\n\n/**\n * An ordered list\n */\nfunction List() {\n defineProperty(this, 'length', { writable: true, value: 0 });\n\n if (arguments.length) arrPush.apply(this, arrSlice.call(arguments));\n}\nList.prototype = objCreate(null);\n\n/**\n * Constructs a regular expression to restore tainted RegExp properties\n */\nfunction createRegExpRestore() {\n if (internals.disableRegExpRestore) {\n return function () {/* no-op */};\n }\n\n var regExpCache = {\n lastMatch: RegExp.lastMatch || '',\n leftContext: RegExp.leftContext,\n multiline: RegExp.multiline,\n input: RegExp.input\n },\n has = false;\n\n // Create a snapshot of all the 'captured' properties\n for (var i = 1; i <= 9; i++) {\n has = (regExpCache['$' + i] = RegExp['$' + i]) || has;\n }return function () {\n // Now we've snapshotted some properties, escape the lastMatch string\n var esc = /[.?*+^$[\\]\\\\(){}|-]/g,\n lm = regExpCache.lastMatch.replace(esc, '\\\\$&'),\n reg = new List();\n\n // If any of the captured strings were non-empty, iterate over them all\n if (has) {\n for (var _i = 1; _i <= 9; _i++) {\n var m = regExpCache['$' + _i];\n\n // If it's empty, add an empty capturing group\n if (!m) lm = '()' + lm;\n\n // Else find the string in lm and escape & wrap it to capture it\n else {\n m = m.replace(esc, '\\\\$&');\n lm = lm.replace(m, '(' + m + ')');\n }\n\n // Push it to the reg and chop lm to make sure further groups come after\n arrPush.call(reg, lm.slice(0, lm.indexOf('(') + 1));\n lm = lm.slice(lm.indexOf('(') + 1);\n }\n }\n\n var exprStr = arrJoin.call(reg, '') + lm;\n\n // Shorten the regex by replacing each part of the expression with a match\n // for a string of that exact length. This is safe for the type of\n // expressions generated above, because the expression matches the whole\n // match string, so we know each group and each segment between capturing\n // groups can be matched by its length alone.\n exprStr = exprStr.replace(/(\\\\\\(|\\\\\\)|[^()])+/g, function (match) {\n return '[\\\\s\\\\S]{' + match.replace('\\\\', '').length + '}';\n });\n\n // Create the regular expression that will reconstruct the RegExp properties\n var expr = new RegExp(exprStr, regExpCache.multiline ? 'gm' : 'g');\n\n // Set the lastIndex of the generated expression to ensure that the match\n // is found in the correct index.\n expr.lastIndex = regExpCache.leftContext.length;\n\n expr.exec(regExpCache.input);\n };\n}\n\n/**\n * Mimics ES5's abstract ToObject() function\n */\nfunction toObject(arg) {\n if (arg === null) throw new TypeError('Cannot convert null or undefined to object');\n\n if ((typeof arg === 'undefined' ? 'undefined' : babelHelpers$1['typeof'](arg)) === 'object') return arg;\n return Object(arg);\n}\n\nfunction toNumber(arg) {\n if (typeof arg === 'number') return arg;\n return Number(arg);\n}\n\nfunction toInteger(arg) {\n var number = toNumber(arg);\n if (isNaN(number)) return 0;\n if (number === +0 || number === -0 || number === +Infinity || number === -Infinity) return number;\n if (number < 0) return Math.floor(Math.abs(number)) * -1;\n return Math.floor(Math.abs(number));\n}\n\nfunction toLength(arg) {\n var len = toInteger(arg);\n if (len <= 0) return 0;\n if (len === Infinity) return Math.pow(2, 53) - 1;\n return Math.min(len, Math.pow(2, 53) - 1);\n}\n\n/**\n * Returns \"internal\" properties for an object\n */\nfunction getInternalProperties(obj) {\n if (hop.call(obj, '__getInternalProperties')) return obj.__getInternalProperties(secret);\n\n return objCreate(null);\n}\n\n/**\n* Defines regular expressions for various operations related to the BCP 47 syntax,\n* as defined at http://tools.ietf.org/html/bcp47#section-2.1\n*/\n\n// extlang = 3ALPHA ; selected ISO 639 codes\n// *2(\"-\" 3ALPHA) ; permanently reserved\nvar extlang = '[a-z]{3}(?:-[a-z]{3}){0,2}';\n\n// language = 2*3ALPHA ; shortest ISO 639 code\n// [\"-\" extlang] ; sometimes followed by\n// ; extended language subtags\n// / 4ALPHA ; or reserved for future use\n// / 5*8ALPHA ; or registered language subtag\nvar language = '(?:[a-z]{2,3}(?:-' + extlang + ')?|[a-z]{4}|[a-z]{5,8})';\n\n// script = 4ALPHA ; ISO 15924 code\nvar script = '[a-z]{4}';\n\n// region = 2ALPHA ; ISO 3166-1 code\n// / 3DIGIT ; UN M.49 code\nvar region = '(?:[a-z]{2}|\\\\d{3})';\n\n// variant = 5*8alphanum ; registered variants\n// / (DIGIT 3alphanum)\nvar variant = '(?:[a-z0-9]{5,8}|\\\\d[a-z0-9]{3})';\n\n// ; Single alphanumerics\n// ; \"x\" reserved for private use\n// singleton = DIGIT ; 0 - 9\n// / %x41-57 ; A - W\n// / %x59-5A ; Y - Z\n// / %x61-77 ; a - w\n// / %x79-7A ; y - z\nvar singleton = '[0-9a-wy-z]';\n\n// extension = singleton 1*(\"-\" (2*8alphanum))\nvar extension = singleton + '(?:-[a-z0-9]{2,8})+';\n\n// privateuse = \"x\" 1*(\"-\" (1*8alphanum))\nvar privateuse = 'x(?:-[a-z0-9]{1,8})+';\n\n// irregular = \"en-GB-oed\" ; irregular tags do not match\n// / \"i-ami\" ; the 'langtag' production and\n// / \"i-bnn\" ; would not otherwise be\n// / \"i-default\" ; considered 'well-formed'\n// / \"i-enochian\" ; These tags are all valid,\n// / \"i-hak\" ; but most are deprecated\n// / \"i-klingon\" ; in favor of more modern\n// / \"i-lux\" ; subtags or subtag\n// / \"i-mingo\" ; combination\n// / \"i-navajo\"\n// / \"i-pwn\"\n// / \"i-tao\"\n// / \"i-tay\"\n// / \"i-tsu\"\n// / \"sgn-BE-FR\"\n// / \"sgn-BE-NL\"\n// / \"sgn-CH-DE\"\nvar irregular = '(?:en-GB-oed' + '|i-(?:ami|bnn|default|enochian|hak|klingon|lux|mingo|navajo|pwn|tao|tay|tsu)' + '|sgn-(?:BE-FR|BE-NL|CH-DE))';\n\n// regular = \"art-lojban\" ; these tags match the 'langtag'\n// / \"cel-gaulish\" ; production, but their subtags\n// / \"no-bok\" ; are not extended language\n// / \"no-nyn\" ; or variant subtags: their meaning\n// / \"zh-guoyu\" ; is defined by their registration\n// / \"zh-hakka\" ; and all of these are deprecated\n// / \"zh-min\" ; in favor of a more modern\n// / \"zh-min-nan\" ; subtag or sequence of subtags\n// / \"zh-xiang\"\nvar regular = '(?:art-lojban|cel-gaulish|no-bok|no-nyn' + '|zh-(?:guoyu|hakka|min|min-nan|xiang))';\n\n// grandfathered = irregular ; non-redundant tags registered\n// / regular ; during the RFC 3066 era\nvar grandfathered = '(?:' + irregular + '|' + regular + ')';\n\n// langtag = language\n// [\"-\" script]\n// [\"-\" region]\n// *(\"-\" variant)\n// *(\"-\" extension)\n// [\"-\" privateuse]\nvar langtag = language + '(?:-' + script + ')?(?:-' + region + ')?(?:-' + variant + ')*(?:-' + extension + ')*(?:-' + privateuse + ')?';\n\n// Language-Tag = langtag ; normal language tags\n// / privateuse ; private use tag\n// / grandfathered ; grandfathered tags\nvar expBCP47Syntax = RegExp('^(?:' + langtag + '|' + privateuse + '|' + grandfathered + ')$', 'i');\n\n// Match duplicate variants in a language tag\nvar expVariantDupes = RegExp('^(?!x).*?-(' + variant + ')-(?:\\\\w{4,8}-(?!x-))*\\\\1\\\\b', 'i');\n\n// Match duplicate singletons in a language tag (except in private use)\nvar expSingletonDupes = RegExp('^(?!x).*?-(' + singleton + ')-(?:\\\\w+-(?!x-))*\\\\1\\\\b', 'i');\n\n// Match all extension sequences\nvar expExtSequences = RegExp('-' + extension, 'ig');\n\n// Default locale is the first-added locale data for us\nvar defaultLocale = void 0;\nfunction setDefaultLocale(locale) {\n defaultLocale = locale;\n}\n\n// IANA Subtag Registry redundant tag and subtag maps\nvar redundantTags = {\n tags: {\n \"art-lojban\": \"jbo\",\n \"i-ami\": \"ami\",\n \"i-bnn\": \"bnn\",\n \"i-hak\": \"hak\",\n \"i-klingon\": \"tlh\",\n \"i-lux\": \"lb\",\n \"i-navajo\": \"nv\",\n \"i-pwn\": \"pwn\",\n \"i-tao\": \"tao\",\n \"i-tay\": \"tay\",\n \"i-tsu\": \"tsu\",\n \"no-bok\": \"nb\",\n \"no-nyn\": \"nn\",\n \"sgn-BE-FR\": \"sfb\",\n \"sgn-BE-NL\": \"vgt\",\n \"sgn-CH-DE\": \"sgg\",\n \"zh-guoyu\": \"cmn\",\n \"zh-hakka\": \"hak\",\n \"zh-min-nan\": \"nan\",\n \"zh-xiang\": \"hsn\",\n \"sgn-BR\": \"bzs\",\n \"sgn-CO\": \"csn\",\n \"sgn-DE\": \"gsg\",\n \"sgn-DK\": \"dsl\",\n \"sgn-ES\": \"ssp\",\n \"sgn-FR\": \"fsl\",\n \"sgn-GB\": \"bfi\",\n \"sgn-GR\": \"gss\",\n \"sgn-IE\": \"isg\",\n \"sgn-IT\": \"ise\",\n \"sgn-JP\": \"jsl\",\n \"sgn-MX\": \"mfs\",\n \"sgn-NI\": \"ncs\",\n \"sgn-NL\": \"dse\",\n \"sgn-NO\": \"nsl\",\n \"sgn-PT\": \"psr\",\n \"sgn-SE\": \"swl\",\n \"sgn-US\": \"ase\",\n \"sgn-ZA\": \"sfs\",\n \"zh-cmn\": \"cmn\",\n \"zh-cmn-Hans\": \"cmn-Hans\",\n \"zh-cmn-Hant\": \"cmn-Hant\",\n \"zh-gan\": \"gan\",\n \"zh-wuu\": \"wuu\",\n \"zh-yue\": \"yue\"\n },\n subtags: {\n BU: \"MM\",\n DD: \"DE\",\n FX: \"FR\",\n TP: \"TL\",\n YD: \"YE\",\n ZR: \"CD\",\n heploc: \"alalc97\",\n 'in': \"id\",\n iw: \"he\",\n ji: \"yi\",\n jw: \"jv\",\n mo: \"ro\",\n ayx: \"nun\",\n bjd: \"drl\",\n ccq: \"rki\",\n cjr: \"mom\",\n cka: \"cmr\",\n cmk: \"xch\",\n drh: \"khk\",\n drw: \"prs\",\n gav: \"dev\",\n hrr: \"jal\",\n ibi: \"opa\",\n kgh: \"kml\",\n lcq: \"ppr\",\n mst: \"mry\",\n myt: \"mry\",\n sca: \"hle\",\n tie: \"ras\",\n tkk: \"twm\",\n tlw: \"weo\",\n tnf: \"prs\",\n ybd: \"rki\",\n yma: \"lrr\"\n },\n extLang: {\n aao: [\"aao\", \"ar\"],\n abh: [\"abh\", \"ar\"],\n abv: [\"abv\", \"ar\"],\n acm: [\"acm\", \"ar\"],\n acq: [\"acq\", \"ar\"],\n acw: [\"acw\", \"ar\"],\n acx: [\"acx\", \"ar\"],\n acy: [\"acy\", \"ar\"],\n adf: [\"adf\", \"ar\"],\n ads: [\"ads\", \"sgn\"],\n aeb: [\"aeb\", \"ar\"],\n aec: [\"aec\", \"ar\"],\n aed: [\"aed\", \"sgn\"],\n aen: [\"aen\", \"sgn\"],\n afb: [\"afb\", \"ar\"],\n afg: [\"afg\", \"sgn\"],\n ajp: [\"ajp\", \"ar\"],\n apc: [\"apc\", \"ar\"],\n apd: [\"apd\", \"ar\"],\n arb: [\"arb\", \"ar\"],\n arq: [\"arq\", \"ar\"],\n ars: [\"ars\", \"ar\"],\n ary: [\"ary\", \"ar\"],\n arz: [\"arz\", \"ar\"],\n ase: [\"ase\", \"sgn\"],\n asf: [\"asf\", \"sgn\"],\n asp: [\"asp\", \"sgn\"],\n asq: [\"asq\", \"sgn\"],\n asw: [\"asw\", \"sgn\"],\n auz: [\"auz\", \"ar\"],\n avl: [\"avl\", \"ar\"],\n ayh: [\"ayh\", \"ar\"],\n ayl: [\"ayl\", \"ar\"],\n ayn: [\"ayn\", \"ar\"],\n ayp: [\"ayp\", \"ar\"],\n bbz: [\"bbz\", \"ar\"],\n bfi: [\"bfi\", \"sgn\"],\n bfk: [\"bfk\", \"sgn\"],\n bjn: [\"bjn\", \"ms\"],\n bog: [\"bog\", \"sgn\"],\n bqn: [\"bqn\", \"sgn\"],\n bqy: [\"bqy\", \"sgn\"],\n btj: [\"btj\", \"ms\"],\n bve: [\"bve\", \"ms\"],\n bvl: [\"bvl\", \"sgn\"],\n bvu: [\"bvu\", \"ms\"],\n bzs: [\"bzs\", \"sgn\"],\n cdo: [\"cdo\", \"zh\"],\n cds: [\"cds\", \"sgn\"],\n cjy: [\"cjy\", \"zh\"],\n cmn: [\"cmn\", \"zh\"],\n coa: [\"coa\", \"ms\"],\n cpx: [\"cpx\", \"zh\"],\n csc: [\"csc\", \"sgn\"],\n csd: [\"csd\", \"sgn\"],\n cse: [\"cse\", \"sgn\"],\n csf: [\"csf\", \"sgn\"],\n csg: [\"csg\", \"sgn\"],\n csl: [\"csl\", \"sgn\"],\n csn: [\"csn\", \"sgn\"],\n csq: [\"csq\", \"sgn\"],\n csr: [\"csr\", \"sgn\"],\n czh: [\"czh\", \"zh\"],\n czo: [\"czo\", \"zh\"],\n doq: [\"doq\", \"sgn\"],\n dse: [\"dse\", \"sgn\"],\n dsl: [\"dsl\", \"sgn\"],\n dup: [\"dup\", \"ms\"],\n ecs: [\"ecs\", \"sgn\"],\n esl: [\"esl\", \"sgn\"],\n esn: [\"esn\", \"sgn\"],\n eso: [\"eso\", \"sgn\"],\n eth: [\"eth\", \"sgn\"],\n fcs: [\"fcs\", \"sgn\"],\n fse: [\"fse\", \"sgn\"],\n fsl: [\"fsl\", \"sgn\"],\n fss: [\"fss\", \"sgn\"],\n gan: [\"gan\", \"zh\"],\n gds: [\"gds\", \"sgn\"],\n gom: [\"gom\", \"kok\"],\n gse: [\"gse\", \"sgn\"],\n gsg: [\"gsg\", \"sgn\"],\n gsm: [\"gsm\", \"sgn\"],\n gss: [\"gss\", \"sgn\"],\n gus: [\"gus\", \"sgn\"],\n hab: [\"hab\", \"sgn\"],\n haf: [\"haf\", \"sgn\"],\n hak: [\"hak\", \"zh\"],\n hds: [\"hds\", \"sgn\"],\n hji: [\"hji\", \"ms\"],\n hks: [\"hks\", \"sgn\"],\n hos: [\"hos\", \"sgn\"],\n hps: [\"hps\", \"sgn\"],\n hsh: [\"hsh\", \"sgn\"],\n hsl: [\"hsl\", \"sgn\"],\n hsn: [\"hsn\", \"zh\"],\n icl: [\"icl\", \"sgn\"],\n ils: [\"ils\", \"sgn\"],\n inl: [\"inl\", \"sgn\"],\n ins: [\"ins\", \"sgn\"],\n ise: [\"ise\", \"sgn\"],\n isg: [\"isg\", \"sgn\"],\n isr: [\"isr\", \"sgn\"],\n jak: [\"jak\", \"ms\"],\n jax: [\"jax\", \"ms\"],\n jcs: [\"jcs\", \"sgn\"],\n jhs: [\"jhs\", \"sgn\"],\n jls: [\"jls\", \"sgn\"],\n jos: [\"jos\", \"sgn\"],\n jsl: [\"jsl\", \"sgn\"],\n jus: [\"jus\", \"sgn\"],\n kgi: [\"kgi\", \"sgn\"],\n knn: [\"knn\", \"kok\"],\n kvb: [\"kvb\", \"ms\"],\n kvk: [\"kvk\", \"sgn\"],\n kvr: [\"kvr\", \"ms\"],\n kxd: [\"kxd\", \"ms\"],\n lbs: [\"lbs\", \"sgn\"],\n lce: [\"lce\", \"ms\"],\n lcf: [\"lcf\", \"ms\"],\n liw: [\"liw\", \"ms\"],\n lls: [\"lls\", \"sgn\"],\n lsg: [\"lsg\", \"sgn\"],\n lsl: [\"lsl\", \"sgn\"],\n lso: [\"lso\", \"sgn\"],\n lsp: [\"lsp\", \"sgn\"],\n lst: [\"lst\", \"sgn\"],\n lsy: [\"lsy\", \"sgn\"],\n ltg: [\"ltg\", \"lv\"],\n lvs: [\"lvs\", \"lv\"],\n lzh: [\"lzh\", \"zh\"],\n max: [\"max\", \"ms\"],\n mdl: [\"mdl\", \"sgn\"],\n meo: [\"meo\", \"ms\"],\n mfa: [\"mfa\", \"ms\"],\n mfb: [\"mfb\", \"ms\"],\n mfs: [\"mfs\", \"sgn\"],\n min: [\"min\", \"ms\"],\n mnp: [\"mnp\", \"zh\"],\n mqg: [\"mqg\", \"ms\"],\n mre: [\"mre\", \"sgn\"],\n msd: [\"msd\", \"sgn\"],\n msi: [\"msi\", \"ms\"],\n msr: [\"msr\", \"sgn\"],\n mui: [\"mui\", \"ms\"],\n mzc: [\"mzc\", \"sgn\"],\n mzg: [\"mzg\", \"sgn\"],\n mzy: [\"mzy\", \"sgn\"],\n nan: [\"nan\", \"zh\"],\n nbs: [\"nbs\", \"sgn\"],\n ncs: [\"ncs\", \"sgn\"],\n nsi: [\"nsi\", \"sgn\"],\n nsl: [\"nsl\", \"sgn\"],\n nsp: [\"nsp\", \"sgn\"],\n nsr: [\"nsr\", \"sgn\"],\n nzs: [\"nzs\", \"sgn\"],\n okl: [\"okl\", \"sgn\"],\n orn: [\"orn\", \"ms\"],\n ors: [\"ors\", \"ms\"],\n pel: [\"pel\", \"ms\"],\n pga: [\"pga\", \"ar\"],\n pks: [\"pks\", \"sgn\"],\n prl: [\"prl\", \"sgn\"],\n prz: [\"prz\", \"sgn\"],\n psc: [\"psc\", \"sgn\"],\n psd: [\"psd\", \"sgn\"],\n pse: [\"pse\", \"ms\"],\n psg: [\"psg\", \"sgn\"],\n psl: [\"psl\", \"sgn\"],\n pso: [\"pso\", \"sgn\"],\n psp: [\"psp\", \"sgn\"],\n psr: [\"psr\", \"sgn\"],\n pys: [\"pys\", \"sgn\"],\n rms: [\"rms\", \"sgn\"],\n rsi: [\"rsi\", \"sgn\"],\n rsl: [\"rsl\", \"sgn\"],\n sdl: [\"sdl\", \"sgn\"],\n sfb: [\"sfb\", \"sgn\"],\n sfs: [\"sfs\", \"sgn\"],\n sgg: [\"sgg\", \"sgn\"],\n sgx: [\"sgx\", \"sgn\"],\n shu: [\"shu\", \"ar\"],\n slf: [\"slf\", \"sgn\"],\n sls: [\"sls\", \"sgn\"],\n sqk: [\"sqk\", \"sgn\"],\n sqs: [\"sqs\", \"sgn\"],\n ssh: [\"ssh\", \"ar\"],\n ssp: [\"ssp\", \"sgn\"],\n ssr: [\"ssr\", \"sgn\"],\n svk: [\"svk\", \"sgn\"],\n swc: [\"swc\", \"sw\"],\n swh: [\"swh\", \"sw\"],\n swl: [\"swl\", \"sgn\"],\n syy: [\"syy\", \"sgn\"],\n tmw: [\"tmw\", \"ms\"],\n tse: [\"tse\", \"sgn\"],\n tsm: [\"tsm\", \"sgn\"],\n tsq: [\"tsq\", \"sgn\"],\n tss: [\"tss\", \"sgn\"],\n tsy: [\"tsy\", \"sgn\"],\n tza: [\"tza\", \"sgn\"],\n ugn: [\"ugn\", \"sgn\"],\n ugy: [\"ugy\", \"sgn\"],\n ukl: [\"ukl\", \"sgn\"],\n uks: [\"uks\", \"sgn\"],\n urk: [\"urk\", \"ms\"],\n uzn: [\"uzn\", \"uz\"],\n uzs: [\"uzs\", \"uz\"],\n vgt: [\"vgt\", \"sgn\"],\n vkk: [\"vkk\", \"ms\"],\n vkt: [\"vkt\", \"ms\"],\n vsi: [\"vsi\", \"sgn\"],\n vsl: [\"vsl\", \"sgn\"],\n vsv: [\"vsv\", \"sgn\"],\n wuu: [\"wuu\", \"zh\"],\n xki: [\"xki\", \"sgn\"],\n xml: [\"xml\", \"sgn\"],\n xmm: [\"xmm\", \"ms\"],\n xms: [\"xms\", \"sgn\"],\n yds: [\"yds\", \"sgn\"],\n ysl: [\"ysl\", \"sgn\"],\n yue: [\"yue\", \"zh\"],\n zib: [\"zib\", \"sgn\"],\n zlm: [\"zlm\", \"ms\"],\n zmi: [\"zmi\", \"ms\"],\n zsl: [\"zsl\", \"sgn\"],\n zsm: [\"zsm\", \"ms\"]\n }\n};\n\n/**\n * Convert only a-z to uppercase as per section 6.1 of the spec\n */\nfunction toLatinUpperCase(str) {\n var i = str.length;\n\n while (i--) {\n var ch = str.charAt(i);\n\n if (ch >= \"a\" && ch <= \"z\") str = str.slice(0, i) + ch.toUpperCase() + str.slice(i + 1);\n }\n\n return str;\n}\n\n/**\n * The IsStructurallyValidLanguageTag abstract operation verifies that the locale\n * argument (which must be a String value)\n *\n * - represents a well-formed BCP 47 language tag as specified in RFC 5646 section\n * 2.1, or successor,\n * - does not include duplicate variant subtags, and\n * - does not include duplicate singleton subtags.\n *\n * The abstract operation returns true if locale can be generated from the ABNF\n * grammar in section 2.1 of the RFC, starting with Language-Tag, and does not\n * contain duplicate variant or singleton subtags (other than as a private use\n * subtag). It returns false otherwise. Terminal value characters in the grammar are\n * interpreted as the Unicode equivalents of the ASCII octet values given.\n */\nfunction /* 6.2.2 */IsStructurallyValidLanguageTag(locale) {\n // represents a well-formed BCP 47 language tag as specified in RFC 5646\n if (!expBCP47Syntax.test(locale)) return false;\n\n // does not include duplicate variant subtags, and\n if (expVariantDupes.test(locale)) return false;\n\n // does not include duplicate singleton subtags.\n if (expSingletonDupes.test(locale)) return false;\n\n return true;\n}\n\n/**\n * The CanonicalizeLanguageTag abstract operation returns the canonical and case-\n * regularized form of the locale argument (which must be a String value that is\n * a structurally valid BCP 47 language tag as verified by the\n * IsStructurallyValidLanguageTag abstract operation). It takes the steps\n * specified in RFC 5646 section 4.5, or successor, to bring the language tag\n * into canonical form, and to regularize the case of the subtags, but does not\n * take the steps to bring a language tag into “extlang form” and to reorder\n * variant subtags.\n\n * The specifications for extensions to BCP 47 language tags, such as RFC 6067,\n * may include canonicalization rules for the extension subtag sequences they\n * define that go beyond the canonicalization rules of RFC 5646 section 4.5.\n * Implementations are allowed, but not required, to apply these additional rules.\n */\nfunction /* 6.2.3 */CanonicalizeLanguageTag(locale) {\n var match = void 0,\n parts = void 0;\n\n // A language tag is in 'canonical form' when the tag is well-formed\n // according to the rules in Sections 2.1 and 2.2\n\n // Section 2.1 says all subtags use lowercase...\n locale = locale.toLowerCase();\n\n // ...with 2 exceptions: 'two-letter and four-letter subtags that neither\n // appear at the start of the tag nor occur after singletons. Such two-letter\n // subtags are all uppercase (as in the tags \"en-CA-x-ca\" or \"sgn-BE-FR\") and\n // four-letter subtags are titlecase (as in the tag \"az-Latn-x-latn\").\n parts = locale.split('-');\n for (var i = 1, max = parts.length; i < max; i++) {\n // Two-letter subtags are all uppercase\n if (parts[i].length === 2) parts[i] = parts[i].toUpperCase();\n\n // Four-letter subtags are titlecase\n else if (parts[i].length === 4) parts[i] = parts[i].charAt(0).toUpperCase() + parts[i].slice(1);\n\n // Is it a singleton?\n else if (parts[i].length === 1 && parts[i] !== 'x') break;\n }\n locale = arrJoin.call(parts, '-');\n\n // The steps laid out in RFC 5646 section 4.5 are as follows:\n\n // 1. Extension sequences are ordered into case-insensitive ASCII order\n // by singleton subtag.\n if ((match = locale.match(expExtSequences)) && match.length > 1) {\n // The built-in sort() sorts by ASCII order, so use that\n match.sort();\n\n // Replace all extensions with the joined, sorted array\n locale = locale.replace(RegExp('(?:' + expExtSequences.source + ')+', 'i'), arrJoin.call(match, ''));\n }\n\n // 2. Redundant or grandfathered tags are replaced by their 'Preferred-\n // Value', if there is one.\n if (hop.call(redundantTags.tags, locale)) locale = redundantTags.tags[locale];\n\n // 3. Subtags are replaced by their 'Preferred-Value', if there is one.\n // For extlangs, the original primary language subtag is also\n // replaced if there is a primary language subtag in the 'Preferred-\n // Value'.\n parts = locale.split('-');\n\n for (var _i = 1, _max = parts.length; _i < _max; _i++) {\n if (hop.call(redundantTags.subtags, parts[_i])) parts[_i] = redundantTags.subtags[parts[_i]];else if (hop.call(redundantTags.extLang, parts[_i])) {\n parts[_i] = redundantTags.extLang[parts[_i]][0];\n\n // For extlang tags, the prefix needs to be removed if it is redundant\n if (_i === 1 && redundantTags.extLang[parts[1]][1] === parts[0]) {\n parts = arrSlice.call(parts, _i++);\n _max -= 1;\n }\n }\n }\n\n return arrJoin.call(parts, '-');\n}\n\n/**\n * The DefaultLocale abstract operation returns a String value representing the\n * structurally valid (6.2.2) and canonicalized (6.2.3) BCP 47 language tag for the\n * host environment’s current locale.\n */\nfunction /* 6.2.4 */DefaultLocale() {\n return defaultLocale;\n}\n\n// Sect 6.3 Currency Codes\n// =======================\n\nvar expCurrencyCode = /^[A-Z]{3}$/;\n\n/**\n * The IsWellFormedCurrencyCode abstract operation verifies that the currency argument\n * (after conversion to a String value) represents a well-formed 3-letter ISO currency\n * code. The following steps are taken:\n */\nfunction /* 6.3.1 */IsWellFormedCurrencyCode(currency) {\n // 1. Let `c` be ToString(currency)\n var c = String(currency);\n\n // 2. Let `normalized` be the result of mapping c to upper case as described\n // in 6.1.\n var normalized = toLatinUpperCase(c);\n\n // 3. If the string length of normalized is not 3, return false.\n // 4. If normalized contains any character that is not in the range \"A\" to \"Z\"\n // (U+0041 to U+005A), return false.\n if (expCurrencyCode.test(normalized) === false) return false;\n\n // 5. Return true\n return true;\n}\n\nvar expUnicodeExSeq = /-u(?:-[0-9a-z]{2,8})+/gi; // See `extension` below\n\nfunction /* 9.2.1 */CanonicalizeLocaleList(locales) {\n // The abstract operation CanonicalizeLocaleList takes the following steps:\n\n // 1. If locales is undefined, then a. Return a new empty List\n if (locales === undefined) return new List();\n\n // 2. Let seen be a new empty List.\n var seen = new List();\n\n // 3. If locales is a String value, then\n // a. Let locales be a new array created as if by the expression new\n // Array(locales) where Array is the standard built-in constructor with\n // that name and locales is the value of locales.\n locales = typeof locales === 'string' ? [locales] : locales;\n\n // 4. Let O be ToObject(locales).\n var O = toObject(locales);\n\n // 5. Let lenValue be the result of calling the [[Get]] internal method of\n // O with the argument \"length\".\n // 6. Let len be ToUint32(lenValue).\n var len = toLength(O.length);\n\n // 7. Let k be 0.\n var k = 0;\n\n // 8. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ToString(k).\n var Pk = String(k);\n\n // b. Let kPresent be the result of calling the [[HasProperty]] internal\n // method of O with argument Pk.\n var kPresent = Pk in O;\n\n // c. If kPresent is true, then\n if (kPresent) {\n // i. Let kValue be the result of calling the [[Get]] internal\n // method of O with argument Pk.\n var kValue = O[Pk];\n\n // ii. If the type of kValue is not String or Object, then throw a\n // TypeError exception.\n if (kValue === null || typeof kValue !== 'string' && (typeof kValue === \"undefined\" ? \"undefined\" : babelHelpers$1[\"typeof\"](kValue)) !== 'object') throw new TypeError('String or Object type expected');\n\n // iii. Let tag be ToString(kValue).\n var tag = String(kValue);\n\n // iv. If the result of calling the abstract operation\n // IsStructurallyValidLanguageTag (defined in 6.2.2), passing tag as\n // the argument, is false, then throw a RangeError exception.\n if (!IsStructurallyValidLanguageTag(tag)) throw new RangeError(\"'\" + tag + \"' is not a structurally valid language tag\");\n\n // v. Let tag be the result of calling the abstract operation\n // CanonicalizeLanguageTag (defined in 6.2.3), passing tag as the\n // argument.\n tag = CanonicalizeLanguageTag(tag);\n\n // vi. If tag is not an element of seen, then append tag as the last\n // element of seen.\n if (arrIndexOf.call(seen, tag) === -1) arrPush.call(seen, tag);\n }\n\n // d. Increase k by 1.\n k++;\n }\n\n // 9. Return seen.\n return seen;\n}\n\n/**\n * The BestAvailableLocale abstract operation compares the provided argument\n * locale, which must be a String value with a structurally valid and\n * canonicalized BCP 47 language tag, against the locales in availableLocales and\n * returns either the longest non-empty prefix of locale that is an element of\n * availableLocales, or undefined if there is no such element. It uses the\n * fallback mechanism of RFC 4647, section 3.4. The following steps are taken:\n */\nfunction /* 9.2.2 */BestAvailableLocale(availableLocales, locale) {\n // 1. Let candidate be locale\n var candidate = locale;\n\n // 2. Repeat\n while (candidate) {\n // a. If availableLocales contains an element equal to candidate, then return\n // candidate.\n if (arrIndexOf.call(availableLocales, candidate) > -1) return candidate;\n\n // b. Let pos be the character index of the last occurrence of \"-\"\n // (U+002D) within candidate. If that character does not occur, return\n // undefined.\n var pos = candidate.lastIndexOf('-');\n\n if (pos < 0) return;\n\n // c. If pos ≥ 2 and the character \"-\" occurs at index pos-2 of candidate,\n // then decrease pos by 2.\n if (pos >= 2 && candidate.charAt(pos - 2) === '-') pos -= 2;\n\n // d. Let candidate be the substring of candidate from position 0, inclusive,\n // to position pos, exclusive.\n candidate = candidate.substring(0, pos);\n }\n}\n\n/**\n * The LookupMatcher abstract operation compares requestedLocales, which must be\n * a List as returned by CanonicalizeLocaleList, against the locales in\n * availableLocales and determines the best available language to meet the\n * request. The following steps are taken:\n */\nfunction /* 9.2.3 */LookupMatcher(availableLocales, requestedLocales) {\n // 1. Let i be 0.\n var i = 0;\n\n // 2. Let len be the number of elements in requestedLocales.\n var len = requestedLocales.length;\n\n // 3. Let availableLocale be undefined.\n var availableLocale = void 0;\n\n var locale = void 0,\n noExtensionsLocale = void 0;\n\n // 4. Repeat while i < len and availableLocale is undefined:\n while (i < len && !availableLocale) {\n // a. Let locale be the element of requestedLocales at 0-origined list\n // position i.\n locale = requestedLocales[i];\n\n // b. Let noExtensionsLocale be the String value that is locale with all\n // Unicode locale extension sequences removed.\n noExtensionsLocale = String(locale).replace(expUnicodeExSeq, '');\n\n // c. Let availableLocale be the result of calling the\n // BestAvailableLocale abstract operation (defined in 9.2.2) with\n // arguments availableLocales and noExtensionsLocale.\n availableLocale = BestAvailableLocale(availableLocales, noExtensionsLocale);\n\n // d. Increase i by 1.\n i++;\n }\n\n // 5. Let result be a new Record.\n var result = new Record();\n\n // 6. If availableLocale is not undefined, then\n if (availableLocale !== undefined) {\n // a. Set result.[[locale]] to availableLocale.\n result['[[locale]]'] = availableLocale;\n\n // b. If locale and noExtensionsLocale are not the same String value, then\n if (String(locale) !== String(noExtensionsLocale)) {\n // i. Let extension be the String value consisting of the first\n // substring of locale that is a Unicode locale extension sequence.\n var extension = locale.match(expUnicodeExSeq)[0];\n\n // ii. Let extensionIndex be the character position of the initial\n // \"-\" of the first Unicode locale extension sequence within locale.\n var extensionIndex = locale.indexOf('-u-');\n\n // iii. Set result.[[extension]] to extension.\n result['[[extension]]'] = extension;\n\n // iv. Set result.[[extensionIndex]] to extensionIndex.\n result['[[extensionIndex]]'] = extensionIndex;\n }\n }\n // 7. Else\n else\n // a. Set result.[[locale]] to the value returned by the DefaultLocale abstract\n // operation (defined in 6.2.4).\n result['[[locale]]'] = DefaultLocale();\n\n // 8. Return result\n return result;\n}\n\n/**\n * The BestFitMatcher abstract operation compares requestedLocales, which must be\n * a List as returned by CanonicalizeLocaleList, against the locales in\n * availableLocales and determines the best available language to meet the\n * request. The algorithm is implementation dependent, but should produce results\n * that a typical user of the requested locales would perceive as at least as\n * good as those produced by the LookupMatcher abstract operation. Options\n * specified through Unicode locale extension sequences must be ignored by the\n * algorithm. Information about such subsequences is returned separately.\n * The abstract operation returns a record with a [[locale]] field, whose value\n * is the language tag of the selected locale, which must be an element of\n * availableLocales. If the language tag of the request locale that led to the\n * selected locale contained a Unicode locale extension sequence, then the\n * returned record also contains an [[extension]] field whose value is the first\n * Unicode locale extension sequence, and an [[extensionIndex]] field whose value\n * is the index of the first Unicode locale extension sequence within the request\n * locale language tag.\n */\nfunction /* 9.2.4 */BestFitMatcher(availableLocales, requestedLocales) {\n return LookupMatcher(availableLocales, requestedLocales);\n}\n\n/**\n * The ResolveLocale abstract operation compares a BCP 47 language priority list\n * requestedLocales against the locales in availableLocales and determines the\n * best available language to meet the request. availableLocales and\n * requestedLocales must be provided as List values, options as a Record.\n */\nfunction /* 9.2.5 */ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData) {\n if (availableLocales.length === 0) {\n throw new ReferenceError('No locale data has been provided for this object yet.');\n }\n\n // The following steps are taken:\n // 1. Let matcher be the value of options.[[localeMatcher]].\n var matcher = options['[[localeMatcher]]'];\n\n var r = void 0;\n\n // 2. If matcher is \"lookup\", then\n if (matcher === 'lookup')\n // a. Let r be the result of calling the LookupMatcher abstract operation\n // (defined in 9.2.3) with arguments availableLocales and\n // requestedLocales.\n r = LookupMatcher(availableLocales, requestedLocales);\n\n // 3. Else\n else\n // a. Let r be the result of calling the BestFitMatcher abstract\n // operation (defined in 9.2.4) with arguments availableLocales and\n // requestedLocales.\n r = BestFitMatcher(availableLocales, requestedLocales);\n\n // 4. Let foundLocale be the value of r.[[locale]].\n var foundLocale = r['[[locale]]'];\n\n var extensionSubtags = void 0,\n extensionSubtagsLength = void 0;\n\n // 5. If r has an [[extension]] field, then\n if (hop.call(r, '[[extension]]')) {\n // a. Let extension be the value of r.[[extension]].\n var extension = r['[[extension]]'];\n // b. Let split be the standard built-in function object defined in ES5,\n // 15.5.4.14.\n var split = String.prototype.split;\n // c. Let extensionSubtags be the result of calling the [[Call]] internal\n // method of split with extension as the this value and an argument\n // list containing the single item \"-\".\n extensionSubtags = split.call(extension, '-');\n // d. Let extensionSubtagsLength be the result of calling the [[Get]]\n // internal method of extensionSubtags with argument \"length\".\n extensionSubtagsLength = extensionSubtags.length;\n }\n\n // 6. Let result be a new Record.\n var result = new Record();\n\n // 7. Set result.[[dataLocale]] to foundLocale.\n result['[[dataLocale]]'] = foundLocale;\n\n // 8. Let supportedExtension be \"-u\".\n var supportedExtension = '-u';\n // 9. Let i be 0.\n var i = 0;\n // 10. Let len be the result of calling the [[Get]] internal method of\n // relevantExtensionKeys with argument \"length\".\n var len = relevantExtensionKeys.length;\n\n // 11 Repeat while i < len:\n while (i < len) {\n // a. Let key be the result of calling the [[Get]] internal method of\n // relevantExtensionKeys with argument ToString(i).\n var key = relevantExtensionKeys[i];\n // b. Let foundLocaleData be the result of calling the [[Get]] internal\n // method of localeData with the argument foundLocale.\n var foundLocaleData = localeData[foundLocale];\n // c. Let keyLocaleData be the result of calling the [[Get]] internal\n // method of foundLocaleData with the argument key.\n var keyLocaleData = foundLocaleData[key];\n // d. Let value be the result of calling the [[Get]] internal method of\n // keyLocaleData with argument \"0\".\n var value = keyLocaleData['0'];\n // e. Let supportedExtensionAddition be \"\".\n var supportedExtensionAddition = '';\n // f. Let indexOf be the standard built-in function object defined in\n // ES5, 15.4.4.14.\n var indexOf = arrIndexOf;\n\n // g. If extensionSubtags is not undefined, then\n if (extensionSubtags !== undefined) {\n // i. Let keyPos be the result of calling the [[Call]] internal\n // method of indexOf with extensionSubtags as the this value and\n // an argument list containing the single item key.\n var keyPos = indexOf.call(extensionSubtags, key);\n\n // ii. If keyPos ≠ -1, then\n if (keyPos !== -1) {\n // 1. If keyPos + 1 < extensionSubtagsLength and the length of the\n // result of calling the [[Get]] internal method of\n // extensionSubtags with argument ToString(keyPos +1) is greater\n // than 2, then\n if (keyPos + 1 < extensionSubtagsLength && extensionSubtags[keyPos + 1].length > 2) {\n // a. Let requestedValue be the result of calling the [[Get]]\n // internal method of extensionSubtags with argument\n // ToString(keyPos + 1).\n var requestedValue = extensionSubtags[keyPos + 1];\n // b. Let valuePos be the result of calling the [[Call]]\n // internal method of indexOf with keyLocaleData as the\n // this value and an argument list containing the single\n // item requestedValue.\n var valuePos = indexOf.call(keyLocaleData, requestedValue);\n\n // c. If valuePos ≠ -1, then\n if (valuePos !== -1) {\n // i. Let value be requestedValue.\n value = requestedValue,\n // ii. Let supportedExtensionAddition be the\n // concatenation of \"-\", key, \"-\", and value.\n supportedExtensionAddition = '-' + key + '-' + value;\n }\n }\n // 2. Else\n else {\n // a. Let valuePos be the result of calling the [[Call]]\n // internal method of indexOf with keyLocaleData as the this\n // value and an argument list containing the single item\n // \"true\".\n var _valuePos = indexOf(keyLocaleData, 'true');\n\n // b. If valuePos ≠ -1, then\n if (_valuePos !== -1)\n // i. Let value be \"true\".\n value = 'true';\n }\n }\n }\n // h. If options has a field [[]], then\n if (hop.call(options, '[[' + key + ']]')) {\n // i. Let optionsValue be the value of options.[[]].\n var optionsValue = options['[[' + key + ']]'];\n\n // ii. If the result of calling the [[Call]] internal method of indexOf\n // with keyLocaleData as the this value and an argument list\n // containing the single item optionsValue is not -1, then\n if (indexOf.call(keyLocaleData, optionsValue) !== -1) {\n // 1. If optionsValue is not equal to value, then\n if (optionsValue !== value) {\n // a. Let value be optionsValue.\n value = optionsValue;\n // b. Let supportedExtensionAddition be \"\".\n supportedExtensionAddition = '';\n }\n }\n }\n // i. Set result.[[]] to value.\n result['[[' + key + ']]'] = value;\n\n // j. Append supportedExtensionAddition to supportedExtension.\n supportedExtension += supportedExtensionAddition;\n\n // k. Increase i by 1.\n i++;\n }\n // 12. If the length of supportedExtension is greater than 2, then\n if (supportedExtension.length > 2) {\n // a.\n var privateIndex = foundLocale.indexOf(\"-x-\");\n // b.\n if (privateIndex === -1) {\n // i.\n foundLocale = foundLocale + supportedExtension;\n }\n // c.\n else {\n // i.\n var preExtension = foundLocale.substring(0, privateIndex);\n // ii.\n var postExtension = foundLocale.substring(privateIndex);\n // iii.\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n // d. asserting - skipping\n // e.\n foundLocale = CanonicalizeLanguageTag(foundLocale);\n }\n // 13. Set result.[[locale]] to foundLocale.\n result['[[locale]]'] = foundLocale;\n\n // 14. Return result.\n return result;\n}\n\n/**\n * The LookupSupportedLocales abstract operation returns the subset of the\n * provided BCP 47 language priority list requestedLocales for which\n * availableLocales has a matching locale when using the BCP 47 Lookup algorithm.\n * Locales appear in the same order in the returned list as in requestedLocales.\n * The following steps are taken:\n */\nfunction /* 9.2.6 */LookupSupportedLocales(availableLocales, requestedLocales) {\n // 1. Let len be the number of elements in requestedLocales.\n var len = requestedLocales.length;\n // 2. Let subset be a new empty List.\n var subset = new List();\n // 3. Let k be 0.\n var k = 0;\n\n // 4. Repeat while k < len\n while (k < len) {\n // a. Let locale be the element of requestedLocales at 0-origined list\n // position k.\n var locale = requestedLocales[k];\n // b. Let noExtensionsLocale be the String value that is locale with all\n // Unicode locale extension sequences removed.\n var noExtensionsLocale = String(locale).replace(expUnicodeExSeq, '');\n // c. Let availableLocale be the result of calling the\n // BestAvailableLocale abstract operation (defined in 9.2.2) with\n // arguments availableLocales and noExtensionsLocale.\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionsLocale);\n\n // d. If availableLocale is not undefined, then append locale to the end of\n // subset.\n if (availableLocale !== undefined) arrPush.call(subset, locale);\n\n // e. Increment k by 1.\n k++;\n }\n\n // 5. Let subsetArray be a new Array object whose elements are the same\n // values in the same order as the elements of subset.\n var subsetArray = arrSlice.call(subset);\n\n // 6. Return subsetArray.\n return subsetArray;\n}\n\n/**\n * The BestFitSupportedLocales abstract operation returns the subset of the\n * provided BCP 47 language priority list requestedLocales for which\n * availableLocales has a matching locale when using the Best Fit Matcher\n * algorithm. Locales appear in the same order in the returned list as in\n * requestedLocales. The steps taken are implementation dependent.\n */\nfunction /*9.2.7 */BestFitSupportedLocales(availableLocales, requestedLocales) {\n // ###TODO: implement this function as described by the specification###\n return LookupSupportedLocales(availableLocales, requestedLocales);\n}\n\n/**\n * The SupportedLocales abstract operation returns the subset of the provided BCP\n * 47 language priority list requestedLocales for which availableLocales has a\n * matching locale. Two algorithms are available to match the locales: the Lookup\n * algorithm described in RFC 4647 section 3.4, and an implementation dependent\n * best-fit algorithm. Locales appear in the same order in the returned list as\n * in requestedLocales. The following steps are taken:\n */\nfunction /*9.2.8 */SupportedLocales(availableLocales, requestedLocales, options) {\n var matcher = void 0,\n subset = void 0;\n\n // 1. If options is not undefined, then\n if (options !== undefined) {\n // a. Let options be ToObject(options).\n options = new Record(toObject(options));\n // b. Let matcher be the result of calling the [[Get]] internal method of\n // options with argument \"localeMatcher\".\n matcher = options.localeMatcher;\n\n // c. If matcher is not undefined, then\n if (matcher !== undefined) {\n // i. Let matcher be ToString(matcher).\n matcher = String(matcher);\n\n // ii. If matcher is not \"lookup\" or \"best fit\", then throw a RangeError\n // exception.\n if (matcher !== 'lookup' && matcher !== 'best fit') throw new RangeError('matcher should be \"lookup\" or \"best fit\"');\n }\n }\n // 2. If matcher is undefined or \"best fit\", then\n if (matcher === undefined || matcher === 'best fit')\n // a. Let subset be the result of calling the BestFitSupportedLocales\n // abstract operation (defined in 9.2.7) with arguments\n // availableLocales and requestedLocales.\n subset = BestFitSupportedLocales(availableLocales, requestedLocales);\n // 3. Else\n else\n // a. Let subset be the result of calling the LookupSupportedLocales\n // abstract operation (defined in 9.2.6) with arguments\n // availableLocales and requestedLocales.\n subset = LookupSupportedLocales(availableLocales, requestedLocales);\n\n // 4. For each named own property name P of subset,\n for (var P in subset) {\n if (!hop.call(subset, P)) continue;\n\n // a. Let desc be the result of calling the [[GetOwnProperty]] internal\n // method of subset with P.\n // b. Set desc.[[Writable]] to false.\n // c. Set desc.[[Configurable]] to false.\n // d. Call the [[DefineOwnProperty]] internal method of subset with P, desc,\n // and true as arguments.\n defineProperty(subset, P, {\n writable: false, configurable: false, value: subset[P]\n });\n }\n // \"Freeze\" the array so no new elements can be added\n defineProperty(subset, 'length', { writable: false });\n\n // 5. Return subset\n return subset;\n}\n\n/**\n * The GetOption abstract operation extracts the value of the property named\n * property from the provided options object, converts it to the required type,\n * checks whether it is one of a List of allowed values, and fills in a fallback\n * value if necessary.\n */\nfunction /*9.2.9 */GetOption(options, property, type, values, fallback) {\n // 1. Let value be the result of calling the [[Get]] internal method of\n // options with argument property.\n var value = options[property];\n\n // 2. If value is not undefined, then\n if (value !== undefined) {\n // a. Assert: type is \"boolean\" or \"string\".\n // b. If type is \"boolean\", then let value be ToBoolean(value).\n // c. If type is \"string\", then let value be ToString(value).\n value = type === 'boolean' ? Boolean(value) : type === 'string' ? String(value) : value;\n\n // d. If values is not undefined, then\n if (values !== undefined) {\n // i. If values does not contain an element equal to value, then throw a\n // RangeError exception.\n if (arrIndexOf.call(values, value) === -1) throw new RangeError(\"'\" + value + \"' is not an allowed value for `\" + property + '`');\n }\n\n // e. Return value.\n return value;\n }\n // Else return fallback.\n return fallback;\n}\n\n/**\n * The GetNumberOption abstract operation extracts a property value from the\n * provided options object, converts it to a Number value, checks whether it is\n * in the allowed range, and fills in a fallback value if necessary.\n */\nfunction /* 9.2.10 */GetNumberOption(options, property, minimum, maximum, fallback) {\n // 1. Let value be the result of calling the [[Get]] internal method of\n // options with argument property.\n var value = options[property];\n\n // 2. If value is not undefined, then\n if (value !== undefined) {\n // a. Let value be ToNumber(value).\n value = Number(value);\n\n // b. If value is NaN or less than minimum or greater than maximum, throw a\n // RangeError exception.\n if (isNaN(value) || value < minimum || value > maximum) throw new RangeError('Value is not a number or outside accepted range');\n\n // c. Return floor(value).\n return Math.floor(value);\n }\n // 3. Else return fallback.\n return fallback;\n}\n\n// 8 The Intl Object\nvar Intl = {};\n\n// 8.2 Function Properties of the Intl Object\n\n// 8.2.1\n// @spec[tc39/ecma402/master/spec/intl.html]\n// @clause[sec-intl.getcanonicallocales]\nfunction getCanonicalLocales(locales) {\n // 1. Let ll be ? CanonicalizeLocaleList(locales).\n var ll = CanonicalizeLocaleList(locales);\n // 2. Return CreateArrayFromList(ll).\n {\n var result = [];\n\n var len = ll.length;\n var k = 0;\n\n while (k < len) {\n result[k] = ll[k];\n k++;\n }\n return result;\n }\n}\n\nObject.defineProperty(Intl, 'getCanonicalLocales', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: getCanonicalLocales\n});\n\n// Currency minor units output from get-4217 grunt task, formatted\nvar currencyMinorUnits = {\n BHD: 3, BYR: 0, XOF: 0, BIF: 0, XAF: 0, CLF: 4, CLP: 0, KMF: 0, DJF: 0,\n XPF: 0, GNF: 0, ISK: 0, IQD: 3, JPY: 0, JOD: 3, KRW: 0, KWD: 3, LYD: 3,\n OMR: 3, PYG: 0, RWF: 0, TND: 3, UGX: 0, UYI: 0, VUV: 0, VND: 0\n};\n\n// Define the NumberFormat constructor internally so it cannot be tainted\nfunction NumberFormatConstructor() {\n var locales = arguments[0];\n var options = arguments[1];\n\n if (!this || this === Intl) {\n return new Intl.NumberFormat(locales, options);\n }\n\n return InitializeNumberFormat(toObject(this), locales, options);\n}\n\ndefineProperty(Intl, 'NumberFormat', {\n configurable: true,\n writable: true,\n value: NumberFormatConstructor\n});\n\n// Must explicitly set prototypes as unwritable\ndefineProperty(Intl.NumberFormat, 'prototype', {\n writable: false\n});\n\n/**\n * The abstract operation InitializeNumberFormat accepts the arguments\n * numberFormat (which must be an object), locales, and options. It initializes\n * numberFormat as a NumberFormat object.\n */\nfunction /*11.1.1.1 */InitializeNumberFormat(numberFormat, locales, options) {\n // This will be a internal properties object if we're not already initialized\n var internal = getInternalProperties(numberFormat);\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore();\n\n // 1. If numberFormat has an [[initializedIntlObject]] internal property with\n // value true, throw a TypeError exception.\n if (internal['[[initializedIntlObject]]'] === true) throw new TypeError('`this` object has already been initialized as an Intl object');\n\n // Need this to access the `internal` object\n defineProperty(numberFormat, '__getInternalProperties', {\n value: function value() {\n // NOTE: Non-standard, for internal use only\n if (arguments[0] === secret) return internal;\n }\n });\n\n // 2. Set the [[initializedIntlObject]] internal property of numberFormat to true.\n internal['[[initializedIntlObject]]'] = true;\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n var requestedLocales = CanonicalizeLocaleList(locales);\n\n // 4. If options is undefined, then\n if (options === undefined)\n // a. Let options be the result of creating a new object as if by the\n // expression new Object() where Object is the standard built-in constructor\n // with that name.\n options = {};\n\n // 5. Else\n else\n // a. Let options be ToObject(options).\n options = toObject(options);\n\n // 6. Let opt be a new Record.\n var opt = new Record(),\n\n\n // 7. Let matcher be the result of calling the GetOption abstract operation\n // (defined in 9.2.9) with the arguments options, \"localeMatcher\", \"string\",\n // a List containing the two String values \"lookup\" and \"best fit\", and\n // \"best fit\".\n matcher = GetOption(options, 'localeMatcher', 'string', new List('lookup', 'best fit'), 'best fit');\n\n // 8. Set opt.[[localeMatcher]] to matcher.\n opt['[[localeMatcher]]'] = matcher;\n\n // 9. Let NumberFormat be the standard built-in object that is the initial value\n // of Intl.NumberFormat.\n // 10. Let localeData be the value of the [[localeData]] internal property of\n // NumberFormat.\n var localeData = internals.NumberFormat['[[localeData]]'];\n\n // 11. Let r be the result of calling the ResolveLocale abstract operation\n // (defined in 9.2.5) with the [[availableLocales]] internal property of\n // NumberFormat, requestedLocales, opt, the [[relevantExtensionKeys]]\n // internal property of NumberFormat, and localeData.\n var r = ResolveLocale(internals.NumberFormat['[[availableLocales]]'], requestedLocales, opt, internals.NumberFormat['[[relevantExtensionKeys]]'], localeData);\n\n // 12. Set the [[locale]] internal property of numberFormat to the value of\n // r.[[locale]].\n internal['[[locale]]'] = r['[[locale]]'];\n\n // 13. Set the [[numberingSystem]] internal property of numberFormat to the value\n // of r.[[nu]].\n internal['[[numberingSystem]]'] = r['[[nu]]'];\n\n // The specification doesn't tell us to do this, but it's helpful later on\n internal['[[dataLocale]]'] = r['[[dataLocale]]'];\n\n // 14. Let dataLocale be the value of r.[[dataLocale]].\n var dataLocale = r['[[dataLocale]]'];\n\n // 15. Let s be the result of calling the GetOption abstract operation with the\n // arguments options, \"style\", \"string\", a List containing the three String\n // values \"decimal\", \"percent\", and \"currency\", and \"decimal\".\n var s = GetOption(options, 'style', 'string', new List('decimal', 'percent', 'currency'), 'decimal');\n\n // 16. Set the [[style]] internal property of numberFormat to s.\n internal['[[style]]'] = s;\n\n // 17. Let c be the result of calling the GetOption abstract operation with the\n // arguments options, \"currency\", \"string\", undefined, and undefined.\n var c = GetOption(options, 'currency', 'string');\n\n // 18. If c is not undefined and the result of calling the\n // IsWellFormedCurrencyCode abstract operation (defined in 6.3.1) with\n // argument c is false, then throw a RangeError exception.\n if (c !== undefined && !IsWellFormedCurrencyCode(c)) throw new RangeError(\"'\" + c + \"' is not a valid currency code\");\n\n // 19. If s is \"currency\" and c is undefined, throw a TypeError exception.\n if (s === 'currency' && c === undefined) throw new TypeError('Currency code is required when style is currency');\n\n var cDigits = void 0;\n\n // 20. If s is \"currency\", then\n if (s === 'currency') {\n // a. Let c be the result of converting c to upper case as specified in 6.1.\n c = c.toUpperCase();\n\n // b. Set the [[currency]] internal property of numberFormat to c.\n internal['[[currency]]'] = c;\n\n // c. Let cDigits be the result of calling the CurrencyDigits abstract\n // operation (defined below) with argument c.\n cDigits = CurrencyDigits(c);\n }\n\n // 21. Let cd be the result of calling the GetOption abstract operation with the\n // arguments options, \"currencyDisplay\", \"string\", a List containing the\n // three String values \"code\", \"symbol\", and \"name\", and \"symbol\".\n var cd = GetOption(options, 'currencyDisplay', 'string', new List('code', 'symbol', 'name'), 'symbol');\n\n // 22. If s is \"currency\", then set the [[currencyDisplay]] internal property of\n // numberFormat to cd.\n if (s === 'currency') internal['[[currencyDisplay]]'] = cd;\n\n // 23. Let mnid be the result of calling the GetNumberOption abstract operation\n // (defined in 9.2.10) with arguments options, \"minimumIntegerDigits\", 1, 21,\n // and 1.\n var mnid = GetNumberOption(options, 'minimumIntegerDigits', 1, 21, 1);\n\n // 24. Set the [[minimumIntegerDigits]] internal property of numberFormat to mnid.\n internal['[[minimumIntegerDigits]]'] = mnid;\n\n // 25. If s is \"currency\", then let mnfdDefault be cDigits; else let mnfdDefault\n // be 0.\n var mnfdDefault = s === 'currency' ? cDigits : 0;\n\n // 26. Let mnfd be the result of calling the GetNumberOption abstract operation\n // with arguments options, \"minimumFractionDigits\", 0, 20, and mnfdDefault.\n var mnfd = GetNumberOption(options, 'minimumFractionDigits', 0, 20, mnfdDefault);\n\n // 27. Set the [[minimumFractionDigits]] internal property of numberFormat to mnfd.\n internal['[[minimumFractionDigits]]'] = mnfd;\n\n // 28. If s is \"currency\", then let mxfdDefault be max(mnfd, cDigits); else if s\n // is \"percent\", then let mxfdDefault be max(mnfd, 0); else let mxfdDefault\n // be max(mnfd, 3).\n var mxfdDefault = s === 'currency' ? Math.max(mnfd, cDigits) : s === 'percent' ? Math.max(mnfd, 0) : Math.max(mnfd, 3);\n\n // 29. Let mxfd be the result of calling the GetNumberOption abstract operation\n // with arguments options, \"maximumFractionDigits\", mnfd, 20, and mxfdDefault.\n var mxfd = GetNumberOption(options, 'maximumFractionDigits', mnfd, 20, mxfdDefault);\n\n // 30. Set the [[maximumFractionDigits]] internal property of numberFormat to mxfd.\n internal['[[maximumFractionDigits]]'] = mxfd;\n\n // 31. Let mnsd be the result of calling the [[Get]] internal method of options\n // with argument \"minimumSignificantDigits\".\n var mnsd = options.minimumSignificantDigits;\n\n // 32. Let mxsd be the result of calling the [[Get]] internal method of options\n // with argument \"maximumSignificantDigits\".\n var mxsd = options.maximumSignificantDigits;\n\n // 33. If mnsd is not undefined or mxsd is not undefined, then:\n if (mnsd !== undefined || mxsd !== undefined) {\n // a. Let mnsd be the result of calling the GetNumberOption abstract\n // operation with arguments options, \"minimumSignificantDigits\", 1, 21,\n // and 1.\n mnsd = GetNumberOption(options, 'minimumSignificantDigits', 1, 21, 1);\n\n // b. Let mxsd be the result of calling the GetNumberOption abstract\n // operation with arguments options, \"maximumSignificantDigits\", mnsd,\n // 21, and 21.\n mxsd = GetNumberOption(options, 'maximumSignificantDigits', mnsd, 21, 21);\n\n // c. Set the [[minimumSignificantDigits]] internal property of numberFormat\n // to mnsd, and the [[maximumSignificantDigits]] internal property of\n // numberFormat to mxsd.\n internal['[[minimumSignificantDigits]]'] = mnsd;\n internal['[[maximumSignificantDigits]]'] = mxsd;\n }\n // 34. Let g be the result of calling the GetOption abstract operation with the\n // arguments options, \"useGrouping\", \"boolean\", undefined, and true.\n var g = GetOption(options, 'useGrouping', 'boolean', undefined, true);\n\n // 35. Set the [[useGrouping]] internal property of numberFormat to g.\n internal['[[useGrouping]]'] = g;\n\n // 36. Let dataLocaleData be the result of calling the [[Get]] internal method of\n // localeData with argument dataLocale.\n var dataLocaleData = localeData[dataLocale];\n\n // 37. Let patterns be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"patterns\".\n var patterns = dataLocaleData.patterns;\n\n // 38. Assert: patterns is an object (see 11.2.3)\n\n // 39. Let stylePatterns be the result of calling the [[Get]] internal method of\n // patterns with argument s.\n var stylePatterns = patterns[s];\n\n // 40. Set the [[positivePattern]] internal property of numberFormat to the\n // result of calling the [[Get]] internal method of stylePatterns with the\n // argument \"positivePattern\".\n internal['[[positivePattern]]'] = stylePatterns.positivePattern;\n\n // 41. Set the [[negativePattern]] internal property of numberFormat to the\n // result of calling the [[Get]] internal method of stylePatterns with the\n // argument \"negativePattern\".\n internal['[[negativePattern]]'] = stylePatterns.negativePattern;\n\n // 42. Set the [[boundFormat]] internal property of numberFormat to undefined.\n internal['[[boundFormat]]'] = undefined;\n\n // 43. Set the [[initializedNumberFormat]] internal property of numberFormat to\n // true.\n internal['[[initializedNumberFormat]]'] = true;\n\n // In ES3, we need to pre-bind the format() function\n if (es3) numberFormat.format = GetFormatNumber.call(numberFormat);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // Return the newly initialised object\n return numberFormat;\n}\n\nfunction CurrencyDigits(currency) {\n // When the CurrencyDigits abstract operation is called with an argument currency\n // (which must be an upper case String value), the following steps are taken:\n\n // 1. If the ISO 4217 currency and funds code list contains currency as an\n // alphabetic code, then return the minor unit value corresponding to the\n // currency from the list; else return 2.\n return currencyMinorUnits[currency] !== undefined ? currencyMinorUnits[currency] : 2;\n}\n\n/* 11.2.3 */internals.NumberFormat = {\n '[[availableLocales]]': [],\n '[[relevantExtensionKeys]]': ['nu'],\n '[[localeData]]': {}\n};\n\n/**\n * When the supportedLocalesOf method of Intl.NumberFormat is called, the\n * following steps are taken:\n */\n/* 11.2.2 */\ndefineProperty(Intl.NumberFormat, 'supportedLocalesOf', {\n configurable: true,\n writable: true,\n value: fnBind.call(function (locales) {\n // Bound functions only have the `this` value altered if being used as a constructor,\n // this lets us imitate a native function that has no constructor\n if (!hop.call(this, '[[availableLocales]]')) throw new TypeError('supportedLocalesOf() is not a constructor');\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore(),\n\n\n // 1. If options is not provided, then let options be undefined.\n options = arguments[1],\n\n\n // 2. Let availableLocales be the value of the [[availableLocales]] internal\n // property of the standard built-in object that is the initial value of\n // Intl.NumberFormat.\n\n availableLocales = this['[[availableLocales]]'],\n\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n requestedLocales = CanonicalizeLocaleList(locales);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // 4. Return the result of calling the SupportedLocales abstract operation\n // (defined in 9.2.8) with arguments availableLocales, requestedLocales,\n // and options.\n return SupportedLocales(availableLocales, requestedLocales, options);\n }, internals.NumberFormat)\n});\n\n/**\n * This named accessor property returns a function that formats a number\n * according to the effective locale and the formatting options of this\n * NumberFormat object.\n */\n/* 11.3.2 */defineProperty(Intl.NumberFormat.prototype, 'format', {\n configurable: true,\n get: GetFormatNumber\n});\n\nfunction GetFormatNumber() {\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 11.3_b\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for format() is not an initialized Intl.NumberFormat object.');\n\n // The value of the [[Get]] attribute is a function that takes the following\n // steps:\n\n // 1. If the [[boundFormat]] internal property of this NumberFormat object\n // is undefined, then:\n if (internal['[[boundFormat]]'] === undefined) {\n // a. Let F be a Function object, with internal properties set as\n // specified for built-in functions in ES5, 15, or successor, and the\n // length property set to 1, that takes the argument value and\n // performs the following steps:\n var F = function F(value) {\n // i. If value is not provided, then let value be undefined.\n // ii. Let x be ToNumber(value).\n // iii. Return the result of calling the FormatNumber abstract\n // operation (defined below) with arguments this and x.\n return FormatNumber(this, /* x = */Number(value));\n };\n\n // b. Let bind be the standard built-in function object defined in ES5,\n // 15.3.4.5.\n // c. Let bf be the result of calling the [[Call]] internal method of\n // bind with F as the this value and an argument list containing\n // the single item this.\n var bf = fnBind.call(F, this);\n\n // d. Set the [[boundFormat]] internal property of this NumberFormat\n // object to bf.\n internal['[[boundFormat]]'] = bf;\n }\n // Return the value of the [[boundFormat]] internal property of this\n // NumberFormat object.\n return internal['[[boundFormat]]'];\n}\n\nfunction formatToParts() {\n var value = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for formatToParts() is not an initialized Intl.NumberFormat object.');\n\n var x = Number(value);\n return FormatNumberToParts(this, x);\n}\n\nObject.defineProperty(Intl.NumberFormat.prototype, 'formatToParts', {\n configurable: true,\n enumerable: false,\n writable: true,\n value: formatToParts\n});\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-formatnumbertoparts]\n */\nfunction FormatNumberToParts(numberFormat, x) {\n // 1. Let parts be ? PartitionNumberPattern(numberFormat, x).\n var parts = PartitionNumberPattern(numberFormat, x);\n // 2. Let result be ArrayCreate(0).\n var result = [];\n // 3. Let n be 0.\n var n = 0;\n // 4. For each part in parts, do:\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n // a. Let O be ObjectCreate(%ObjectPrototype%).\n var O = {};\n // a. Perform ? CreateDataPropertyOrThrow(O, \"type\", part.[[type]]).\n O.type = part['[[type]]'];\n // a. Perform ? CreateDataPropertyOrThrow(O, \"value\", part.[[value]]).\n O.value = part['[[value]]'];\n // a. Perform ? CreateDataPropertyOrThrow(result, ? ToString(n), O).\n result[n] = O;\n // a. Increment n by 1.\n n += 1;\n }\n // 5. Return result.\n return result;\n}\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-partitionnumberpattern]\n */\nfunction PartitionNumberPattern(numberFormat, x) {\n\n var internal = getInternalProperties(numberFormat),\n locale = internal['[[dataLocale]]'],\n nums = internal['[[numberingSystem]]'],\n data = internals.NumberFormat['[[localeData]]'][locale],\n ild = data.symbols[nums] || data.symbols.latn,\n pattern = void 0;\n\n // 1. If x is not NaN and x < 0, then:\n if (!isNaN(x) && x < 0) {\n // a. Let x be -x.\n x = -x;\n // a. Let pattern be the value of numberFormat.[[negativePattern]].\n pattern = internal['[[negativePattern]]'];\n }\n // 2. Else,\n else {\n // a. Let pattern be the value of numberFormat.[[positivePattern]].\n pattern = internal['[[positivePattern]]'];\n }\n // 3. Let result be a new empty List.\n var result = new List();\n // 4. Let beginIndex be Call(%StringProto_indexOf%, pattern, \"{\", 0).\n var beginIndex = pattern.indexOf('{', 0);\n // 5. Let endIndex be 0.\n var endIndex = 0;\n // 6. Let nextIndex be 0.\n var nextIndex = 0;\n // 7. Let length be the number of code units in pattern.\n var length = pattern.length;\n // 8. Repeat while beginIndex is an integer index into pattern:\n while (beginIndex > -1 && beginIndex < length) {\n // a. Set endIndex to Call(%StringProto_indexOf%, pattern, \"}\", beginIndex)\n endIndex = pattern.indexOf('}', beginIndex);\n // a. If endIndex = -1, throw new Error exception.\n if (endIndex === -1) throw new Error();\n // a. If beginIndex is greater than nextIndex, then:\n if (beginIndex > nextIndex) {\n // i. Let literal be a substring of pattern from position nextIndex, inclusive, to position beginIndex, exclusive.\n var literal = pattern.substring(nextIndex, beginIndex);\n // ii. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': literal });\n }\n // a. Let p be the substring of pattern from position beginIndex, exclusive, to position endIndex, exclusive.\n var p = pattern.substring(beginIndex + 1, endIndex);\n // a. If p is equal \"number\", then:\n if (p === \"number\") {\n // i. If x is NaN,\n if (isNaN(x)) {\n // 1. Let n be an ILD String value indicating the NaN value.\n var n = ild.nan;\n // 2. Add new part record { [[type]]: \"nan\", [[value]]: n } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'nan', '[[value]]': n });\n }\n // ii. Else if isFinite(x) is false,\n else if (!isFinite(x)) {\n // 1. Let n be an ILD String value indicating infinity.\n var _n = ild.infinity;\n // 2. Add new part record { [[type]]: \"infinity\", [[value]]: n } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'infinity', '[[value]]': _n });\n }\n // iii. Else,\n else {\n // 1. If the value of numberFormat.[[style]] is \"percent\" and isFinite(x), let x be 100 × x.\n if (internal['[[style]]'] === 'percent' && isFinite(x)) x *= 100;\n\n var _n2 = void 0;\n // 2. If the numberFormat.[[minimumSignificantDigits]] and numberFormat.[[maximumSignificantDigits]] are present, then\n if (hop.call(internal, '[[minimumSignificantDigits]]') && hop.call(internal, '[[maximumSignificantDigits]]')) {\n // a. Let n be ToRawPrecision(x, numberFormat.[[minimumSignificantDigits]], numberFormat.[[maximumSignificantDigits]]).\n _n2 = ToRawPrecision(x, internal['[[minimumSignificantDigits]]'], internal['[[maximumSignificantDigits]]']);\n }\n // 3. Else,\n else {\n // a. Let n be ToRawFixed(x, numberFormat.[[minimumIntegerDigits]], numberFormat.[[minimumFractionDigits]], numberFormat.[[maximumFractionDigits]]).\n _n2 = ToRawFixed(x, internal['[[minimumIntegerDigits]]'], internal['[[minimumFractionDigits]]'], internal['[[maximumFractionDigits]]']);\n }\n // 4. If the value of the numberFormat.[[numberingSystem]] matches one of the values in the \"Numbering System\" column of Table 2 below, then\n if (numSys[nums]) {\n (function () {\n // a. Let digits be an array whose 10 String valued elements are the UTF-16 string representations of the 10 digits specified in the \"Digits\" column of the matching row in Table 2.\n var digits = numSys[nums];\n // a. Replace each digit in n with the value of digits[digit].\n _n2 = String(_n2).replace(/\\d/g, function (digit) {\n return digits[digit];\n });\n })();\n }\n // 5. Else use an implementation dependent algorithm to map n to the appropriate representation of n in the given numbering system.\n else _n2 = String(_n2); // ###TODO###\n\n var integer = void 0;\n var fraction = void 0;\n // 6. Let decimalSepIndex be Call(%StringProto_indexOf%, n, \".\", 0).\n var decimalSepIndex = _n2.indexOf('.', 0);\n // 7. If decimalSepIndex > 0, then:\n if (decimalSepIndex > 0) {\n // a. Let integer be the substring of n from position 0, inclusive, to position decimalSepIndex, exclusive.\n integer = _n2.substring(0, decimalSepIndex);\n // a. Let fraction be the substring of n from position decimalSepIndex, exclusive, to the end of n.\n fraction = _n2.substring(decimalSepIndex + 1, decimalSepIndex.length);\n }\n // 8. Else:\n else {\n // a. Let integer be n.\n integer = _n2;\n // a. Let fraction be undefined.\n fraction = undefined;\n }\n // 9. If the value of the numberFormat.[[useGrouping]] is true,\n if (internal['[[useGrouping]]'] === true) {\n // a. Let groupSepSymbol be the ILND String representing the grouping separator.\n var groupSepSymbol = ild.group;\n // a. Let groups be a List whose elements are, in left to right order, the substrings defined by ILND set of locations within the integer.\n var groups = [];\n // ----> implementation:\n // Primary group represents the group closest to the decimal\n var pgSize = data.patterns.primaryGroupSize || 3;\n // Secondary group is every other group\n var sgSize = data.patterns.secondaryGroupSize || pgSize;\n // Group only if necessary\n if (integer.length > pgSize) {\n // Index of the primary grouping separator\n var end = integer.length - pgSize;\n // Starting index for our loop\n var idx = end % sgSize;\n var start = integer.slice(0, idx);\n if (start.length) arrPush.call(groups, start);\n // Loop to separate into secondary grouping digits\n while (idx < end) {\n arrPush.call(groups, integer.slice(idx, idx + sgSize));\n idx += sgSize;\n }\n // Add the primary grouping digits\n arrPush.call(groups, integer.slice(end));\n } else {\n arrPush.call(groups, integer);\n }\n // a. Assert: The number of elements in groups List is greater than 0.\n if (groups.length === 0) throw new Error();\n // a. Repeat, while groups List is not empty:\n while (groups.length) {\n // i. Remove the first element from groups and let integerGroup be the value of that element.\n var integerGroup = arrShift.call(groups);\n // ii. Add new part record { [[type]]: \"integer\", [[value]]: integerGroup } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'integer', '[[value]]': integerGroup });\n // iii. If groups List is not empty, then:\n if (groups.length) {\n // 1. Add new part record { [[type]]: \"group\", [[value]]: groupSepSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'group', '[[value]]': groupSepSymbol });\n }\n }\n }\n // 10. Else,\n else {\n // a. Add new part record { [[type]]: \"integer\", [[value]]: integer } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'integer', '[[value]]': integer });\n }\n // 11. If fraction is not undefined, then:\n if (fraction !== undefined) {\n // a. Let decimalSepSymbol be the ILND String representing the decimal separator.\n var decimalSepSymbol = ild.decimal;\n // a. Add new part record { [[type]]: \"decimal\", [[value]]: decimalSepSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'decimal', '[[value]]': decimalSepSymbol });\n // a. Add new part record { [[type]]: \"fraction\", [[value]]: fraction } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'fraction', '[[value]]': fraction });\n }\n }\n }\n // a. Else if p is equal \"plusSign\", then:\n else if (p === \"plusSign\") {\n // i. Let plusSignSymbol be the ILND String representing the plus sign.\n var plusSignSymbol = ild.plusSign;\n // ii. Add new part record { [[type]]: \"plusSign\", [[value]]: plusSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'plusSign', '[[value]]': plusSignSymbol });\n }\n // a. Else if p is equal \"minusSign\", then:\n else if (p === \"minusSign\") {\n // i. Let minusSignSymbol be the ILND String representing the minus sign.\n var minusSignSymbol = ild.minusSign;\n // ii. Add new part record { [[type]]: \"minusSign\", [[value]]: minusSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'minusSign', '[[value]]': minusSignSymbol });\n }\n // a. Else if p is equal \"percentSign\" and numberFormat.[[style]] is \"percent\", then:\n else if (p === \"percentSign\" && internal['[[style]]'] === \"percent\") {\n // i. Let percentSignSymbol be the ILND String representing the percent sign.\n var percentSignSymbol = ild.percentSign;\n // ii. Add new part record { [[type]]: \"percentSign\", [[value]]: percentSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': percentSignSymbol });\n }\n // a. Else if p is equal \"currency\" and numberFormat.[[style]] is \"currency\", then:\n else if (p === \"currency\" && internal['[[style]]'] === \"currency\") {\n // i. Let currency be the value of numberFormat.[[currency]].\n var currency = internal['[[currency]]'];\n\n var cd = void 0;\n\n // ii. If numberFormat.[[currencyDisplay]] is \"code\", then\n if (internal['[[currencyDisplay]]'] === \"code\") {\n // 1. Let cd be currency.\n cd = currency;\n }\n // iii. Else if numberFormat.[[currencyDisplay]] is \"symbol\", then\n else if (internal['[[currencyDisplay]]'] === \"symbol\") {\n // 1. Let cd be an ILD string representing currency in short form. If the implementation does not have such a representation of currency, use currency itself.\n cd = data.currencies[currency] || currency;\n }\n // iv. Else if numberFormat.[[currencyDisplay]] is \"name\", then\n else if (internal['[[currencyDisplay]]'] === \"name\") {\n // 1. Let cd be an ILD string representing currency in long form. If the implementation does not have such a representation of currency, then use currency itself.\n cd = currency;\n }\n // v. Add new part record { [[type]]: \"currency\", [[value]]: cd } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'currency', '[[value]]': cd });\n }\n // a. Else,\n else {\n // i. Let literal be the substring of pattern from position beginIndex, inclusive, to position endIndex, inclusive.\n var _literal = pattern.substring(beginIndex, endIndex);\n // ii. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': _literal });\n }\n // a. Set nextIndex to endIndex + 1.\n nextIndex = endIndex + 1;\n // a. Set beginIndex to Call(%StringProto_indexOf%, pattern, \"{\", nextIndex)\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n // 9. If nextIndex is less than length, then:\n if (nextIndex < length) {\n // a. Let literal be the substring of pattern from position nextIndex, inclusive, to position length, exclusive.\n var _literal2 = pattern.substring(nextIndex, length);\n // a. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': _literal2 });\n }\n // 10. Return result.\n return result;\n}\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-formatnumber]\n */\nfunction FormatNumber(numberFormat, x) {\n // 1. Let parts be ? PartitionNumberPattern(numberFormat, x).\n var parts = PartitionNumberPattern(numberFormat, x);\n // 2. Let result be an empty String.\n var result = '';\n // 3. For each part in parts, do:\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n // a. Set result to a String value produced by concatenating result and part.[[value]].\n result += part['[[value]]'];\n }\n // 4. Return result.\n return result;\n}\n\n/**\n * When the ToRawPrecision abstract operation is called with arguments x (which\n * must be a finite non-negative number), minPrecision, and maxPrecision (both\n * must be integers between 1 and 21) the following steps are taken:\n */\nfunction ToRawPrecision(x, minPrecision, maxPrecision) {\n // 1. Let p be maxPrecision.\n var p = maxPrecision;\n\n var m = void 0,\n e = void 0;\n\n // 2. If x = 0, then\n if (x === 0) {\n // a. Let m be the String consisting of p occurrences of the character \"0\".\n m = arrJoin.call(Array(p + 1), '0');\n // b. Let e be 0.\n e = 0;\n }\n // 3. Else\n else {\n // a. Let e and n be integers such that 10ᵖ⁻¹ ≤ n < 10ᵖ and for which the\n // exact mathematical value of n × 10ᵉ⁻ᵖ⁺¹ – x is as close to zero as\n // possible. If there are two such sets of e and n, pick the e and n for\n // which n × 10ᵉ⁻ᵖ⁺¹ is larger.\n e = log10Floor(Math.abs(x));\n\n // Easier to get to m from here\n var f = Math.round(Math.exp(Math.abs(e - p + 1) * Math.LN10));\n\n // b. Let m be the String consisting of the digits of the decimal\n // representation of n (in order, with no leading zeroes)\n m = String(Math.round(e - p + 1 < 0 ? x * f : x / f));\n }\n\n // 4. If e ≥ p, then\n if (e >= p)\n // a. Return the concatenation of m and e-p+1 occurrences of the character \"0\".\n return m + arrJoin.call(Array(e - p + 1 + 1), '0');\n\n // 5. If e = p-1, then\n else if (e === p - 1)\n // a. Return m.\n return m;\n\n // 6. If e ≥ 0, then\n else if (e >= 0)\n // a. Let m be the concatenation of the first e+1 characters of m, the character\n // \".\", and the remaining p–(e+1) characters of m.\n m = m.slice(0, e + 1) + '.' + m.slice(e + 1);\n\n // 7. If e < 0, then\n else if (e < 0)\n // a. Let m be the concatenation of the String \"0.\", –(e+1) occurrences of the\n // character \"0\", and the string m.\n m = '0.' + arrJoin.call(Array(-(e + 1) + 1), '0') + m;\n\n // 8. If m contains the character \".\", and maxPrecision > minPrecision, then\n if (m.indexOf(\".\") >= 0 && maxPrecision > minPrecision) {\n // a. Let cut be maxPrecision – minPrecision.\n var cut = maxPrecision - minPrecision;\n\n // b. Repeat while cut > 0 and the last character of m is \"0\":\n while (cut > 0 && m.charAt(m.length - 1) === '0') {\n // i. Remove the last character from m.\n m = m.slice(0, -1);\n\n // ii. Decrease cut by 1.\n cut--;\n }\n\n // c. If the last character of m is \".\", then\n if (m.charAt(m.length - 1) === '.')\n // i. Remove the last character from m.\n m = m.slice(0, -1);\n }\n // 9. Return m.\n return m;\n}\n\n/**\n * @spec[tc39/ecma402/master/spec/numberformat.html]\n * @clause[sec-torawfixed]\n * When the ToRawFixed abstract operation is called with arguments x (which must\n * be a finite non-negative number), minInteger (which must be an integer between\n * 1 and 21), minFraction, and maxFraction (which must be integers between 0 and\n * 20) the following steps are taken:\n */\nfunction ToRawFixed(x, minInteger, minFraction, maxFraction) {\n // 1. Let f be maxFraction.\n var f = maxFraction;\n // 2. Let n be an integer for which the exact mathematical value of n ÷ 10f – x is as close to zero as possible. If there are two such n, pick the larger n.\n var n = Math.pow(10, f) * x; // diverging...\n // 3. If n = 0, let m be the String \"0\". Otherwise, let m be the String consisting of the digits of the decimal representation of n (in order, with no leading zeroes).\n var m = n === 0 ? \"0\" : n.toFixed(0); // divering...\n\n {\n // this diversion is needed to take into consideration big numbers, e.g.:\n // 1.2344501e+37 -> 12344501000000000000000000000000000000\n var idx = void 0;\n var exp = (idx = m.indexOf('e')) > -1 ? m.slice(idx + 1) : 0;\n if (exp) {\n m = m.slice(0, idx).replace('.', '');\n m += arrJoin.call(Array(exp - (m.length - 1) + 1), '0');\n }\n }\n\n var int = void 0;\n // 4. If f ≠ 0, then\n if (f !== 0) {\n // a. Let k be the number of characters in m.\n var k = m.length;\n // a. If k ≤ f, then\n if (k <= f) {\n // i. Let z be the String consisting of f+1–k occurrences of the character \"0\".\n var z = arrJoin.call(Array(f + 1 - k + 1), '0');\n // ii. Let m be the concatenation of Strings z and m.\n m = z + m;\n // iii. Let k be f+1.\n k = f + 1;\n }\n // a. Let a be the first k–f characters of m, and let b be the remaining f characters of m.\n var a = m.substring(0, k - f),\n b = m.substring(k - f, m.length);\n // a. Let m be the concatenation of the three Strings a, \".\", and b.\n m = a + \".\" + b;\n // a. Let int be the number of characters in a.\n int = a.length;\n }\n // 5. Else, let int be the number of characters in m.\n else int = m.length;\n // 6. Let cut be maxFraction – minFraction.\n var cut = maxFraction - minFraction;\n // 7. Repeat while cut > 0 and the last character of m is \"0\":\n while (cut > 0 && m.slice(-1) === \"0\") {\n // a. Remove the last character from m.\n m = m.slice(0, -1);\n // a. Decrease cut by 1.\n cut--;\n }\n // 8. If the last character of m is \".\", then\n if (m.slice(-1) === \".\") {\n // a. Remove the last character from m.\n m = m.slice(0, -1);\n }\n // 9. If int < minInteger, then\n if (int < minInteger) {\n // a. Let z be the String consisting of minInteger–int occurrences of the character \"0\".\n var _z = arrJoin.call(Array(minInteger - int + 1), '0');\n // a. Let m be the concatenation of Strings z and m.\n m = _z + m;\n }\n // 10. Return m.\n return m;\n}\n\n// Sect 11.3.2 Table 2, Numbering systems\n// ======================================\nvar numSys = {\n arab: [\"٠\", \"١\", \"٢\", \"٣\", \"٤\", \"٥\", \"٦\", \"٧\", \"٨\", \"٩\"],\n arabext: [\"۰\", \"۱\", \"۲\", \"۳\", \"۴\", \"۵\", \"۶\", \"۷\", \"۸\", \"۹\"],\n bali: [\"᭐\", \"᭑\", \"᭒\", \"᭓\", \"᭔\", \"᭕\", \"᭖\", \"᭗\", \"᭘\", \"᭙\"],\n beng: [\"০\", \"১\", \"২\", \"৩\", \"৪\", \"৫\", \"৬\", \"৭\", \"৮\", \"৯\"],\n deva: [\"०\", \"१\", \"२\", \"३\", \"४\", \"५\", \"६\", \"७\", \"८\", \"९\"],\n fullwide: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n gujr: [\"૦\", \"૧\", \"૨\", \"૩\", \"૪\", \"૫\", \"૬\", \"૭\", \"૮\", \"૯\"],\n guru: [\"੦\", \"੧\", \"੨\", \"੩\", \"੪\", \"੫\", \"੬\", \"੭\", \"੮\", \"੯\"],\n hanidec: [\"〇\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"七\", \"八\", \"九\"],\n khmr: [\"០\", \"១\", \"២\", \"៣\", \"៤\", \"៥\", \"៦\", \"៧\", \"៨\", \"៩\"],\n knda: [\"೦\", \"೧\", \"೨\", \"೩\", \"೪\", \"೫\", \"೬\", \"೭\", \"೮\", \"೯\"],\n laoo: [\"໐\", \"໑\", \"໒\", \"໓\", \"໔\", \"໕\", \"໖\", \"໗\", \"໘\", \"໙\"],\n latn: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n limb: [\"᥆\", \"᥇\", \"᥈\", \"᥉\", \"᥊\", \"᥋\", \"᥌\", \"᥍\", \"᥎\", \"᥏\"],\n mlym: [\"൦\", \"൧\", \"൨\", \"൩\", \"൪\", \"൫\", \"൬\", \"൭\", \"൮\", \"൯\"],\n mong: [\"᠐\", \"᠑\", \"᠒\", \"᠓\", \"᠔\", \"᠕\", \"᠖\", \"᠗\", \"᠘\", \"᠙\"],\n mymr: [\"၀\", \"၁\", \"၂\", \"၃\", \"၄\", \"၅\", \"၆\", \"၇\", \"၈\", \"၉\"],\n orya: [\"୦\", \"୧\", \"୨\", \"୩\", \"୪\", \"୫\", \"୬\", \"୭\", \"୮\", \"୯\"],\n tamldec: [\"௦\", \"௧\", \"௨\", \"௩\", \"௪\", \"௫\", \"௬\", \"௭\", \"௮\", \"௯\"],\n telu: [\"౦\", \"౧\", \"౨\", \"౩\", \"౪\", \"౫\", \"౬\", \"౭\", \"౮\", \"౯\"],\n thai: [\"๐\", \"๑\", \"๒\", \"๓\", \"๔\", \"๕\", \"๖\", \"๗\", \"๘\", \"๙\"],\n tibt: [\"༠\", \"༡\", \"༢\", \"༣\", \"༤\", \"༥\", \"༦\", \"༧\", \"༨\", \"༩\"]\n};\n\n/**\n * This function provides access to the locale and formatting options computed\n * during initialization of the object.\n *\n * The function returns a new object whose properties and attributes are set as\n * if constructed by an object literal assigning to each of the following\n * properties the value of the corresponding internal property of this\n * NumberFormat object (see 11.4): locale, numberingSystem, style, currency,\n * currencyDisplay, minimumIntegerDigits, minimumFractionDigits,\n * maximumFractionDigits, minimumSignificantDigits, maximumSignificantDigits, and\n * useGrouping. Properties whose corresponding internal properties are not present\n * are not assigned.\n */\n/* 11.3.3 */defineProperty(Intl.NumberFormat.prototype, 'resolvedOptions', {\n configurable: true,\n writable: true,\n value: function value() {\n var prop = void 0,\n descs = new Record(),\n props = ['locale', 'numberingSystem', 'style', 'currency', 'currencyDisplay', 'minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits', 'useGrouping'],\n internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 11.3_b\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for resolvedOptions() is not an initialized Intl.NumberFormat object.');\n\n for (var i = 0, max = props.length; i < max; i++) {\n if (hop.call(internal, prop = '[[' + props[i] + ']]')) descs[props[i]] = { value: internal[prop], writable: true, configurable: true, enumerable: true };\n }\n\n return objCreate({}, descs);\n }\n});\n\n/* jslint esnext: true */\n\n// Match these datetime components in a CLDR pattern, except those in single quotes\nvar expDTComponents = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n// trim patterns after transformations\nvar expPatternTrimmer = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n// Skip over patterns with these datetime components because we don't have data\n// to back them up:\n// timezone, weekday, amoung others\nvar unwantedDTCs = /[rqQASjJgwWIQq]/; // xXVO were removed from this list in favor of computing matches with timeZoneName values but printing as empty string\n\nvar dtKeys = [\"era\", \"year\", \"month\", \"day\", \"weekday\", \"quarter\"];\nvar tmKeys = [\"hour\", \"minute\", \"second\", \"hour12\", \"timeZoneName\"];\n\nfunction isDateFormatOnly(obj) {\n for (var i = 0; i < tmKeys.length; i += 1) {\n if (obj.hasOwnProperty(tmKeys[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction isTimeFormatOnly(obj) {\n for (var i = 0; i < dtKeys.length; i += 1) {\n if (obj.hasOwnProperty(dtKeys[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction joinDateAndTimeFormats(dateFormatObj, timeFormatObj) {\n var o = { _: {} };\n for (var i = 0; i < dtKeys.length; i += 1) {\n if (dateFormatObj[dtKeys[i]]) {\n o[dtKeys[i]] = dateFormatObj[dtKeys[i]];\n }\n if (dateFormatObj._[dtKeys[i]]) {\n o._[dtKeys[i]] = dateFormatObj._[dtKeys[i]];\n }\n }\n for (var j = 0; j < tmKeys.length; j += 1) {\n if (timeFormatObj[tmKeys[j]]) {\n o[tmKeys[j]] = timeFormatObj[tmKeys[j]];\n }\n if (timeFormatObj._[tmKeys[j]]) {\n o._[tmKeys[j]] = timeFormatObj._[tmKeys[j]];\n }\n }\n return o;\n}\n\nfunction computeFinalPatterns(formatObj) {\n // From http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns:\n // 'In patterns, two single quotes represents a literal single quote, either\n // inside or outside single quotes. Text within single quotes is not\n // interpreted in any way (except for two adjacent single quotes).'\n formatObj.pattern12 = formatObj.extendedPattern.replace(/'([^']*)'/g, function ($0, literal) {\n return literal ? literal : \"'\";\n });\n\n // pattern 12 is always the default. we can produce the 24 by removing {ampm}\n formatObj.pattern = formatObj.pattern12.replace('{ampm}', '').replace(expPatternTrimmer, '');\n return formatObj;\n}\n\nfunction expDTComponentsMeta($0, formatObj) {\n switch ($0.charAt(0)) {\n // --- Era\n case 'G':\n formatObj.era = ['short', 'short', 'short', 'long', 'narrow'][$0.length - 1];\n return '{era}';\n\n // --- Year\n case 'y':\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n formatObj.year = $0.length === 2 ? '2-digit' : 'numeric';\n return '{year}';\n\n // --- Quarter (not supported in this polyfill)\n case 'Q':\n case 'q':\n formatObj.quarter = ['numeric', '2-digit', 'short', 'long', 'narrow'][$0.length - 1];\n return '{quarter}';\n\n // --- Month\n case 'M':\n case 'L':\n formatObj.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][$0.length - 1];\n return '{month}';\n\n // --- Week (not supported in this polyfill)\n case 'w':\n // week of the year\n formatObj.week = $0.length === 2 ? '2-digit' : 'numeric';\n return '{weekday}';\n case 'W':\n // week of the month\n formatObj.week = 'numeric';\n return '{weekday}';\n\n // --- Day\n case 'd':\n // day of the month\n formatObj.day = $0.length === 2 ? '2-digit' : 'numeric';\n return '{day}';\n case 'D': // day of the year\n case 'F': // day of the week\n case 'g':\n // 1..n: Modified Julian day\n formatObj.day = 'numeric';\n return '{day}';\n\n // --- Week Day\n case 'E':\n // day of the week\n formatObj.weekday = ['short', 'short', 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n case 'e':\n // local day of the week\n formatObj.weekday = ['numeric', '2-digit', 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n case 'c':\n // stand alone local day of the week\n formatObj.weekday = ['numeric', undefined, 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n\n // --- Period\n case 'a': // AM, PM\n case 'b': // am, pm, noon, midnight\n case 'B':\n // flexible day periods\n formatObj.hour12 = true;\n return '{ampm}';\n\n // --- Hour\n case 'h':\n case 'H':\n formatObj.hour = $0.length === 2 ? '2-digit' : 'numeric';\n return '{hour}';\n case 'k':\n case 'K':\n formatObj.hour12 = true; // 12-hour-cycle time formats (using h or K)\n formatObj.hour = $0.length === 2 ? '2-digit' : 'numeric';\n return '{hour}';\n\n // --- Minute\n case 'm':\n formatObj.minute = $0.length === 2 ? '2-digit' : 'numeric';\n return '{minute}';\n\n // --- Second\n case 's':\n formatObj.second = $0.length === 2 ? '2-digit' : 'numeric';\n return '{second}';\n case 'S':\n case 'A':\n formatObj.second = 'numeric';\n return '{second}';\n\n // --- Timezone\n case 'z': // 1..3, 4: specific non-location format\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x':\n // 1, 2, 3, 4: The ISO8601 varios formats\n // this polyfill only supports much, for now, we are just doing something dummy\n formatObj.timeZoneName = $0.length < 4 ? 'short' : 'long';\n return '{timeZoneName}';\n }\n}\n\n/**\n * Converts the CLDR availableFormats into the objects and patterns required by\n * the ECMAScript Internationalization API specification.\n */\nfunction createDateTimeFormat(skeleton, pattern) {\n // we ignore certain patterns that are unsupported to avoid this expensive op.\n if (unwantedDTCs.test(pattern)) return undefined;\n\n var formatObj = {\n originalPattern: pattern,\n _: {}\n };\n\n // Replace the pattern string with the one required by the specification, whilst\n // at the same time evaluating it for the subsets and formats\n formatObj.extendedPattern = pattern.replace(expDTComponents, function ($0) {\n // See which symbol we're dealing with\n return expDTComponentsMeta($0, formatObj._);\n });\n\n // Match the skeleton string with the one required by the specification\n // this implementation is based on the Date Field Symbol Table:\n // http://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n // Note: we are adding extra data to the formatObject even though this polyfill\n // might not support it.\n skeleton.replace(expDTComponents, function ($0) {\n // See which symbol we're dealing with\n return expDTComponentsMeta($0, formatObj);\n });\n\n return computeFinalPatterns(formatObj);\n}\n\n/**\n * Processes DateTime formats from CLDR to an easier-to-parse format.\n * the result of this operation should be cached the first time a particular\n * calendar is analyzed.\n *\n * The specification requires we support at least the following subsets of\n * date/time components:\n *\n * - 'weekday', 'year', 'month', 'day', 'hour', 'minute', 'second'\n * - 'weekday', 'year', 'month', 'day'\n * - 'year', 'month', 'day'\n * - 'year', 'month'\n * - 'month', 'day'\n * - 'hour', 'minute', 'second'\n * - 'hour', 'minute'\n *\n * We need to cherry pick at least these subsets from the CLDR data and convert\n * them into the pattern objects used in the ECMA-402 API.\n */\nfunction createDateTimeFormats(formats) {\n var availableFormats = formats.availableFormats;\n var timeFormats = formats.timeFormats;\n var dateFormats = formats.dateFormats;\n var result = [];\n var skeleton = void 0,\n pattern = void 0,\n computed = void 0,\n i = void 0,\n j = void 0;\n var timeRelatedFormats = [];\n var dateRelatedFormats = [];\n\n // Map available (custom) formats into a pattern for createDateTimeFormats\n for (skeleton in availableFormats) {\n if (availableFormats.hasOwnProperty(skeleton)) {\n pattern = availableFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n // in some cases, the format is only displaying date specific props\n // or time specific props, in which case we need to also produce the\n // combined formats.\n if (isDateFormatOnly(computed)) {\n dateRelatedFormats.push(computed);\n } else if (isTimeFormatOnly(computed)) {\n timeRelatedFormats.push(computed);\n }\n }\n }\n }\n\n // Map time formats into a pattern for createDateTimeFormats\n for (skeleton in timeFormats) {\n if (timeFormats.hasOwnProperty(skeleton)) {\n pattern = timeFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n timeRelatedFormats.push(computed);\n }\n }\n }\n\n // Map date formats into a pattern for createDateTimeFormats\n for (skeleton in dateFormats) {\n if (dateFormats.hasOwnProperty(skeleton)) {\n pattern = dateFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n dateRelatedFormats.push(computed);\n }\n }\n }\n\n // combine custom time and custom date formats when they are orthogonals to complete the\n // formats supported by CLDR.\n // This Algo is based on section \"Missing Skeleton Fields\" from:\n // http://unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems\n for (i = 0; i < timeRelatedFormats.length; i += 1) {\n for (j = 0; j < dateRelatedFormats.length; j += 1) {\n if (dateRelatedFormats[j].month === 'long') {\n pattern = dateRelatedFormats[j].weekday ? formats.full : formats.long;\n } else if (dateRelatedFormats[j].month === 'short') {\n pattern = formats.medium;\n } else {\n pattern = formats.short;\n }\n computed = joinDateAndTimeFormats(dateRelatedFormats[j], timeRelatedFormats[i]);\n computed.originalPattern = pattern;\n computed.extendedPattern = pattern.replace('{0}', timeRelatedFormats[i].extendedPattern).replace('{1}', dateRelatedFormats[j].extendedPattern).replace(/^[,\\s]+|[,\\s]+$/gi, '');\n result.push(computeFinalPatterns(computed));\n }\n }\n\n return result;\n}\n\n// this represents the exceptions of the rule that are not covered by CLDR availableFormats\n// for single property configurations, they play no role when using multiple properties, and\n// those that are not in this table, are not exceptions or are not covered by the data we\n// provide.\nvar validSyntheticProps = {\n second: {\n numeric: 's',\n '2-digit': 'ss'\n },\n minute: {\n numeric: 'm',\n '2-digit': 'mm'\n },\n year: {\n numeric: 'y',\n '2-digit': 'yy'\n },\n day: {\n numeric: 'd',\n '2-digit': 'dd'\n },\n month: {\n numeric: 'L',\n '2-digit': 'LL',\n narrow: 'LLLLL',\n short: 'LLL',\n long: 'LLLL'\n },\n weekday: {\n narrow: 'ccccc',\n short: 'ccc',\n long: 'cccc'\n }\n};\n\nfunction generateSyntheticFormat(propName, propValue) {\n if (validSyntheticProps[propName] && validSyntheticProps[propName][propValue]) {\n var _ref2;\n\n return _ref2 = {\n originalPattern: validSyntheticProps[propName][propValue],\n _: defineProperty$1({}, propName, propValue),\n extendedPattern: \"{\" + propName + \"}\"\n }, defineProperty$1(_ref2, propName, propValue), defineProperty$1(_ref2, \"pattern12\", \"{\" + propName + \"}\"), defineProperty$1(_ref2, \"pattern\", \"{\" + propName + \"}\"), _ref2;\n }\n}\n\n// An object map of date component keys, saves using a regex later\nvar dateWidths = objCreate(null, { narrow: {}, short: {}, long: {} });\n\n/**\n * Returns a string for a date component, resolved using multiple inheritance as specified\n * as specified in the Unicode Technical Standard 35.\n */\nfunction resolveDateString(data, ca, component, width, key) {\n // From http://www.unicode.org/reports/tr35/tr35.html#Multiple_Inheritance:\n // 'In clearly specified instances, resources may inherit from within the same locale.\n // For example, ... the Buddhist calendar inherits from the Gregorian calendar.'\n var obj = data[ca] && data[ca][component] ? data[ca][component] : data.gregory[component],\n\n\n // \"sideways\" inheritance resolves strings when a key doesn't exist\n alts = {\n narrow: ['short', 'long'],\n short: ['long', 'narrow'],\n long: ['short', 'narrow']\n },\n\n\n //\n resolved = hop.call(obj, width) ? obj[width] : hop.call(obj, alts[width][0]) ? obj[alts[width][0]] : obj[alts[width][1]];\n\n // `key` wouldn't be specified for components 'dayPeriods'\n return key !== null ? resolved[key] : resolved;\n}\n\n// Define the DateTimeFormat constructor internally so it cannot be tainted\nfunction DateTimeFormatConstructor() {\n var locales = arguments[0];\n var options = arguments[1];\n\n if (!this || this === Intl) {\n return new Intl.DateTimeFormat(locales, options);\n }\n return InitializeDateTimeFormat(toObject(this), locales, options);\n}\n\ndefineProperty(Intl, 'DateTimeFormat', {\n configurable: true,\n writable: true,\n value: DateTimeFormatConstructor\n});\n\n// Must explicitly set prototypes as unwritable\ndefineProperty(DateTimeFormatConstructor, 'prototype', {\n writable: false\n});\n\n/**\n * The abstract operation InitializeDateTimeFormat accepts the arguments dateTimeFormat\n * (which must be an object), locales, and options. It initializes dateTimeFormat as a\n * DateTimeFormat object.\n */\nfunction /* 12.1.1.1 */InitializeDateTimeFormat(dateTimeFormat, locales, options) {\n // This will be a internal properties object if we're not already initialized\n var internal = getInternalProperties(dateTimeFormat);\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore();\n\n // 1. If dateTimeFormat has an [[initializedIntlObject]] internal property with\n // value true, throw a TypeError exception.\n if (internal['[[initializedIntlObject]]'] === true) throw new TypeError('`this` object has already been initialized as an Intl object');\n\n // Need this to access the `internal` object\n defineProperty(dateTimeFormat, '__getInternalProperties', {\n value: function value() {\n // NOTE: Non-standard, for internal use only\n if (arguments[0] === secret) return internal;\n }\n });\n\n // 2. Set the [[initializedIntlObject]] internal property of numberFormat to true.\n internal['[[initializedIntlObject]]'] = true;\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n var requestedLocales = CanonicalizeLocaleList(locales);\n\n // 4. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined below) with arguments options, \"any\", and \"date\".\n options = ToDateTimeOptions(options, 'any', 'date');\n\n // 5. Let opt be a new Record.\n var opt = new Record();\n\n // 6. Let matcher be the result of calling the GetOption abstract operation\n // (defined in 9.2.9) with arguments options, \"localeMatcher\", \"string\", a List\n // containing the two String values \"lookup\" and \"best fit\", and \"best fit\".\n var matcher = GetOption(options, 'localeMatcher', 'string', new List('lookup', 'best fit'), 'best fit');\n\n // 7. Set opt.[[localeMatcher]] to matcher.\n opt['[[localeMatcher]]'] = matcher;\n\n // 8. Let DateTimeFormat be the standard built-in object that is the initial\n // value of Intl.DateTimeFormat.\n var DateTimeFormat = internals.DateTimeFormat; // This is what we *really* need\n\n // 9. Let localeData be the value of the [[localeData]] internal property of\n // DateTimeFormat.\n var localeData = DateTimeFormat['[[localeData]]'];\n\n // 10. Let r be the result of calling the ResolveLocale abstract operation\n // (defined in 9.2.5) with the [[availableLocales]] internal property of\n // DateTimeFormat, requestedLocales, opt, the [[relevantExtensionKeys]]\n // internal property of DateTimeFormat, and localeData.\n var r = ResolveLocale(DateTimeFormat['[[availableLocales]]'], requestedLocales, opt, DateTimeFormat['[[relevantExtensionKeys]]'], localeData);\n\n // 11. Set the [[locale]] internal property of dateTimeFormat to the value of\n // r.[[locale]].\n internal['[[locale]]'] = r['[[locale]]'];\n\n // 12. Set the [[calendar]] internal property of dateTimeFormat to the value of\n // r.[[ca]].\n internal['[[calendar]]'] = r['[[ca]]'];\n\n // 13. Set the [[numberingSystem]] internal property of dateTimeFormat to the value of\n // r.[[nu]].\n internal['[[numberingSystem]]'] = r['[[nu]]'];\n\n // The specification doesn't tell us to do this, but it's helpful later on\n internal['[[dataLocale]]'] = r['[[dataLocale]]'];\n\n // 14. Let dataLocale be the value of r.[[dataLocale]].\n var dataLocale = r['[[dataLocale]]'];\n\n // 15. Let tz be the result of calling the [[Get]] internal method of options with\n // argument \"timeZone\".\n var tz = options.timeZone;\n\n // 16. If tz is not undefined, then\n if (tz !== undefined) {\n // a. Let tz be ToString(tz).\n // b. Convert tz to upper case as described in 6.1.\n // NOTE: If an implementation accepts additional time zone values, as permitted\n // under certain conditions by the Conformance clause, different casing\n // rules apply.\n tz = toLatinUpperCase(tz);\n\n // c. If tz is not \"UTC\", then throw a RangeError exception.\n // ###TODO: accept more time zones###\n if (tz !== 'UTC') throw new RangeError('timeZone is not supported.');\n }\n\n // 17. Set the [[timeZone]] internal property of dateTimeFormat to tz.\n internal['[[timeZone]]'] = tz;\n\n // 18. Let opt be a new Record.\n opt = new Record();\n\n // 19. For each row of Table 3, except the header row, do:\n for (var prop in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, prop)) continue;\n\n // 20. Let prop be the name given in the Property column of the row.\n // 21. Let value be the result of calling the GetOption abstract operation,\n // passing as argument options, the name given in the Property column of the\n // row, \"string\", a List containing the strings given in the Values column of\n // the row, and undefined.\n var value = GetOption(options, prop, 'string', dateTimeComponents[prop]);\n\n // 22. Set opt.[[]] to value.\n opt['[[' + prop + ']]'] = value;\n }\n\n // Assigned a value below\n var bestFormat = void 0;\n\n // 23. Let dataLocaleData be the result of calling the [[Get]] internal method of\n // localeData with argument dataLocale.\n var dataLocaleData = localeData[dataLocale];\n\n // 24. Let formats be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"formats\".\n // Note: we process the CLDR formats into the spec'd structure\n var formats = ToDateTimeFormats(dataLocaleData.formats);\n\n // 25. Let matcher be the result of calling the GetOption abstract operation with\n // arguments options, \"formatMatcher\", \"string\", a List containing the two String\n // values \"basic\" and \"best fit\", and \"best fit\".\n matcher = GetOption(options, 'formatMatcher', 'string', new List('basic', 'best fit'), 'best fit');\n\n // Optimization: caching the processed formats as a one time operation by\n // replacing the initial structure from localeData\n dataLocaleData.formats = formats;\n\n // 26. If matcher is \"basic\", then\n if (matcher === 'basic') {\n // 27. Let bestFormat be the result of calling the BasicFormatMatcher abstract\n // operation (defined below) with opt and formats.\n bestFormat = BasicFormatMatcher(opt, formats);\n\n // 28. Else\n } else {\n {\n // diverging\n var _hr = GetOption(options, 'hour12', 'boolean' /*, undefined, undefined*/);\n opt.hour12 = _hr === undefined ? dataLocaleData.hour12 : _hr;\n }\n // 29. Let bestFormat be the result of calling the BestFitFormatMatcher\n // abstract operation (defined below) with opt and formats.\n bestFormat = BestFitFormatMatcher(opt, formats);\n }\n\n // 30. For each row in Table 3, except the header row, do\n for (var _prop in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, _prop)) continue;\n\n // a. Let prop be the name given in the Property column of the row.\n // b. Let pDesc be the result of calling the [[GetOwnProperty]] internal method of\n // bestFormat with argument prop.\n // c. If pDesc is not undefined, then\n if (hop.call(bestFormat, _prop)) {\n // i. Let p be the result of calling the [[Get]] internal method of bestFormat\n // with argument prop.\n var p = bestFormat[_prop];\n {\n // diverging\n p = bestFormat._ && hop.call(bestFormat._, _prop) ? bestFormat._[_prop] : p;\n }\n\n // ii. Set the [[]] internal property of dateTimeFormat to p.\n internal['[[' + _prop + ']]'] = p;\n }\n }\n\n var pattern = void 0; // Assigned a value below\n\n // 31. Let hr12 be the result of calling the GetOption abstract operation with\n // arguments options, \"hour12\", \"boolean\", undefined, and undefined.\n var hr12 = GetOption(options, 'hour12', 'boolean' /*, undefined, undefined*/);\n\n // 32. If dateTimeFormat has an internal property [[hour]], then\n if (internal['[[hour]]']) {\n // a. If hr12 is undefined, then let hr12 be the result of calling the [[Get]]\n // internal method of dataLocaleData with argument \"hour12\".\n hr12 = hr12 === undefined ? dataLocaleData.hour12 : hr12;\n\n // b. Set the [[hour12]] internal property of dateTimeFormat to hr12.\n internal['[[hour12]]'] = hr12;\n\n // c. If hr12 is true, then\n if (hr12 === true) {\n // i. Let hourNo0 be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"hourNo0\".\n var hourNo0 = dataLocaleData.hourNo0;\n\n // ii. Set the [[hourNo0]] internal property of dateTimeFormat to hourNo0.\n internal['[[hourNo0]]'] = hourNo0;\n\n // iii. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern12\".\n pattern = bestFormat.pattern12;\n }\n\n // d. Else\n else\n // i. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern\".\n pattern = bestFormat.pattern;\n }\n\n // 33. Else\n else\n // a. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern\".\n pattern = bestFormat.pattern;\n\n // 34. Set the [[pattern]] internal property of dateTimeFormat to pattern.\n internal['[[pattern]]'] = pattern;\n\n // 35. Set the [[boundFormat]] internal property of dateTimeFormat to undefined.\n internal['[[boundFormat]]'] = undefined;\n\n // 36. Set the [[initializedDateTimeFormat]] internal property of dateTimeFormat to\n // true.\n internal['[[initializedDateTimeFormat]]'] = true;\n\n // In ES3, we need to pre-bind the format() function\n if (es3) dateTimeFormat.format = GetFormatDateTime.call(dateTimeFormat);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // Return the newly initialised object\n return dateTimeFormat;\n}\n\n/**\n * Several DateTimeFormat algorithms use values from the following table, which provides\n * property names and allowable values for the components of date and time formats:\n */\nvar dateTimeComponents = {\n weekday: [\"narrow\", \"short\", \"long\"],\n era: [\"narrow\", \"short\", \"long\"],\n year: [\"2-digit\", \"numeric\"],\n month: [\"2-digit\", \"numeric\", \"narrow\", \"short\", \"long\"],\n day: [\"2-digit\", \"numeric\"],\n hour: [\"2-digit\", \"numeric\"],\n minute: [\"2-digit\", \"numeric\"],\n second: [\"2-digit\", \"numeric\"],\n timeZoneName: [\"short\", \"long\"]\n};\n\n/**\n * When the ToDateTimeOptions abstract operation is called with arguments options,\n * required, and defaults, the following steps are taken:\n */\nfunction ToDateTimeFormats(formats) {\n if (Object.prototype.toString.call(formats) === '[object Array]') {\n return formats;\n }\n return createDateTimeFormats(formats);\n}\n\n/**\n * When the ToDateTimeOptions abstract operation is called with arguments options,\n * required, and defaults, the following steps are taken:\n */\nfunction ToDateTimeOptions(options, required, defaults) {\n // 1. If options is undefined, then let options be null, else let options be\n // ToObject(options).\n if (options === undefined) options = null;else {\n // (#12) options needs to be a Record, but it also needs to inherit properties\n var opt2 = toObject(options);\n options = new Record();\n\n for (var k in opt2) {\n options[k] = opt2[k];\n }\n }\n\n // 2. Let create be the standard built-in function object defined in ES5, 15.2.3.5.\n var create = objCreate;\n\n // 3. Let options be the result of calling the [[Call]] internal method of create with\n // undefined as the this value and an argument list containing the single item\n // options.\n options = create(options);\n\n // 4. Let needDefaults be true.\n var needDefaults = true;\n\n // 5. If required is \"date\" or \"any\", then\n if (required === 'date' || required === 'any') {\n // a. For each of the property names \"weekday\", \"year\", \"month\", \"day\":\n // i. If the result of calling the [[Get]] internal method of options with the\n // property name is not undefined, then let needDefaults be false.\n if (options.weekday !== undefined || options.year !== undefined || options.month !== undefined || options.day !== undefined) needDefaults = false;\n }\n\n // 6. If required is \"time\" or \"any\", then\n if (required === 'time' || required === 'any') {\n // a. For each of the property names \"hour\", \"minute\", \"second\":\n // i. If the result of calling the [[Get]] internal method of options with the\n // property name is not undefined, then let needDefaults be false.\n if (options.hour !== undefined || options.minute !== undefined || options.second !== undefined) needDefaults = false;\n }\n\n // 7. If needDefaults is true and defaults is either \"date\" or \"all\", then\n if (needDefaults && (defaults === 'date' || defaults === 'all'))\n // a. For each of the property names \"year\", \"month\", \"day\":\n // i. Call the [[DefineOwnProperty]] internal method of options with the\n // property name, Property Descriptor {[[Value]]: \"numeric\", [[Writable]]:\n // true, [[Enumerable]]: true, [[Configurable]]: true}, and false.\n options.year = options.month = options.day = 'numeric';\n\n // 8. If needDefaults is true and defaults is either \"time\" or \"all\", then\n if (needDefaults && (defaults === 'time' || defaults === 'all'))\n // a. For each of the property names \"hour\", \"minute\", \"second\":\n // i. Call the [[DefineOwnProperty]] internal method of options with the\n // property name, Property Descriptor {[[Value]]: \"numeric\", [[Writable]]:\n // true, [[Enumerable]]: true, [[Configurable]]: true}, and false.\n options.hour = options.minute = options.second = 'numeric';\n\n // 9. Return options.\n return options;\n}\n\n/**\n * When the BasicFormatMatcher abstract operation is called with two arguments options and\n * formats, the following steps are taken:\n */\nfunction BasicFormatMatcher(options, formats) {\n // 1. Let removalPenalty be 120.\n var removalPenalty = 120;\n\n // 2. Let additionPenalty be 20.\n var additionPenalty = 20;\n\n // 3. Let longLessPenalty be 8.\n var longLessPenalty = 8;\n\n // 4. Let longMorePenalty be 6.\n var longMorePenalty = 6;\n\n // 5. Let shortLessPenalty be 6.\n var shortLessPenalty = 6;\n\n // 6. Let shortMorePenalty be 3.\n var shortMorePenalty = 3;\n\n // 7. Let bestScore be -Infinity.\n var bestScore = -Infinity;\n\n // 8. Let bestFormat be undefined.\n var bestFormat = void 0;\n\n // 9. Let i be 0.\n var i = 0;\n\n // 10. Assert: formats is an Array object.\n\n // 11. Let len be the result of calling the [[Get]] internal method of formats with argument \"length\".\n var len = formats.length;\n\n // 12. Repeat while i < len:\n while (i < len) {\n // a. Let format be the result of calling the [[Get]] internal method of formats with argument ToString(i).\n var format = formats[i];\n\n // b. Let score be 0.\n var score = 0;\n\n // c. For each property shown in Table 3:\n for (var property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, property)) continue;\n\n // i. Let optionsProp be options.[[]].\n var optionsProp = options['[[' + property + ']]'];\n\n // ii. Let formatPropDesc be the result of calling the [[GetOwnProperty]] internal method of format\n // with argument property.\n // iii. If formatPropDesc is not undefined, then\n // 1. Let formatProp be the result of calling the [[Get]] internal method of format with argument property.\n var formatProp = hop.call(format, property) ? format[property] : undefined;\n\n // iv. If optionsProp is undefined and formatProp is not undefined, then decrease score by\n // additionPenalty.\n if (optionsProp === undefined && formatProp !== undefined) score -= additionPenalty;\n\n // v. Else if optionsProp is not undefined and formatProp is undefined, then decrease score by\n // removalPenalty.\n else if (optionsProp !== undefined && formatProp === undefined) score -= removalPenalty;\n\n // vi. Else\n else {\n // 1. Let values be the array [\"2-digit\", \"numeric\", \"narrow\", \"short\",\n // \"long\"].\n var values = ['2-digit', 'numeric', 'narrow', 'short', 'long'];\n\n // 2. Let optionsPropIndex be the index of optionsProp within values.\n var optionsPropIndex = arrIndexOf.call(values, optionsProp);\n\n // 3. Let formatPropIndex be the index of formatProp within values.\n var formatPropIndex = arrIndexOf.call(values, formatProp);\n\n // 4. Let delta be max(min(formatPropIndex - optionsPropIndex, 2), -2).\n var delta = Math.max(Math.min(formatPropIndex - optionsPropIndex, 2), -2);\n\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta === 2) score -= longMorePenalty;\n\n // 6. Else if delta = 1, decrease score by shortMorePenalty.\n else if (delta === 1) score -= shortMorePenalty;\n\n // 7. Else if delta = -1, decrease score by shortLessPenalty.\n else if (delta === -1) score -= shortLessPenalty;\n\n // 8. Else if delta = -2, decrease score by longLessPenalty.\n else if (delta === -2) score -= longLessPenalty;\n }\n }\n\n // d. If score > bestScore, then\n if (score > bestScore) {\n // i. Let bestScore be score.\n bestScore = score;\n\n // ii. Let bestFormat be format.\n bestFormat = format;\n }\n\n // e. Increase i by 1.\n i++;\n }\n\n // 13. Return bestFormat.\n return bestFormat;\n}\n\n/**\n * When the BestFitFormatMatcher abstract operation is called with two arguments options\n * and formats, it performs implementation dependent steps, which should return a set of\n * component representations that a typical user of the selected locale would perceive as\n * at least as good as the one returned by BasicFormatMatcher.\n *\n * This polyfill defines the algorithm to be the same as BasicFormatMatcher,\n * with the addition of bonus points awarded where the requested format is of\n * the same data type as the potentially matching format.\n *\n * This algo relies on the concept of closest distance matching described here:\n * http://unicode.org/reports/tr35/tr35-dates.html#Matching_Skeletons\n * Typically a “best match” is found using a closest distance match, such as:\n *\n * Symbols requesting a best choice for the locale are replaced.\n * j → one of {H, k, h, K}; C → one of {a, b, B}\n * -> Covered by cldr.js matching process\n *\n * For fields with symbols representing the same type (year, month, day, etc):\n * Most symbols have a small distance from each other.\n * M ≅ L; E ≅ c; a ≅ b ≅ B; H ≅ k ≅ h ≅ K; ...\n * -> Covered by cldr.js matching process\n *\n * Width differences among fields, other than those marking text vs numeric, are given small distance from each other.\n * MMM ≅ MMMM\n * MM ≅ M\n * Numeric and text fields are given a larger distance from each other.\n * MMM ≈ MM\n * Symbols representing substantial differences (week of year vs week of month) are given much larger a distances from each other.\n * d ≋ D; ...\n * Missing or extra fields cause a match to fail. (But see Missing Skeleton Fields).\n *\n *\n * For example,\n *\n * { month: 'numeric', day: 'numeric' }\n *\n * should match\n *\n * { month: '2-digit', day: '2-digit' }\n *\n * rather than\n *\n * { month: 'short', day: 'numeric' }\n *\n * This makes sense because a user requesting a formatted date with numeric parts would\n * not expect to see the returned format containing narrow, short or long part names\n */\nfunction BestFitFormatMatcher(options, formats) {\n /** Diverging: this block implements the hack for single property configuration, eg.:\n *\n * `new Intl.DateTimeFormat('en', {day: 'numeric'})`\n *\n * should produce a single digit with the day of the month. This is needed because\n * CLDR `availableFormats` data structure doesn't cover these cases.\n */\n {\n var optionsPropNames = [];\n for (var property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, property)) continue;\n\n if (options['[[' + property + ']]'] !== undefined) {\n optionsPropNames.push(property);\n }\n }\n if (optionsPropNames.length === 1) {\n var _bestFormat = generateSyntheticFormat(optionsPropNames[0], options['[[' + optionsPropNames[0] + ']]']);\n if (_bestFormat) {\n return _bestFormat;\n }\n }\n }\n\n // 1. Let removalPenalty be 120.\n var removalPenalty = 120;\n\n // 2. Let additionPenalty be 20.\n var additionPenalty = 20;\n\n // 3. Let longLessPenalty be 8.\n var longLessPenalty = 8;\n\n // 4. Let longMorePenalty be 6.\n var longMorePenalty = 6;\n\n // 5. Let shortLessPenalty be 6.\n var shortLessPenalty = 6;\n\n // 6. Let shortMorePenalty be 3.\n var shortMorePenalty = 3;\n\n var patternPenalty = 2;\n\n var hour12Penalty = 1;\n\n // 7. Let bestScore be -Infinity.\n var bestScore = -Infinity;\n\n // 8. Let bestFormat be undefined.\n var bestFormat = void 0;\n\n // 9. Let i be 0.\n var i = 0;\n\n // 10. Assert: formats is an Array object.\n\n // 11. Let len be the result of calling the [[Get]] internal method of formats with argument \"length\".\n var len = formats.length;\n\n // 12. Repeat while i < len:\n while (i < len) {\n // a. Let format be the result of calling the [[Get]] internal method of formats with argument ToString(i).\n var format = formats[i];\n\n // b. Let score be 0.\n var score = 0;\n\n // c. For each property shown in Table 3:\n for (var _property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, _property)) continue;\n\n // i. Let optionsProp be options.[[]].\n var optionsProp = options['[[' + _property + ']]'];\n\n // ii. Let formatPropDesc be the result of calling the [[GetOwnProperty]] internal method of format\n // with argument property.\n // iii. If formatPropDesc is not undefined, then\n // 1. Let formatProp be the result of calling the [[Get]] internal method of format with argument property.\n var formatProp = hop.call(format, _property) ? format[_property] : undefined;\n\n // Diverging: using the default properties produced by the pattern/skeleton\n // to match it with user options, and apply a penalty\n var patternProp = hop.call(format._, _property) ? format._[_property] : undefined;\n if (optionsProp !== patternProp) {\n score -= patternPenalty;\n }\n\n // iv. If optionsProp is undefined and formatProp is not undefined, then decrease score by\n // additionPenalty.\n if (optionsProp === undefined && formatProp !== undefined) score -= additionPenalty;\n\n // v. Else if optionsProp is not undefined and formatProp is undefined, then decrease score by\n // removalPenalty.\n else if (optionsProp !== undefined && formatProp === undefined) score -= removalPenalty;\n\n // vi. Else\n else {\n // 1. Let values be the array [\"2-digit\", \"numeric\", \"narrow\", \"short\",\n // \"long\"].\n var values = ['2-digit', 'numeric', 'narrow', 'short', 'long'];\n\n // 2. Let optionsPropIndex be the index of optionsProp within values.\n var optionsPropIndex = arrIndexOf.call(values, optionsProp);\n\n // 3. Let formatPropIndex be the index of formatProp within values.\n var formatPropIndex = arrIndexOf.call(values, formatProp);\n\n // 4. Let delta be max(min(formatPropIndex - optionsPropIndex, 2), -2).\n var delta = Math.max(Math.min(formatPropIndex - optionsPropIndex, 2), -2);\n\n {\n // diverging from spec\n // When the bestFit argument is true, subtract additional penalty where data types are not the same\n if (formatPropIndex <= 1 && optionsPropIndex >= 2 || formatPropIndex >= 2 && optionsPropIndex <= 1) {\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta > 0) score -= longMorePenalty;else if (delta < 0) score -= longLessPenalty;\n } else {\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta > 1) score -= shortMorePenalty;else if (delta < -1) score -= shortLessPenalty;\n }\n }\n }\n }\n\n {\n // diverging to also take into consideration differences between 12 or 24 hours\n // which is special for the best fit only.\n if (format._.hour12 !== options.hour12) {\n score -= hour12Penalty;\n }\n }\n\n // d. If score > bestScore, then\n if (score > bestScore) {\n // i. Let bestScore be score.\n bestScore = score;\n // ii. Let bestFormat be format.\n bestFormat = format;\n }\n\n // e. Increase i by 1.\n i++;\n }\n\n // 13. Return bestFormat.\n return bestFormat;\n}\n\n/* 12.2.3 */internals.DateTimeFormat = {\n '[[availableLocales]]': [],\n '[[relevantExtensionKeys]]': ['ca', 'nu'],\n '[[localeData]]': {}\n};\n\n/**\n * When the supportedLocalesOf method of Intl.DateTimeFormat is called, the\n * following steps are taken:\n */\n/* 12.2.2 */\ndefineProperty(Intl.DateTimeFormat, 'supportedLocalesOf', {\n configurable: true,\n writable: true,\n value: fnBind.call(function (locales) {\n // Bound functions only have the `this` value altered if being used as a constructor,\n // this lets us imitate a native function that has no constructor\n if (!hop.call(this, '[[availableLocales]]')) throw new TypeError('supportedLocalesOf() is not a constructor');\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore(),\n\n\n // 1. If options is not provided, then let options be undefined.\n options = arguments[1],\n\n\n // 2. Let availableLocales be the value of the [[availableLocales]] internal\n // property of the standard built-in object that is the initial value of\n // Intl.NumberFormat.\n\n availableLocales = this['[[availableLocales]]'],\n\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n requestedLocales = CanonicalizeLocaleList(locales);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // 4. Return the result of calling the SupportedLocales abstract operation\n // (defined in 9.2.8) with arguments availableLocales, requestedLocales,\n // and options.\n return SupportedLocales(availableLocales, requestedLocales, options);\n }, internals.NumberFormat)\n});\n\n/**\n * This named accessor property returns a function that formats a number\n * according to the effective locale and the formatting options of this\n * DateTimeFormat object.\n */\n/* 12.3.2 */defineProperty(Intl.DateTimeFormat.prototype, 'format', {\n configurable: true,\n get: GetFormatDateTime\n});\n\nfunction GetFormatDateTime() {\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 12.3_b\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for format() is not an initialized Intl.DateTimeFormat object.');\n\n // The value of the [[Get]] attribute is a function that takes the following\n // steps:\n\n // 1. If the [[boundFormat]] internal property of this DateTimeFormat object\n // is undefined, then:\n if (internal['[[boundFormat]]'] === undefined) {\n // a. Let F be a Function object, with internal properties set as\n // specified for built-in functions in ES5, 15, or successor, and the\n // length property set to 0, that takes the argument date and\n // performs the following steps:\n var F = function F() {\n var date = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n // i. If date is not provided or is undefined, then let x be the\n // result as if by the expression Date.now() where Date.now is\n // the standard built-in function defined in ES5, 15.9.4.4.\n // ii. Else let x be ToNumber(date).\n // iii. Return the result of calling the FormatDateTime abstract\n // operation (defined below) with arguments this and x.\n var x = date === undefined ? Date.now() : toNumber(date);\n return FormatDateTime(this, x);\n };\n // b. Let bind be the standard built-in function object defined in ES5,\n // 15.3.4.5.\n // c. Let bf be the result of calling the [[Call]] internal method of\n // bind with F as the this value and an argument list containing\n // the single item this.\n var bf = fnBind.call(F, this);\n // d. Set the [[boundFormat]] internal property of this NumberFormat\n // object to bf.\n internal['[[boundFormat]]'] = bf;\n }\n // Return the value of the [[boundFormat]] internal property of this\n // NumberFormat object.\n return internal['[[boundFormat]]'];\n}\n\nfunction formatToParts$1() {\n var date = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for formatToParts() is not an initialized Intl.DateTimeFormat object.');\n\n var x = date === undefined ? Date.now() : toNumber(date);\n return FormatToPartsDateTime(this, x);\n}\n\nObject.defineProperty(Intl.DateTimeFormat.prototype, 'formatToParts', {\n enumerable: false,\n writable: true,\n configurable: true,\n value: formatToParts$1\n});\n\nfunction CreateDateTimeParts(dateTimeFormat, x) {\n // 1. If x is not a finite Number, then throw a RangeError exception.\n if (!isFinite(x)) throw new RangeError('Invalid valid date passed to format');\n\n var internal = dateTimeFormat.__getInternalProperties(secret);\n\n // Creating restore point for properties on the RegExp object... please wait\n /* let regexpRestore = */createRegExpRestore(); // ###TODO: review this\n\n // 2. Let locale be the value of the [[locale]] internal property of dateTimeFormat.\n var locale = internal['[[locale]]'];\n\n // 3. Let nf be the result of creating a new NumberFormat object as if by the\n // expression new Intl.NumberFormat([locale], {useGrouping: false}) where\n // Intl.NumberFormat is the standard built-in constructor defined in 11.1.3.\n var nf = new Intl.NumberFormat([locale], { useGrouping: false });\n\n // 4. Let nf2 be the result of creating a new NumberFormat object as if by the\n // expression new Intl.NumberFormat([locale], {minimumIntegerDigits: 2, useGrouping:\n // false}) where Intl.NumberFormat is the standard built-in constructor defined in\n // 11.1.3.\n var nf2 = new Intl.NumberFormat([locale], { minimumIntegerDigits: 2, useGrouping: false });\n\n // 5. Let tm be the result of calling the ToLocalTime abstract operation (defined\n // below) with x, the value of the [[calendar]] internal property of dateTimeFormat,\n // and the value of the [[timeZone]] internal property of dateTimeFormat.\n var tm = ToLocalTime(x, internal['[[calendar]]'], internal['[[timeZone]]']);\n\n // 6. Let result be the value of the [[pattern]] internal property of dateTimeFormat.\n var pattern = internal['[[pattern]]'];\n\n // 7.\n var result = new List();\n\n // 8.\n var index = 0;\n\n // 9.\n var beginIndex = pattern.indexOf('{');\n\n // 10.\n var endIndex = 0;\n\n // Need the locale minus any extensions\n var dataLocale = internal['[[dataLocale]]'];\n\n // Need the calendar data from CLDR\n var localeData = internals.DateTimeFormat['[[localeData]]'][dataLocale].calendars;\n var ca = internal['[[calendar]]'];\n\n // 11.\n while (beginIndex !== -1) {\n var fv = void 0;\n // a.\n endIndex = pattern.indexOf('}', beginIndex);\n // b.\n if (endIndex === -1) {\n throw new Error('Unclosed pattern');\n }\n // c.\n if (beginIndex > index) {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substring(index, beginIndex)\n });\n }\n // d.\n var p = pattern.substring(beginIndex + 1, endIndex);\n // e.\n if (dateTimeComponents.hasOwnProperty(p)) {\n // i. Let f be the value of the [[

]] internal property of dateTimeFormat.\n var f = internal['[[' + p + ']]'];\n // ii. Let v be the value of tm.[[

]].\n var v = tm['[[' + p + ']]'];\n // iii. If p is \"year\" and v ≤ 0, then let v be 1 - v.\n if (p === 'year' && v <= 0) {\n v = 1 - v;\n }\n // iv. If p is \"month\", then increase v by 1.\n else if (p === 'month') {\n v++;\n }\n // v. If p is \"hour\" and the value of the [[hour12]] internal property of\n // dateTimeFormat is true, then\n else if (p === 'hour' && internal['[[hour12]]'] === true) {\n // 1. Let v be v modulo 12.\n v = v % 12;\n // 2. If v is 0 and the value of the [[hourNo0]] internal property of\n // dateTimeFormat is true, then let v be 12.\n if (v === 0 && internal['[[hourNo0]]'] === true) {\n v = 12;\n }\n }\n\n // vi. If f is \"numeric\", then\n if (f === 'numeric') {\n // 1. Let fv be the result of calling the FormatNumber abstract operation\n // (defined in 11.3.2) with arguments nf and v.\n fv = FormatNumber(nf, v);\n }\n // vii. Else if f is \"2-digit\", then\n else if (f === '2-digit') {\n // 1. Let fv be the result of calling the FormatNumber abstract operation\n // with arguments nf2 and v.\n fv = FormatNumber(nf2, v);\n // 2. If the length of fv is greater than 2, let fv be the substring of fv\n // containing the last two characters.\n if (fv.length > 2) {\n fv = fv.slice(-2);\n }\n }\n // viii. Else if f is \"narrow\", \"short\", or \"long\", then let fv be a String\n // value representing f in the desired form; the String value depends upon\n // the implementation and the effective locale and calendar of\n // dateTimeFormat. If p is \"month\", then the String value may also depend\n // on whether dateTimeFormat has a [[day]] internal property. If p is\n // \"timeZoneName\", then the String value may also depend on the value of\n // the [[inDST]] field of tm.\n else if (f in dateWidths) {\n switch (p) {\n case 'month':\n fv = resolveDateString(localeData, ca, 'months', f, tm['[[' + p + ']]']);\n break;\n\n case 'weekday':\n try {\n fv = resolveDateString(localeData, ca, 'days', f, tm['[[' + p + ']]']);\n // fv = resolveDateString(ca.days, f)[tm['[['+ p +']]']];\n } catch (e) {\n throw new Error('Could not find weekday data for locale ' + locale);\n }\n break;\n\n case 'timeZoneName':\n fv = ''; // ###TODO\n break;\n\n case 'era':\n try {\n fv = resolveDateString(localeData, ca, 'eras', f, tm['[[' + p + ']]']);\n } catch (e) {\n throw new Error('Could not find era data for locale ' + locale);\n }\n break;\n\n default:\n fv = tm['[[' + p + ']]'];\n }\n }\n // ix\n arrPush.call(result, {\n type: p,\n value: fv\n });\n // f.\n } else if (p === 'ampm') {\n // i.\n var _v = tm['[[hour]]'];\n // ii./iii.\n fv = resolveDateString(localeData, ca, 'dayPeriods', _v > 11 ? 'pm' : 'am', null);\n // iv.\n arrPush.call(result, {\n type: 'dayPeriod',\n value: fv\n });\n // g.\n } else {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substring(beginIndex, endIndex + 1)\n });\n }\n // h.\n index = endIndex + 1;\n // i.\n beginIndex = pattern.indexOf('{', index);\n }\n // 12.\n if (endIndex < pattern.length - 1) {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substr(endIndex + 1)\n });\n }\n // 13.\n return result;\n}\n\n/**\n * When the FormatDateTime abstract operation is called with arguments dateTimeFormat\n * (which must be an object initialized as a DateTimeFormat) and x (which must be a Number\n * value), it returns a String value representing x (interpreted as a time value as\n * specified in ES5, 15.9.1.1) according to the effective locale and the formatting\n * options of dateTimeFormat.\n */\nfunction FormatDateTime(dateTimeFormat, x) {\n var parts = CreateDateTimeParts(dateTimeFormat, x);\n var result = '';\n\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n result += part.value;\n }\n return result;\n}\n\nfunction FormatToPartsDateTime(dateTimeFormat, x) {\n var parts = CreateDateTimeParts(dateTimeFormat, x);\n var result = [];\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n result.push({\n type: part.type,\n value: part.value\n });\n }\n return result;\n}\n\n/**\n * When the ToLocalTime abstract operation is called with arguments date, calendar, and\n * timeZone, the following steps are taken:\n */\nfunction ToLocalTime(date, calendar, timeZone) {\n // 1. Apply calendrical calculations on date for the given calendar and time zone to\n // produce weekday, era, year, month, day, hour, minute, second, and inDST values.\n // The calculations should use best available information about the specified\n // calendar and time zone. If the calendar is \"gregory\", then the calculations must\n // match the algorithms specified in ES5, 15.9.1, except that calculations are not\n // bound by the restrictions on the use of best available information on time zones\n // for local time zone adjustment and daylight saving time adjustment imposed by\n // ES5, 15.9.1.7 and 15.9.1.8.\n // ###TODO###\n var d = new Date(date),\n m = 'get' + (timeZone || '');\n\n // 2. Return a Record with fields [[weekday]], [[era]], [[year]], [[month]], [[day]],\n // [[hour]], [[minute]], [[second]], and [[inDST]], each with the corresponding\n // calculated value.\n return new Record({\n '[[weekday]]': d[m + 'Day'](),\n '[[era]]': +(d[m + 'FullYear']() >= 0),\n '[[year]]': d[m + 'FullYear'](),\n '[[month]]': d[m + 'Month'](),\n '[[day]]': d[m + 'Date'](),\n '[[hour]]': d[m + 'Hours'](),\n '[[minute]]': d[m + 'Minutes'](),\n '[[second]]': d[m + 'Seconds'](),\n '[[inDST]]': false // ###TODO###\n });\n}\n\n/**\n * The function returns a new object whose properties and attributes are set as if\n * constructed by an object literal assigning to each of the following properties the\n * value of the corresponding internal property of this DateTimeFormat object (see 12.4):\n * locale, calendar, numberingSystem, timeZone, hour12, weekday, era, year, month, day,\n * hour, minute, second, and timeZoneName. Properties whose corresponding internal\n * properties are not present are not assigned.\n */\n/* 12.3.3 */defineProperty(Intl.DateTimeFormat.prototype, 'resolvedOptions', {\n writable: true,\n configurable: true,\n value: function value() {\n var prop = void 0,\n descs = new Record(),\n props = ['locale', 'calendar', 'numberingSystem', 'timeZone', 'hour12', 'weekday', 'era', 'year', 'month', 'day', 'hour', 'minute', 'second', 'timeZoneName'],\n internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 12.3_b\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for resolvedOptions() is not an initialized Intl.DateTimeFormat object.');\n\n for (var i = 0, max = props.length; i < max; i++) {\n if (hop.call(internal, prop = '[[' + props[i] + ']]')) descs[props[i]] = { value: internal[prop], writable: true, configurable: true, enumerable: true };\n }\n\n return objCreate({}, descs);\n }\n});\n\nvar ls = Intl.__localeSensitiveProtos = {\n Number: {},\n Date: {}\n};\n\n/**\n * When the toLocaleString method is called with optional arguments locales and options,\n * the following steps are taken:\n */\n/* 13.2.1 */ls.Number.toLocaleString = function () {\n // Satisfy test 13.2.1_1\n if (Object.prototype.toString.call(this) !== '[object Number]') throw new TypeError('`this` value must be a number for Number.prototype.toLocaleString()');\n\n // 1. Let x be this Number value (as defined in ES5, 15.7.4).\n // 2. If locales is not provided, then let locales be undefined.\n // 3. If options is not provided, then let options be undefined.\n // 4. Let numberFormat be the result of creating a new object as if by the\n // expression new Intl.NumberFormat(locales, options) where\n // Intl.NumberFormat is the standard built-in constructor defined in 11.1.3.\n // 5. Return the result of calling the FormatNumber abstract operation\n // (defined in 11.3.2) with arguments numberFormat and x.\n return FormatNumber(new NumberFormatConstructor(arguments[0], arguments[1]), this);\n};\n\n/**\n * When the toLocaleString method is called with optional arguments locales and options,\n * the following steps are taken:\n */\n/* 13.3.1 */ls.Date.toLocaleString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0];\n\n // 4. If options is not provided, then let options be undefined.\n var options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"any\", and \"all\".\n options = ToDateTimeOptions(options, 'any', 'all');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\n/**\n * When the toLocaleDateString method is called with optional arguments locales and\n * options, the following steps are taken:\n */\n/* 13.3.2 */ls.Date.toLocaleDateString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleDateString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0],\n\n\n // 4. If options is not provided, then let options be undefined.\n options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"date\", and \"date\".\n options = ToDateTimeOptions(options, 'date', 'date');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\n/**\n * When the toLocaleTimeString method is called with optional arguments locales and\n * options, the following steps are taken:\n */\n/* 13.3.3 */ls.Date.toLocaleTimeString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleTimeString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0];\n\n // 4. If options is not provided, then let options be undefined.\n var options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"time\", and \"time\".\n options = ToDateTimeOptions(options, 'time', 'time');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\ndefineProperty(Intl, '__applyLocaleSensitivePrototypes', {\n writable: true,\n configurable: true,\n value: function value() {\n defineProperty(Number.prototype, 'toLocaleString', { writable: true, configurable: true, value: ls.Number.toLocaleString });\n // Need this here for IE 8, to avoid the _DontEnum_ bug\n defineProperty(Date.prototype, 'toLocaleString', { writable: true, configurable: true, value: ls.Date.toLocaleString });\n\n for (var k in ls.Date) {\n if (hop.call(ls.Date, k)) defineProperty(Date.prototype, k, { writable: true, configurable: true, value: ls.Date[k] });\n }\n }\n});\n\n/**\n * Can't really ship a single script with data for hundreds of locales, so we provide\n * this __addLocaleData method as a means for the developer to add the data on an\n * as-needed basis\n */\ndefineProperty(Intl, '__addLocaleData', {\n value: function value(data) {\n if (!IsStructurallyValidLanguageTag(data.locale)) throw new Error(\"Object passed doesn't identify itself with a valid language tag\");\n\n addLocaleData(data, data.locale);\n }\n});\n\nfunction addLocaleData(data, tag) {\n // Both NumberFormat and DateTimeFormat require number data, so throw if it isn't present\n if (!data.number) throw new Error(\"Object passed doesn't contain locale data for Intl.NumberFormat\");\n\n var locale = void 0,\n locales = [tag],\n parts = tag.split('-');\n\n // Create fallbacks for locale data with scripts, e.g. Latn, Hans, Vaii, etc\n if (parts.length > 2 && parts[1].length === 4) arrPush.call(locales, parts[0] + '-' + parts[2]);\n\n while (locale = arrShift.call(locales)) {\n // Add to NumberFormat internal properties as per 11.2.3\n arrPush.call(internals.NumberFormat['[[availableLocales]]'], locale);\n internals.NumberFormat['[[localeData]]'][locale] = data.number;\n\n // ...and DateTimeFormat internal properties as per 12.2.3\n if (data.date) {\n data.date.nu = data.number.nu;\n arrPush.call(internals.DateTimeFormat['[[availableLocales]]'], locale);\n internals.DateTimeFormat['[[localeData]]'][locale] = data.date;\n }\n }\n\n // If this is the first set of locale data added, make it the default\n if (defaultLocale === undefined) setDefaultLocale(tag);\n}\n\ndefineProperty(Intl, '__disableRegExpRestore', {\n value: function value() {\n internals.disableRegExpRestore = true;\n }\n});\n\nmodule.exports = Intl;" + }, + { + "id": 824, + "identifier": "ignored /home/lambda/repos/mastodon/node_modules/intl ./locale-data/complete.js", + "name": "./locale-data/complete.js (ignored)", + "index": 6, + "index2": 2, + "size": 15, + "cacheable": true, + "built": false, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl/index.js", + "issuerId": 822, + "issuerName": "./node_modules/intl/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 822, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl/index.js", + "module": "./node_modules/intl/index.js", + "moduleName": "./node_modules/intl/index.js", + "type": "cjs require", + "userRequest": "./locale-data/complete.js", + "loc": "6:0-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4 + }, + { + "id": 825, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl/locale-data/jsonp/en.js", + "name": "./node_modules/intl/locale-data/jsonp/en.js", + "index": 7, + "index2": 4, + "size": 26319, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "issuerId": 749, + "issuerName": "./app/javascript/mastodon/base_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 749, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "module": "./app/javascript/mastodon/base_polyfills.js", + "moduleName": "./app/javascript/mastodon/base_polyfills.js", + "type": "harmony import", + "userRequest": "intl/locale-data/jsonp/en", + "loc": "2:0-35" + } + ], + "usedExports": false, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "IntlPolyfill.__addLocaleData({ locale: \"en\", date: { ca: [\"gregory\", \"buddhist\", \"chinese\", \"coptic\", \"dangi\", \"ethioaa\", \"ethiopic\", \"generic\", \"hebrew\", \"indian\", \"islamic\", \"islamicc\", \"japanese\", \"persian\", \"roc\"], hourNo0: true, hour12: true, formats: { short: \"{1}, {0}\", medium: \"{1}, {0}\", full: \"{1} 'at' {0}\", long: \"{1} 'at' {0}\", availableFormats: { \"d\": \"d\", \"E\": \"ccc\", Ed: \"d E\", Ehm: \"E h:mm a\", EHm: \"E HH:mm\", Ehms: \"E h:mm:ss a\", EHms: \"E HH:mm:ss\", Gy: \"y G\", GyMMM: \"MMM y G\", GyMMMd: \"MMM d, y G\", GyMMMEd: \"E, MMM d, y G\", \"h\": \"h a\", \"H\": \"HH\", hm: \"h:mm a\", Hm: \"HH:mm\", hms: \"h:mm:ss a\", Hms: \"HH:mm:ss\", hmsv: \"h:mm:ss a v\", Hmsv: \"HH:mm:ss v\", hmv: \"h:mm a v\", Hmv: \"HH:mm v\", \"M\": \"L\", Md: \"M/d\", MEd: \"E, M/d\", MMM: \"LLL\", MMMd: \"MMM d\", MMMEd: \"E, MMM d\", MMMMd: \"MMMM d\", ms: \"mm:ss\", \"y\": \"y\", yM: \"M/y\", yMd: \"M/d/y\", yMEd: \"E, M/d/y\", yMMM: \"MMM y\", yMMMd: \"MMM d, y\", yMMMEd: \"E, MMM d, y\", yMMMM: \"MMMM y\", yQQQ: \"QQQ y\", yQQQQ: \"QQQQ y\" }, dateFormats: { yMMMMEEEEd: \"EEEE, MMMM d, y\", yMMMMd: \"MMMM d, y\", yMMMd: \"MMM d, y\", yMd: \"M/d/yy\" }, timeFormats: { hmmsszzzz: \"h:mm:ss a zzzz\", hmsz: \"h:mm:ss a z\", hms: \"h:mm:ss a\", hm: \"h:mm a\" } }, calendars: { buddhist: { months: { narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"], short: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], long: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"BE\"], short: [\"BE\"], long: [\"BE\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, chinese: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"], short: [\"Mo1\", \"Mo2\", \"Mo3\", \"Mo4\", \"Mo5\", \"Mo6\", \"Mo7\", \"Mo8\", \"Mo9\", \"Mo10\", \"Mo11\", \"Mo12\"], long: [\"Month1\", \"Month2\", \"Month3\", \"Month4\", \"Month5\", \"Month6\", \"Month7\", \"Month8\", \"Month9\", \"Month10\", \"Month11\", \"Month12\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, coptic: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\"], short: [\"Tout\", \"Baba\", \"Hator\", \"Kiahk\", \"Toba\", \"Amshir\", \"Baramhat\", \"Baramouda\", \"Bashans\", \"Paona\", \"Epep\", \"Mesra\", \"Nasie\"], long: [\"Tout\", \"Baba\", \"Hator\", \"Kiahk\", \"Toba\", \"Amshir\", \"Baramhat\", \"Baramouda\", \"Bashans\", \"Paona\", \"Epep\", \"Mesra\", \"Nasie\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"ERA0\", \"ERA1\"], short: [\"ERA0\", \"ERA1\"], long: [\"ERA0\", \"ERA1\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, dangi: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"], short: [\"Mo1\", \"Mo2\", \"Mo3\", \"Mo4\", \"Mo5\", \"Mo6\", \"Mo7\", \"Mo8\", \"Mo9\", \"Mo10\", \"Mo11\", \"Mo12\"], long: [\"Month1\", \"Month2\", \"Month3\", \"Month4\", \"Month5\", \"Month6\", \"Month7\", \"Month8\", \"Month9\", \"Month10\", \"Month11\", \"Month12\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, ethiopic: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\"], short: [\"Meskerem\", \"Tekemt\", \"Hedar\", \"Tahsas\", \"Ter\", \"Yekatit\", \"Megabit\", \"Miazia\", \"Genbot\", \"Sene\", \"Hamle\", \"Nehasse\", \"Pagumen\"], long: [\"Meskerem\", \"Tekemt\", \"Hedar\", \"Tahsas\", \"Ter\", \"Yekatit\", \"Megabit\", \"Miazia\", \"Genbot\", \"Sene\", \"Hamle\", \"Nehasse\", \"Pagumen\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"ERA0\", \"ERA1\"], short: [\"ERA0\", \"ERA1\"], long: [\"ERA0\", \"ERA1\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, ethioaa: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\"], short: [\"Meskerem\", \"Tekemt\", \"Hedar\", \"Tahsas\", \"Ter\", \"Yekatit\", \"Megabit\", \"Miazia\", \"Genbot\", \"Sene\", \"Hamle\", \"Nehasse\", \"Pagumen\"], long: [\"Meskerem\", \"Tekemt\", \"Hedar\", \"Tahsas\", \"Ter\", \"Yekatit\", \"Megabit\", \"Miazia\", \"Genbot\", \"Sene\", \"Hamle\", \"Nehasse\", \"Pagumen\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"ERA0\"], short: [\"ERA0\"], long: [\"ERA0\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, generic: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"], short: [\"M01\", \"M02\", \"M03\", \"M04\", \"M05\", \"M06\", \"M07\", \"M08\", \"M09\", \"M10\", \"M11\", \"M12\"], long: [\"M01\", \"M02\", \"M03\", \"M04\", \"M05\", \"M06\", \"M07\", \"M08\", \"M09\", \"M10\", \"M11\", \"M12\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"ERA0\", \"ERA1\"], short: [\"ERA0\", \"ERA1\"], long: [\"ERA0\", \"ERA1\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, gregory: { months: { narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"], short: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], long: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"B\", \"A\", \"BCE\", \"CE\"], short: [\"BC\", \"AD\", \"BCE\", \"CE\"], long: [\"Before Christ\", \"Anno Domini\", \"Before Common Era\", \"Common Era\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, hebrew: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"7\"], short: [\"Tishri\", \"Heshvan\", \"Kislev\", \"Tevet\", \"Shevat\", \"Adar I\", \"Adar\", \"Nisan\", \"Iyar\", \"Sivan\", \"Tamuz\", \"Av\", \"Elul\", \"Adar II\"], long: [\"Tishri\", \"Heshvan\", \"Kislev\", \"Tevet\", \"Shevat\", \"Adar I\", \"Adar\", \"Nisan\", \"Iyar\", \"Sivan\", \"Tamuz\", \"Av\", \"Elul\", \"Adar II\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"AM\"], short: [\"AM\"], long: [\"AM\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, indian: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"], short: [\"Chaitra\", \"Vaisakha\", \"Jyaistha\", \"Asadha\", \"Sravana\", \"Bhadra\", \"Asvina\", \"Kartika\", \"Agrahayana\", \"Pausa\", \"Magha\", \"Phalguna\"], long: [\"Chaitra\", \"Vaisakha\", \"Jyaistha\", \"Asadha\", \"Sravana\", \"Bhadra\", \"Asvina\", \"Kartika\", \"Agrahayana\", \"Pausa\", \"Magha\", \"Phalguna\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"Saka\"], short: [\"Saka\"], long: [\"Saka\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, islamic: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"], short: [\"Muh.\", \"Saf.\", \"Rab. I\", \"Rab. II\", \"Jum. I\", \"Jum. II\", \"Raj.\", \"Sha.\", \"Ram.\", \"Shaw.\", \"Dhuʻl-Q.\", \"Dhuʻl-H.\"], long: [\"Muharram\", \"Safar\", \"Rabiʻ I\", \"Rabiʻ II\", \"Jumada I\", \"Jumada II\", \"Rajab\", \"Shaʻban\", \"Ramadan\", \"Shawwal\", \"Dhuʻl-Qiʻdah\", \"Dhuʻl-Hijjah\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"AH\"], short: [\"AH\"], long: [\"AH\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, islamicc: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"], short: [\"Muh.\", \"Saf.\", \"Rab. I\", \"Rab. II\", \"Jum. I\", \"Jum. II\", \"Raj.\", \"Sha.\", \"Ram.\", \"Shaw.\", \"Dhuʻl-Q.\", \"Dhuʻl-H.\"], long: [\"Muharram\", \"Safar\", \"Rabiʻ I\", \"Rabiʻ II\", \"Jumada I\", \"Jumada II\", \"Rajab\", \"Shaʻban\", \"Ramadan\", \"Shawwal\", \"Dhuʻl-Qiʻdah\", \"Dhuʻl-Hijjah\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"AH\"], short: [\"AH\"], long: [\"AH\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, japanese: { months: { narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"], short: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], long: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"Taika (645–650)\", \"Hakuchi (650–671)\", \"Hakuhō (672–686)\", \"Shuchō (686–701)\", \"Taihō (701–704)\", \"Keiun (704–708)\", \"Wadō (708–715)\", \"Reiki (715–717)\", \"Yōrō (717–724)\", \"Jinki (724–729)\", \"Tenpyō (729–749)\", \"Tenpyō-kampō (749-749)\", \"Tenpyō-shōhō (749-757)\", \"Tenpyō-hōji (757-765)\", \"Tenpyō-jingo (765-767)\", \"Jingo-keiun (767-770)\", \"Hōki (770–780)\", \"Ten-ō (781-782)\", \"Enryaku (782–806)\", \"Daidō (806–810)\", \"Kōnin (810–824)\", \"Tenchō (824–834)\", \"Jōwa (834–848)\", \"Kajō (848–851)\", \"Ninju (851–854)\", \"Saikō (854–857)\", \"Ten-an (857-859)\", \"Jōgan (859–877)\", \"Gangyō (877–885)\", \"Ninna (885–889)\", \"Kanpyō (889–898)\", \"Shōtai (898–901)\", \"Engi (901–923)\", \"Enchō (923–931)\", \"Jōhei (931–938)\", \"Tengyō (938–947)\", \"Tenryaku (947–957)\", \"Tentoku (957–961)\", \"Ōwa (961–964)\", \"Kōhō (964–968)\", \"Anna (968–970)\", \"Tenroku (970–973)\", \"Ten’en (973–976)\", \"Jōgen (976–978)\", \"Tengen (978–983)\", \"Eikan (983–985)\", \"Kanna (985–987)\", \"Eien (987–989)\", \"Eiso (989–990)\", \"Shōryaku (990–995)\", \"Chōtoku (995–999)\", \"Chōhō (999–1004)\", \"Kankō (1004–1012)\", \"Chōwa (1012–1017)\", \"Kannin (1017–1021)\", \"Jian (1021–1024)\", \"Manju (1024–1028)\", \"Chōgen (1028–1037)\", \"Chōryaku (1037–1040)\", \"Chōkyū (1040–1044)\", \"Kantoku (1044–1046)\", \"Eishō (1046–1053)\", \"Tengi (1053–1058)\", \"Kōhei (1058–1065)\", \"Jiryaku (1065–1069)\", \"Enkyū (1069–1074)\", \"Shōho (1074–1077)\", \"Shōryaku (1077–1081)\", \"Eihō (1081–1084)\", \"Ōtoku (1084–1087)\", \"Kanji (1087–1094)\", \"Kahō (1094–1096)\", \"Eichō (1096–1097)\", \"Jōtoku (1097–1099)\", \"Kōwa (1099–1104)\", \"Chōji (1104–1106)\", \"Kashō (1106–1108)\", \"Tennin (1108–1110)\", \"Ten-ei (1110-1113)\", \"Eikyū (1113–1118)\", \"Gen’ei (1118–1120)\", \"Hōan (1120–1124)\", \"Tenji (1124–1126)\", \"Daiji (1126–1131)\", \"Tenshō (1131–1132)\", \"Chōshō (1132–1135)\", \"Hōen (1135–1141)\", \"Eiji (1141–1142)\", \"Kōji (1142–1144)\", \"Ten’yō (1144–1145)\", \"Kyūan (1145–1151)\", \"Ninpei (1151–1154)\", \"Kyūju (1154–1156)\", \"Hōgen (1156–1159)\", \"Heiji (1159–1160)\", \"Eiryaku (1160–1161)\", \"Ōho (1161–1163)\", \"Chōkan (1163–1165)\", \"Eiman (1165–1166)\", \"Nin’an (1166–1169)\", \"Kaō (1169–1171)\", \"Shōan (1171–1175)\", \"Angen (1175–1177)\", \"Jishō (1177–1181)\", \"Yōwa (1181–1182)\", \"Juei (1182–1184)\", \"Genryaku (1184–1185)\", \"Bunji (1185–1190)\", \"Kenkyū (1190–1199)\", \"Shōji (1199–1201)\", \"Kennin (1201–1204)\", \"Genkyū (1204–1206)\", \"Ken’ei (1206–1207)\", \"Jōgen (1207–1211)\", \"Kenryaku (1211–1213)\", \"Kenpō (1213–1219)\", \"Jōkyū (1219–1222)\", \"Jōō (1222–1224)\", \"Gennin (1224–1225)\", \"Karoku (1225–1227)\", \"Antei (1227–1229)\", \"Kanki (1229–1232)\", \"Jōei (1232–1233)\", \"Tenpuku (1233–1234)\", \"Bunryaku (1234–1235)\", \"Katei (1235–1238)\", \"Ryakunin (1238–1239)\", \"En’ō (1239–1240)\", \"Ninji (1240–1243)\", \"Kangen (1243–1247)\", \"Hōji (1247–1249)\", \"Kenchō (1249–1256)\", \"Kōgen (1256–1257)\", \"Shōka (1257–1259)\", \"Shōgen (1259–1260)\", \"Bun’ō (1260–1261)\", \"Kōchō (1261–1264)\", \"Bun’ei (1264–1275)\", \"Kenji (1275–1278)\", \"Kōan (1278–1288)\", \"Shōō (1288–1293)\", \"Einin (1293–1299)\", \"Shōan (1299–1302)\", \"Kengen (1302–1303)\", \"Kagen (1303–1306)\", \"Tokuji (1306–1308)\", \"Enkyō (1308–1311)\", \"Ōchō (1311–1312)\", \"Shōwa (1312–1317)\", \"Bunpō (1317–1319)\", \"Genō (1319–1321)\", \"Genkō (1321–1324)\", \"Shōchū (1324–1326)\", \"Karyaku (1326–1329)\", \"Gentoku (1329–1331)\", \"Genkō (1331–1334)\", \"Kenmu (1334–1336)\", \"Engen (1336–1340)\", \"Kōkoku (1340–1346)\", \"Shōhei (1346–1370)\", \"Kentoku (1370–1372)\", \"Bunchū (1372–1375)\", \"Tenju (1375–1379)\", \"Kōryaku (1379–1381)\", \"Kōwa (1381–1384)\", \"Genchū (1384–1392)\", \"Meitoku (1384–1387)\", \"Kakei (1387–1389)\", \"Kōō (1389–1390)\", \"Meitoku (1390–1394)\", \"Ōei (1394–1428)\", \"Shōchō (1428–1429)\", \"Eikyō (1429–1441)\", \"Kakitsu (1441–1444)\", \"Bun’an (1444–1449)\", \"Hōtoku (1449–1452)\", \"Kyōtoku (1452–1455)\", \"Kōshō (1455–1457)\", \"Chōroku (1457–1460)\", \"Kanshō (1460–1466)\", \"Bunshō (1466–1467)\", \"Ōnin (1467–1469)\", \"Bunmei (1469–1487)\", \"Chōkyō (1487–1489)\", \"Entoku (1489–1492)\", \"Meiō (1492–1501)\", \"Bunki (1501–1504)\", \"Eishō (1504–1521)\", \"Taiei (1521–1528)\", \"Kyōroku (1528–1532)\", \"Tenbun (1532–1555)\", \"Kōji (1555–1558)\", \"Eiroku (1558–1570)\", \"Genki (1570–1573)\", \"Tenshō (1573–1592)\", \"Bunroku (1592–1596)\", \"Keichō (1596–1615)\", \"Genna (1615–1624)\", \"Kan’ei (1624–1644)\", \"Shōho (1644–1648)\", \"Keian (1648–1652)\", \"Jōō (1652–1655)\", \"Meireki (1655–1658)\", \"Manji (1658–1661)\", \"Kanbun (1661–1673)\", \"Enpō (1673–1681)\", \"Tenna (1681–1684)\", \"Jōkyō (1684–1688)\", \"Genroku (1688–1704)\", \"Hōei (1704–1711)\", \"Shōtoku (1711–1716)\", \"Kyōhō (1716–1736)\", \"Genbun (1736–1741)\", \"Kanpō (1741–1744)\", \"Enkyō (1744–1748)\", \"Kan’en (1748–1751)\", \"Hōreki (1751–1764)\", \"Meiwa (1764–1772)\", \"An’ei (1772–1781)\", \"Tenmei (1781–1789)\", \"Kansei (1789–1801)\", \"Kyōwa (1801–1804)\", \"Bunka (1804–1818)\", \"Bunsei (1818–1830)\", \"Tenpō (1830–1844)\", \"Kōka (1844–1848)\", \"Kaei (1848–1854)\", \"Ansei (1854–1860)\", \"Man’en (1860–1861)\", \"Bunkyū (1861–1864)\", \"Genji (1864–1865)\", \"Keiō (1865–1868)\", \"M\", \"T\", \"S\", \"H\"], short: [\"Taika (645–650)\", \"Hakuchi (650–671)\", \"Hakuhō (672–686)\", \"Shuchō (686–701)\", \"Taihō (701–704)\", \"Keiun (704–708)\", \"Wadō (708–715)\", \"Reiki (715–717)\", \"Yōrō (717–724)\", \"Jinki (724–729)\", \"Tenpyō (729–749)\", \"Tenpyō-kampō (749-749)\", \"Tenpyō-shōhō (749-757)\", \"Tenpyō-hōji (757-765)\", \"Tenpyō-jingo (765-767)\", \"Jingo-keiun (767-770)\", \"Hōki (770–780)\", \"Ten-ō (781-782)\", \"Enryaku (782–806)\", \"Daidō (806–810)\", \"Kōnin (810–824)\", \"Tenchō (824–834)\", \"Jōwa (834–848)\", \"Kajō (848–851)\", \"Ninju (851–854)\", \"Saikō (854–857)\", \"Ten-an (857-859)\", \"Jōgan (859–877)\", \"Gangyō (877–885)\", \"Ninna (885–889)\", \"Kanpyō (889–898)\", \"Shōtai (898–901)\", \"Engi (901–923)\", \"Enchō (923–931)\", \"Jōhei (931–938)\", \"Tengyō (938–947)\", \"Tenryaku (947–957)\", \"Tentoku (957–961)\", \"Ōwa (961–964)\", \"Kōhō (964–968)\", \"Anna (968–970)\", \"Tenroku (970–973)\", \"Ten’en (973–976)\", \"Jōgen (976–978)\", \"Tengen (978–983)\", \"Eikan (983–985)\", \"Kanna (985–987)\", \"Eien (987–989)\", \"Eiso (989–990)\", \"Shōryaku (990–995)\", \"Chōtoku (995–999)\", \"Chōhō (999–1004)\", \"Kankō (1004–1012)\", \"Chōwa (1012–1017)\", \"Kannin (1017–1021)\", \"Jian (1021–1024)\", \"Manju (1024–1028)\", \"Chōgen (1028–1037)\", \"Chōryaku (1037–1040)\", \"Chōkyū (1040–1044)\", \"Kantoku (1044–1046)\", \"Eishō (1046–1053)\", \"Tengi (1053–1058)\", \"Kōhei (1058–1065)\", \"Jiryaku (1065–1069)\", \"Enkyū (1069–1074)\", \"Shōho (1074–1077)\", \"Shōryaku (1077–1081)\", \"Eihō (1081–1084)\", \"Ōtoku (1084–1087)\", \"Kanji (1087–1094)\", \"Kahō (1094–1096)\", \"Eichō (1096–1097)\", \"Jōtoku (1097–1099)\", \"Kōwa (1099–1104)\", \"Chōji (1104–1106)\", \"Kashō (1106–1108)\", \"Tennin (1108–1110)\", \"Ten-ei (1110-1113)\", \"Eikyū (1113–1118)\", \"Gen’ei (1118–1120)\", \"Hōan (1120–1124)\", \"Tenji (1124–1126)\", \"Daiji (1126–1131)\", \"Tenshō (1131–1132)\", \"Chōshō (1132–1135)\", \"Hōen (1135–1141)\", \"Eiji (1141–1142)\", \"Kōji (1142–1144)\", \"Ten’yō (1144–1145)\", \"Kyūan (1145–1151)\", \"Ninpei (1151–1154)\", \"Kyūju (1154–1156)\", \"Hōgen (1156–1159)\", \"Heiji (1159–1160)\", \"Eiryaku (1160–1161)\", \"Ōho (1161–1163)\", \"Chōkan (1163–1165)\", \"Eiman (1165–1166)\", \"Nin’an (1166–1169)\", \"Kaō (1169–1171)\", \"Shōan (1171–1175)\", \"Angen (1175–1177)\", \"Jishō (1177–1181)\", \"Yōwa (1181–1182)\", \"Juei (1182–1184)\", \"Genryaku (1184–1185)\", \"Bunji (1185–1190)\", \"Kenkyū (1190–1199)\", \"Shōji (1199–1201)\", \"Kennin (1201–1204)\", \"Genkyū (1204–1206)\", \"Ken’ei (1206–1207)\", \"Jōgen (1207–1211)\", \"Kenryaku (1211–1213)\", \"Kenpō (1213–1219)\", \"Jōkyū (1219–1222)\", \"Jōō (1222–1224)\", \"Gennin (1224–1225)\", \"Karoku (1225–1227)\", \"Antei (1227–1229)\", \"Kanki (1229–1232)\", \"Jōei (1232–1233)\", \"Tenpuku (1233–1234)\", \"Bunryaku (1234–1235)\", \"Katei (1235–1238)\", \"Ryakunin (1238–1239)\", \"En’ō (1239–1240)\", \"Ninji (1240–1243)\", \"Kangen (1243–1247)\", \"Hōji (1247–1249)\", \"Kenchō (1249–1256)\", \"Kōgen (1256–1257)\", \"Shōka (1257–1259)\", \"Shōgen (1259–1260)\", \"Bun’ō (1260–1261)\", \"Kōchō (1261–1264)\", \"Bun’ei (1264–1275)\", \"Kenji (1275–1278)\", \"Kōan (1278–1288)\", \"Shōō (1288–1293)\", \"Einin (1293–1299)\", \"Shōan (1299–1302)\", \"Kengen (1302–1303)\", \"Kagen (1303–1306)\", \"Tokuji (1306–1308)\", \"Enkyō (1308–1311)\", \"Ōchō (1311–1312)\", \"Shōwa (1312–1317)\", \"Bunpō (1317–1319)\", \"Genō (1319–1321)\", \"Genkō (1321–1324)\", \"Shōchū (1324–1326)\", \"Karyaku (1326–1329)\", \"Gentoku (1329–1331)\", \"Genkō (1331–1334)\", \"Kenmu (1334–1336)\", \"Engen (1336–1340)\", \"Kōkoku (1340–1346)\", \"Shōhei (1346–1370)\", \"Kentoku (1370–1372)\", \"Bunchū (1372–1375)\", \"Tenju (1375–1379)\", \"Kōryaku (1379–1381)\", \"Kōwa (1381–1384)\", \"Genchū (1384–1392)\", \"Meitoku (1384–1387)\", \"Kakei (1387–1389)\", \"Kōō (1389–1390)\", \"Meitoku (1390–1394)\", \"Ōei (1394–1428)\", \"Shōchō (1428–1429)\", \"Eikyō (1429–1441)\", \"Kakitsu (1441–1444)\", \"Bun’an (1444–1449)\", \"Hōtoku (1449–1452)\", \"Kyōtoku (1452–1455)\", \"Kōshō (1455–1457)\", \"Chōroku (1457–1460)\", \"Kanshō (1460–1466)\", \"Bunshō (1466–1467)\", \"Ōnin (1467–1469)\", \"Bunmei (1469–1487)\", \"Chōkyō (1487–1489)\", \"Entoku (1489–1492)\", \"Meiō (1492–1501)\", \"Bunki (1501–1504)\", \"Eishō (1504–1521)\", \"Taiei (1521–1528)\", \"Kyōroku (1528–1532)\", \"Tenbun (1532–1555)\", \"Kōji (1555–1558)\", \"Eiroku (1558–1570)\", \"Genki (1570–1573)\", \"Tenshō (1573–1592)\", \"Bunroku (1592–1596)\", \"Keichō (1596–1615)\", \"Genna (1615–1624)\", \"Kan’ei (1624–1644)\", \"Shōho (1644–1648)\", \"Keian (1648–1652)\", \"Jōō (1652–1655)\", \"Meireki (1655–1658)\", \"Manji (1658–1661)\", \"Kanbun (1661–1673)\", \"Enpō (1673–1681)\", \"Tenna (1681–1684)\", \"Jōkyō (1684–1688)\", \"Genroku (1688–1704)\", \"Hōei (1704–1711)\", \"Shōtoku (1711–1716)\", \"Kyōhō (1716–1736)\", \"Genbun (1736–1741)\", \"Kanpō (1741–1744)\", \"Enkyō (1744–1748)\", \"Kan’en (1748–1751)\", \"Hōreki (1751–1764)\", \"Meiwa (1764–1772)\", \"An’ei (1772–1781)\", \"Tenmei (1781–1789)\", \"Kansei (1789–1801)\", \"Kyōwa (1801–1804)\", \"Bunka (1804–1818)\", \"Bunsei (1818–1830)\", \"Tenpō (1830–1844)\", \"Kōka (1844–1848)\", \"Kaei (1848–1854)\", \"Ansei (1854–1860)\", \"Man’en (1860–1861)\", \"Bunkyū (1861–1864)\", \"Genji (1864–1865)\", \"Keiō (1865–1868)\", \"Meiji\", \"Taishō\", \"Shōwa\", \"Heisei\"], long: [\"Taika (645–650)\", \"Hakuchi (650–671)\", \"Hakuhō (672–686)\", \"Shuchō (686–701)\", \"Taihō (701–704)\", \"Keiun (704–708)\", \"Wadō (708–715)\", \"Reiki (715–717)\", \"Yōrō (717–724)\", \"Jinki (724–729)\", \"Tenpyō (729–749)\", \"Tenpyō-kampō (749-749)\", \"Tenpyō-shōhō (749-757)\", \"Tenpyō-hōji (757-765)\", \"Tenpyō-jingo (765-767)\", \"Jingo-keiun (767-770)\", \"Hōki (770–780)\", \"Ten-ō (781-782)\", \"Enryaku (782–806)\", \"Daidō (806–810)\", \"Kōnin (810–824)\", \"Tenchō (824–834)\", \"Jōwa (834–848)\", \"Kajō (848–851)\", \"Ninju (851–854)\", \"Saikō (854–857)\", \"Ten-an (857-859)\", \"Jōgan (859–877)\", \"Gangyō (877–885)\", \"Ninna (885–889)\", \"Kanpyō (889–898)\", \"Shōtai (898–901)\", \"Engi (901–923)\", \"Enchō (923–931)\", \"Jōhei (931–938)\", \"Tengyō (938–947)\", \"Tenryaku (947–957)\", \"Tentoku (957–961)\", \"Ōwa (961–964)\", \"Kōhō (964–968)\", \"Anna (968–970)\", \"Tenroku (970–973)\", \"Ten’en (973–976)\", \"Jōgen (976–978)\", \"Tengen (978–983)\", \"Eikan (983–985)\", \"Kanna (985–987)\", \"Eien (987–989)\", \"Eiso (989–990)\", \"Shōryaku (990–995)\", \"Chōtoku (995–999)\", \"Chōhō (999–1004)\", \"Kankō (1004–1012)\", \"Chōwa (1012–1017)\", \"Kannin (1017–1021)\", \"Jian (1021–1024)\", \"Manju (1024–1028)\", \"Chōgen (1028–1037)\", \"Chōryaku (1037–1040)\", \"Chōkyū (1040–1044)\", \"Kantoku (1044–1046)\", \"Eishō (1046–1053)\", \"Tengi (1053–1058)\", \"Kōhei (1058–1065)\", \"Jiryaku (1065–1069)\", \"Enkyū (1069–1074)\", \"Shōho (1074–1077)\", \"Shōryaku (1077–1081)\", \"Eihō (1081–1084)\", \"Ōtoku (1084–1087)\", \"Kanji (1087–1094)\", \"Kahō (1094–1096)\", \"Eichō (1096–1097)\", \"Jōtoku (1097–1099)\", \"Kōwa (1099–1104)\", \"Chōji (1104–1106)\", \"Kashō (1106–1108)\", \"Tennin (1108–1110)\", \"Ten-ei (1110-1113)\", \"Eikyū (1113–1118)\", \"Gen’ei (1118–1120)\", \"Hōan (1120–1124)\", \"Tenji (1124–1126)\", \"Daiji (1126–1131)\", \"Tenshō (1131–1132)\", \"Chōshō (1132–1135)\", \"Hōen (1135–1141)\", \"Eiji (1141–1142)\", \"Kōji (1142–1144)\", \"Ten’yō (1144–1145)\", \"Kyūan (1145–1151)\", \"Ninpei (1151–1154)\", \"Kyūju (1154–1156)\", \"Hōgen (1156–1159)\", \"Heiji (1159–1160)\", \"Eiryaku (1160–1161)\", \"Ōho (1161–1163)\", \"Chōkan (1163–1165)\", \"Eiman (1165–1166)\", \"Nin’an (1166–1169)\", \"Kaō (1169–1171)\", \"Shōan (1171–1175)\", \"Angen (1175–1177)\", \"Jishō (1177–1181)\", \"Yōwa (1181–1182)\", \"Juei (1182–1184)\", \"Genryaku (1184–1185)\", \"Bunji (1185–1190)\", \"Kenkyū (1190–1199)\", \"Shōji (1199–1201)\", \"Kennin (1201–1204)\", \"Genkyū (1204–1206)\", \"Ken’ei (1206–1207)\", \"Jōgen (1207–1211)\", \"Kenryaku (1211–1213)\", \"Kenpō (1213–1219)\", \"Jōkyū (1219–1222)\", \"Jōō (1222–1224)\", \"Gennin (1224–1225)\", \"Karoku (1225–1227)\", \"Antei (1227–1229)\", \"Kanki (1229–1232)\", \"Jōei (1232–1233)\", \"Tenpuku (1233–1234)\", \"Bunryaku (1234–1235)\", \"Katei (1235–1238)\", \"Ryakunin (1238–1239)\", \"En’ō (1239–1240)\", \"Ninji (1240–1243)\", \"Kangen (1243–1247)\", \"Hōji (1247–1249)\", \"Kenchō (1249–1256)\", \"Kōgen (1256–1257)\", \"Shōka (1257–1259)\", \"Shōgen (1259–1260)\", \"Bun’ō (1260–1261)\", \"Kōchō (1261–1264)\", \"Bun’ei (1264–1275)\", \"Kenji (1275–1278)\", \"Kōan (1278–1288)\", \"Shōō (1288–1293)\", \"Einin (1293–1299)\", \"Shōan (1299–1302)\", \"Kengen (1302–1303)\", \"Kagen (1303–1306)\", \"Tokuji (1306–1308)\", \"Enkyō (1308–1311)\", \"Ōchō (1311–1312)\", \"Shōwa (1312–1317)\", \"Bunpō (1317–1319)\", \"Genō (1319–1321)\", \"Genkō (1321–1324)\", \"Shōchū (1324–1326)\", \"Karyaku (1326–1329)\", \"Gentoku (1329–1331)\", \"Genkō (1331–1334)\", \"Kenmu (1334–1336)\", \"Engen (1336–1340)\", \"Kōkoku (1340–1346)\", \"Shōhei (1346–1370)\", \"Kentoku (1370–1372)\", \"Bunchū (1372–1375)\", \"Tenju (1375–1379)\", \"Kōryaku (1379–1381)\", \"Kōwa (1381–1384)\", \"Genchū (1384–1392)\", \"Meitoku (1384–1387)\", \"Kakei (1387–1389)\", \"Kōō (1389–1390)\", \"Meitoku (1390–1394)\", \"Ōei (1394–1428)\", \"Shōchō (1428–1429)\", \"Eikyō (1429–1441)\", \"Kakitsu (1441–1444)\", \"Bun’an (1444–1449)\", \"Hōtoku (1449–1452)\", \"Kyōtoku (1452–1455)\", \"Kōshō (1455–1457)\", \"Chōroku (1457–1460)\", \"Kanshō (1460–1466)\", \"Bunshō (1466–1467)\", \"Ōnin (1467–1469)\", \"Bunmei (1469–1487)\", \"Chōkyō (1487–1489)\", \"Entoku (1489–1492)\", \"Meiō (1492–1501)\", \"Bunki (1501–1504)\", \"Eishō (1504–1521)\", \"Taiei (1521–1528)\", \"Kyōroku (1528–1532)\", \"Tenbun (1532–1555)\", \"Kōji (1555–1558)\", \"Eiroku (1558–1570)\", \"Genki (1570–1573)\", \"Tenshō (1573–1592)\", \"Bunroku (1592–1596)\", \"Keichō (1596–1615)\", \"Genna (1615–1624)\", \"Kan’ei (1624–1644)\", \"Shōho (1644–1648)\", \"Keian (1648–1652)\", \"Jōō (1652–1655)\", \"Meireki (1655–1658)\", \"Manji (1658–1661)\", \"Kanbun (1661–1673)\", \"Enpō (1673–1681)\", \"Tenna (1681–1684)\", \"Jōkyō (1684–1688)\", \"Genroku (1688–1704)\", \"Hōei (1704–1711)\", \"Shōtoku (1711–1716)\", \"Kyōhō (1716–1736)\", \"Genbun (1736–1741)\", \"Kanpō (1741–1744)\", \"Enkyō (1744–1748)\", \"Kan’en (1748–1751)\", \"Hōreki (1751–1764)\", \"Meiwa (1764–1772)\", \"An’ei (1772–1781)\", \"Tenmei (1781–1789)\", \"Kansei (1789–1801)\", \"Kyōwa (1801–1804)\", \"Bunka (1804–1818)\", \"Bunsei (1818–1830)\", \"Tenpō (1830–1844)\", \"Kōka (1844–1848)\", \"Kaei (1848–1854)\", \"Ansei (1854–1860)\", \"Man’en (1860–1861)\", \"Bunkyū (1861–1864)\", \"Genji (1864–1865)\", \"Keiō (1865–1868)\", \"Meiji\", \"Taishō\", \"Shōwa\", \"Heisei\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, persian: { months: { narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"], short: [\"Farvardin\", \"Ordibehesht\", \"Khordad\", \"Tir\", \"Mordad\", \"Shahrivar\", \"Mehr\", \"Aban\", \"Azar\", \"Dey\", \"Bahman\", \"Esfand\"], long: [\"Farvardin\", \"Ordibehesht\", \"Khordad\", \"Tir\", \"Mordad\", \"Shahrivar\", \"Mehr\", \"Aban\", \"Azar\", \"Dey\", \"Bahman\", \"Esfand\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"AP\"], short: [\"AP\"], long: [\"AP\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } }, roc: { months: { narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"], short: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], long: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"] }, days: { narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"], short: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], long: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"] }, eras: { narrow: [\"Before R.O.C.\", \"Minguo\"], short: [\"Before R.O.C.\", \"Minguo\"], long: [\"Before R.O.C.\", \"Minguo\"] }, dayPeriods: { am: \"AM\", pm: \"PM\" } } } }, number: { nu: [\"latn\"], patterns: { decimal: { positivePattern: \"{number}\", negativePattern: \"{minusSign}{number}\" }, currency: { positivePattern: \"{currency}{number}\", negativePattern: \"{minusSign}{currency}{number}\" }, percent: { positivePattern: \"{number}{percentSign}\", negativePattern: \"{minusSign}{number}{percentSign}\" } }, symbols: { latn: { decimal: \".\", group: \",\", nan: \"NaN\", plusSign: \"+\", minusSign: \"-\", percentSign: \"%\", infinity: \"∞\" } }, currencies: { AUD: \"A$\", BRL: \"R$\", CAD: \"CA$\", CNY: \"CN¥\", EUR: \"€\", GBP: \"£\", HKD: \"HK$\", ILS: \"₪\", INR: \"₹\", JPY: \"¥\", KRW: \"₩\", MXN: \"MX$\", NZD: \"NZ$\", TWD: \"NT$\", USD: \"$\", VND: \"₫\", XAF: \"FCFA\", XCD: \"EC$\", XOF: \"CFA\", XPF: \"CFPF\" } } });" + }, + { + "id": 826, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/implement.js", + "name": "./node_modules/es6-symbol/implement.js", + "index": 8, + "index2": 25, + "size": 206, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "issuerId": 749, + "issuerName": "./app/javascript/mastodon/base_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 749, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "module": "./app/javascript/mastodon/base_polyfills.js", + "moduleName": "./app/javascript/mastodon/base_polyfills.js", + "type": "harmony import", + "userRequest": "es6-symbol/implement", + "loc": "3:0-30" + } + ], + "usedExports": false, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "'use strict';\n\nif (!require('./is-implemented')()) {\n\tObject.defineProperty(require('es5-ext/global'), 'Symbol', { value: require('./polyfill'), configurable: true, enumerable: false,\n\t\twritable: true });\n}" + }, + { + "id": 827, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/is-implemented.js", + "name": "./node_modules/es6-symbol/is-implemented.js", + "index": 9, + "index2": 5, + "size": 479, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/implement.js", + "issuerId": 826, + "issuerName": "./node_modules/es6-symbol/implement.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 826, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/implement.js", + "module": "./node_modules/es6-symbol/implement.js", + "moduleName": "./node_modules/es6-symbol/implement.js", + "type": "cjs require", + "userRequest": "./is-implemented", + "loc": "3:5-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nvar validTypes = { object: true, symbol: true };\n\nmodule.exports = function () {\n\tvar symbol;\n\tif (typeof Symbol !== 'function') return false;\n\tsymbol = Symbol('test symbol');\n\ttry {\n\t\tString(symbol);\n\t} catch (e) {\n\t\treturn false;\n\t}\n\n\t// Return 'true' also for polyfills\n\tif (!validTypes[typeof Symbol.iterator]) return false;\n\tif (!validTypes[typeof Symbol.toPrimitive]) return false;\n\tif (!validTypes[typeof Symbol.toStringTag]) return false;\n\n\treturn true;\n};" + }, + { + "id": 828, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/global.js", + "name": "./node_modules/es5-ext/global.js", + "index": 10, + "index2": 6, + "size": 77, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/implement.js", + "issuerId": 826, + "issuerName": "./node_modules/es6-symbol/implement.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 826, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/implement.js", + "module": "./node_modules/es6-symbol/implement.js", + "moduleName": "./node_modules/es6-symbol/implement.js", + "type": "cjs require", + "userRequest": "es5-ext/global", + "loc": "4:23-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "/* eslint strict: \"off\" */\n\nmodule.exports = function () {\n\treturn this;\n}();" + }, + { + "id": 829, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/polyfill.js", + "name": "./node_modules/es6-symbol/polyfill.js", + "index": 11, + "index2": 24, + "size": 5087, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/implement.js", + "issuerId": 826, + "issuerName": "./node_modules/es6-symbol/implement.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 826, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/implement.js", + "module": "./node_modules/es6-symbol/implement.js", + "moduleName": "./node_modules/es6-symbol/implement.js", + "type": "cjs require", + "userRequest": "./polyfill", + "loc": "4:69-90" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "// ES2015 Symbol polyfill for environments that do not (or partially) support it\n\n'use strict';\n\nvar d = require('d'),\n validateSymbol = require('./validate-symbol'),\n create = Object.create,\n defineProperties = Object.defineProperties,\n defineProperty = Object.defineProperty,\n objPrototype = Object.prototype,\n NativeSymbol,\n SymbolPolyfill,\n HiddenSymbol,\n globalSymbols = create(null),\n isNativeSafe;\n\nif (typeof Symbol === 'function') {\n\tNativeSymbol = Symbol;\n\ttry {\n\t\tString(NativeSymbol());\n\t\tisNativeSafe = true;\n\t} catch (ignore) {}\n}\n\nvar generateName = function () {\n\tvar created = create(null);\n\treturn function (desc) {\n\t\tvar postfix = 0,\n\t\t name,\n\t\t ie11BugWorkaround;\n\t\twhile (created[desc + (postfix || '')]) ++postfix;\n\t\tdesc += postfix || '';\n\t\tcreated[desc] = true;\n\t\tname = '@@' + desc;\n\t\tdefineProperty(objPrototype, name, d.gs(null, function (value) {\n\t\t\t// For IE11 issue see:\n\t\t\t// https://connect.microsoft.com/IE/feedbackdetail/view/1928508/\n\t\t\t// ie11-broken-getters-on-dom-objects\n\t\t\t// https://github.com/medikoo/es6-symbol/issues/12\n\t\t\tif (ie11BugWorkaround) return;\n\t\t\tie11BugWorkaround = true;\n\t\t\tdefineProperty(this, name, d(value));\n\t\t\tie11BugWorkaround = false;\n\t\t}));\n\t\treturn name;\n\t};\n}();\n\n// Internal constructor (not one exposed) for creating Symbol instances.\n// This one is used to ensure that `someSymbol instanceof Symbol` always return false\nHiddenSymbol = function Symbol(description) {\n\tif (this instanceof HiddenSymbol) throw new TypeError('Symbol is not a constructor');\n\treturn SymbolPolyfill(description);\n};\n\n// Exposed `Symbol` constructor\n// (returns instances of HiddenSymbol)\nmodule.exports = SymbolPolyfill = function Symbol(description) {\n\tvar symbol;\n\tif (this instanceof Symbol) throw new TypeError('Symbol is not a constructor');\n\tif (isNativeSafe) return NativeSymbol(description);\n\tsymbol = create(HiddenSymbol.prototype);\n\tdescription = description === undefined ? '' : String(description);\n\treturn defineProperties(symbol, {\n\t\t__description__: d('', description),\n\t\t__name__: d('', generateName(description))\n\t});\n};\ndefineProperties(SymbolPolyfill, {\n\tfor: d(function (key) {\n\t\tif (globalSymbols[key]) return globalSymbols[key];\n\t\treturn globalSymbols[key] = SymbolPolyfill(String(key));\n\t}),\n\tkeyFor: d(function (s) {\n\t\tvar key;\n\t\tvalidateSymbol(s);\n\t\tfor (key in globalSymbols) if (globalSymbols[key] === s) return key;\n\t}),\n\n\t// To ensure proper interoperability with other native functions (e.g. Array.from)\n\t// fallback to eventual native implementation of given symbol\n\thasInstance: d('', NativeSymbol && NativeSymbol.hasInstance || SymbolPolyfill('hasInstance')),\n\tisConcatSpreadable: d('', NativeSymbol && NativeSymbol.isConcatSpreadable || SymbolPolyfill('isConcatSpreadable')),\n\titerator: d('', NativeSymbol && NativeSymbol.iterator || SymbolPolyfill('iterator')),\n\tmatch: d('', NativeSymbol && NativeSymbol.match || SymbolPolyfill('match')),\n\treplace: d('', NativeSymbol && NativeSymbol.replace || SymbolPolyfill('replace')),\n\tsearch: d('', NativeSymbol && NativeSymbol.search || SymbolPolyfill('search')),\n\tspecies: d('', NativeSymbol && NativeSymbol.species || SymbolPolyfill('species')),\n\tsplit: d('', NativeSymbol && NativeSymbol.split || SymbolPolyfill('split')),\n\ttoPrimitive: d('', NativeSymbol && NativeSymbol.toPrimitive || SymbolPolyfill('toPrimitive')),\n\ttoStringTag: d('', NativeSymbol && NativeSymbol.toStringTag || SymbolPolyfill('toStringTag')),\n\tunscopables: d('', NativeSymbol && NativeSymbol.unscopables || SymbolPolyfill('unscopables'))\n});\n\n// Internal tweaks for real symbol producer\ndefineProperties(HiddenSymbol.prototype, {\n\tconstructor: d(SymbolPolyfill),\n\ttoString: d('', function () {\n\t\treturn this.__name__;\n\t})\n});\n\n// Proper implementation of methods exposed on Symbol.prototype\n// They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype\ndefineProperties(SymbolPolyfill.prototype, {\n\ttoString: d(function () {\n\t\treturn 'Symbol (' + validateSymbol(this).__description__ + ')';\n\t}),\n\tvalueOf: d(function () {\n\t\treturn validateSymbol(this);\n\t})\n});\ndefineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toPrimitive, d('', function () {\n\tvar symbol = validateSymbol(this);\n\tif (typeof symbol === 'symbol') return symbol;\n\treturn symbol.toString();\n}));\ndefineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d('c', 'Symbol'));\n\n// Proper implementaton of toPrimitive and toStringTag for returned symbol instances\ndefineProperty(HiddenSymbol.prototype, SymbolPolyfill.toStringTag, d('c', SymbolPolyfill.prototype[SymbolPolyfill.toStringTag]));\n\n// Note: It's important to define `toPrimitive` as last one, as some implementations\n// implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)\n// And that may invoke error in definition flow:\n// See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149\ndefineProperty(HiddenSymbol.prototype, SymbolPolyfill.toPrimitive, d('c', SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive]));" + }, + { + "id": 830, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/d/index.js", + "name": "./node_modules/d/index.js", + "index": 12, + "index2": 21, + "size": 1468, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/polyfill.js", + "issuerId": 829, + "issuerName": "./node_modules/es6-symbol/polyfill.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 829, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/polyfill.js", + "module": "./node_modules/es6-symbol/polyfill.js", + "moduleName": "./node_modules/es6-symbol/polyfill.js", + "type": "cjs require", + "userRequest": "d", + "loc": "5:8-20" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nvar assign = require('es5-ext/object/assign'),\n normalizeOpts = require('es5-ext/object/normalize-options'),\n isCallable = require('es5-ext/object/is-callable'),\n contains = require('es5-ext/string/#/contains'),\n d;\n\nd = module.exports = function (dscr, value /*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== 'string') {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (dscr == null) {\n\t\tc = w = true;\n\t\te = false;\n\t} else {\n\t\tc = contains.call(dscr, 'c');\n\t\te = contains.call(dscr, 'e');\n\t\tw = contains.call(dscr, 'w');\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n\nd.gs = function (dscr, get, set /*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== 'string') {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (get == null) {\n\t\tget = undefined;\n\t} else if (!isCallable(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (set == null) {\n\t\tset = undefined;\n\t} else if (!isCallable(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (dscr == null) {\n\t\tc = true;\n\t\te = false;\n\t} else {\n\t\tc = contains.call(dscr, 'c');\n\t\te = contains.call(dscr, 'e');\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};" + }, + { + "id": 831, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/index.js", + "name": "./node_modules/es5-ext/object/assign/index.js", + "index": 13, + "index2": 15, + "size": 98, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/d/index.js", + "issuerId": 830, + "issuerName": "./node_modules/d/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 830, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/d/index.js", + "module": "./node_modules/d/index.js", + "moduleName": "./node_modules/d/index.js", + "type": "cjs require", + "userRequest": "es5-ext/object/assign", + "loc": "3:13-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");" + }, + { + "id": 832, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/is-implemented.js", + "name": "./node_modules/es5-ext/object/assign/is-implemented.js", + "index": 14, + "index2": 7, + "size": 262, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/index.js", + "issuerId": 831, + "issuerName": "./node_modules/es5-ext/object/assign/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 831, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/index.js", + "module": "./node_modules/es5-ext/object/assign/index.js", + "moduleName": "./node_modules/es5-ext/object/assign/index.js", + "type": "cjs require", + "userRequest": "./is-implemented", + "loc": "3:17-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign,\n\t obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};" + }, + { + "id": 833, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/shim.js", + "name": "./node_modules/es5-ext/object/assign/shim.js", + "index": 15, + "index2": 14, + "size": 511, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/index.js", + "issuerId": 831, + "issuerName": "./node_modules/es5-ext/object/assign/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 831, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/index.js", + "module": "./node_modules/es5-ext/object/assign/index.js", + "moduleName": "./node_modules/es5-ext/object/assign/index.js", + "type": "cjs require", + "userRequest": "./shim", + "loc": "3:65-82" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "\"use strict\";\n\nvar keys = require(\"../keys\"),\n value = require(\"../valid-value\"),\n max = Math.max;\n\nmodule.exports = function (dest, src /*, …srcn*/) {\n\tvar error,\n\t i,\n\t length = max(arguments.length, 2),\n\t assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};" + }, + { + "id": 834, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/keys/index.js", + "name": "./node_modules/es5-ext/object/keys/index.js", + "index": 16, + "index2": 12, + "size": 96, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/shim.js", + "issuerId": 833, + "issuerName": "./node_modules/es5-ext/object/assign/shim.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 833, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/shim.js", + "module": "./node_modules/es5-ext/object/assign/shim.js", + "moduleName": "./node_modules/es5-ext/object/assign/shim.js", + "type": "cjs require", + "userRequest": "../keys", + "loc": "3:11-29" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");" + }, + { + "id": 835, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/keys/is-implemented.js", + "name": "./node_modules/es5-ext/object/keys/is-implemented.js", + "index": 17, + "index2": 8, + "size": 132, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/keys/index.js", + "issuerId": 834, + "issuerName": "./node_modules/es5-ext/object/keys/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 834, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/keys/index.js", + "module": "./node_modules/es5-ext/object/keys/index.js", + "moduleName": "./node_modules/es5-ext/object/keys/index.js", + "type": "cjs require", + "userRequest": "./is-implemented", + "loc": "3:17-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};" + }, + { + "id": 836, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/keys/shim.js", + "name": "./node_modules/es5-ext/object/keys/shim.js", + "index": 18, + "index2": 11, + "size": 175, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/keys/index.js", + "issuerId": 834, + "issuerName": "./node_modules/es5-ext/object/keys/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 834, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/keys/index.js", + "module": "./node_modules/es5-ext/object/keys/index.js", + "moduleName": "./node_modules/es5-ext/object/keys/index.js", + "type": "cjs require", + "userRequest": "./shim", + "loc": "3:63-80" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) {\n\treturn keys(isValue(object) ? Object(object) : object);\n};" + }, + { + "id": 837, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/function/noop.js", + "name": "./node_modules/es5-ext/function/noop.js", + "index": 20, + "index2": 9, + "size": 94, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/is-value.js", + "issuerId": 797, + "issuerName": "./node_modules/es5-ext/object/is-value.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 797, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/is-value.js", + "module": "./node_modules/es5-ext/object/is-value.js", + "moduleName": "./node_modules/es5-ext/object/is-value.js", + "type": "cjs require", + "userRequest": "../function/noop", + "loc": "3:17-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "\"use strict\";\n\n// eslint-disable-next-line no-empty-function\n\nmodule.exports = function () {};" + }, + { + "id": 838, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/valid-value.js", + "name": "./node_modules/es5-ext/object/valid-value.js", + "index": 21, + "index2": 13, + "size": 181, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/shim.js", + "issuerId": 833, + "issuerName": "./node_modules/es5-ext/object/assign/shim.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 833, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/assign/shim.js", + "module": "./node_modules/es5-ext/object/assign/shim.js", + "moduleName": "./node_modules/es5-ext/object/assign/shim.js", + "type": "cjs require", + "userRequest": "../valid-value", + "loc": "4:12-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};" + }, + { + "id": 839, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/normalize-options.js", + "name": "./node_modules/es5-ext/object/normalize-options.js", + "index": 22, + "index2": 16, + "size": 470, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/d/index.js", + "issuerId": 830, + "issuerName": "./node_modules/d/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 830, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/d/index.js", + "module": "./node_modules/d/index.js", + "moduleName": "./node_modules/d/index.js", + "type": "cjs require", + "userRequest": "es5-ext/object/normalize-options", + "loc": "4:20-63" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach,\n create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1 /*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};" + }, + { + "id": 840, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/object/is-callable.js", + "name": "./node_modules/es5-ext/object/is-callable.js", + "index": 23, + "index2": 17, + "size": 102, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/d/index.js", + "issuerId": 830, + "issuerName": "./node_modules/d/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 830, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/d/index.js", + "module": "./node_modules/d/index.js", + "moduleName": "./node_modules/d/index.js", + "type": "cjs require", + "userRequest": "es5-ext/object/is-callable", + "loc": "5:17-54" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// Deprecated\n\n\"use strict\";\n\nmodule.exports = function (obj) {\n return typeof obj === \"function\";\n};" + }, + { + "id": 841, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/string/#/contains/index.js", + "name": "./node_modules/es5-ext/string/#/contains/index.js", + "index": 24, + "index2": 20, + "size": 110, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/d/index.js", + "issuerId": 830, + "issuerName": "./node_modules/d/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 830, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/d/index.js", + "module": "./node_modules/d/index.js", + "moduleName": "./node_modules/d/index.js", + "type": "cjs require", + "userRequest": "es5-ext/string/#/contains", + "loc": "6:15-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");" + }, + { + "id": 842, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/string/#/contains/is-implemented.js", + "name": "./node_modules/es5-ext/string/#/contains/is-implemented.js", + "index": 25, + "index2": 18, + "size": 199, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/string/#/contains/index.js", + "issuerId": 841, + "issuerName": "./node_modules/es5-ext/string/#/contains/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 841, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/string/#/contains/index.js", + "module": "./node_modules/es5-ext/string/#/contains/index.js", + "moduleName": "./node_modules/es5-ext/string/#/contains/index.js", + "type": "cjs require", + "userRequest": "./is-implemented", + "loc": "3:17-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};" + }, + { + "id": 843, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/string/#/contains/shim.js", + "name": "./node_modules/es5-ext/string/#/contains/shim.js", + "index": 26, + "index2": 19, + "size": 177, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/string/#/contains/index.js", + "issuerId": 841, + "issuerName": "./node_modules/es5-ext/string/#/contains/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 841, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es5-ext/string/#/contains/index.js", + "module": "./node_modules/es5-ext/string/#/contains/index.js", + "moduleName": "./node_modules/es5-ext/string/#/contains/index.js", + "type": "cjs require", + "userRequest": "./shim", + "loc": "3:77-94" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString /*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};" + }, + { + "id": 844, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/validate-symbol.js", + "name": "./node_modules/es6-symbol/validate-symbol.js", + "index": 27, + "index2": 23, + "size": 180, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/polyfill.js", + "issuerId": 829, + "issuerName": "./node_modules/es6-symbol/polyfill.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 829, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/polyfill.js", + "module": "./node_modules/es6-symbol/polyfill.js", + "moduleName": "./node_modules/es6-symbol/polyfill.js", + "type": "cjs require", + "userRequest": "./validate-symbol", + "loc": "6:21-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nvar isSymbol = require('./is-symbol');\n\nmodule.exports = function (value) {\n\tif (!isSymbol(value)) throw new TypeError(value + \" is not a symbol\");\n\treturn value;\n};" + }, + { + "id": 845, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/is-symbol.js", + "name": "./node_modules/es6-symbol/is-symbol.js", + "index": 28, + "index2": 22, + "size": 251, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/validate-symbol.js", + "issuerId": 844, + "issuerName": "./node_modules/es6-symbol/validate-symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 844, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es6-symbol/validate-symbol.js", + "module": "./node_modules/es6-symbol/validate-symbol.js", + "moduleName": "./node_modules/es6-symbol/validate-symbol.js", + "type": "cjs require", + "userRequest": "./is-symbol", + "loc": "3:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nmodule.exports = function (x) {\n\tif (!x) return false;\n\tif (typeof x === 'symbol') return true;\n\tif (!x.constructor) return false;\n\tif (x.constructor.name !== 'Symbol') return false;\n\treturn x[x.constructor.toStringTag] === 'Symbol';\n};" + }, + { + "id": 846, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "name": "./node_modules/array-includes/index.js", + "index": 29, + "index2": 52, + "size": 657, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "issuerId": 749, + "issuerName": "./app/javascript/mastodon/base_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 749, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "module": "./app/javascript/mastodon/base_polyfills.js", + "moduleName": "./app/javascript/mastodon/base_polyfills.js", + "type": "harmony import", + "userRequest": "array-includes", + "loc": "4:0-38" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "'use strict';\n\nvar define = require('define-properties');\nvar ES = require('es-abstract/es6');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar polyfill = getPolyfill();\nvar shim = require('./shim');\n\nvar slice = Array.prototype.slice;\n\n/* eslint-disable no-unused-vars */\nvar boundIncludesShim = function includes(array, searchElement) {\n\t/* eslint-enable no-unused-vars */\n\tES.RequireObjectCoercible(array);\n\treturn polyfill.apply(array, slice.call(arguments, 1));\n};\ndefine(boundIncludesShim, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundIncludesShim;" + }, + { + "id": 847, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/object-keys/index.js", + "name": "./node_modules/object-keys/index.js", + "index": 31, + "index2": 27, + "size": 3495, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/define-properties/index.js", + "issuerId": 795, + "issuerName": "./node_modules/define-properties/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 795, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/define-properties/index.js", + "module": "./node_modules/define-properties/index.js", + "moduleName": "./node_modules/define-properties/index.js", + "type": "cjs require", + "userRequest": "object-keys", + "loc": "3:11-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\n// modified from https://github.com/es-shims/es5-shim\n\nvar has = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\nvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\nvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\nvar dontEnums = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'];\nvar equalsConstructorPrototype = function (o) {\n\tvar ctor = o.constructor;\n\treturn ctor && ctor.prototype === o;\n};\nvar excludedKeys = {\n\t$console: true,\n\t$external: true,\n\t$frame: true,\n\t$frameElement: true,\n\t$frames: true,\n\t$innerHeight: true,\n\t$innerWidth: true,\n\t$outerHeight: true,\n\t$outerWidth: true,\n\t$pageXOffset: true,\n\t$pageYOffset: true,\n\t$parent: true,\n\t$scrollLeft: true,\n\t$scrollTop: true,\n\t$scrollX: true,\n\t$scrollY: true,\n\t$self: true,\n\t$webkitIndexedDB: true,\n\t$webkitStorageInfo: true,\n\t$window: true\n};\nvar hasAutomationEqualityBug = function () {\n\t/* global window */\n\tif (typeof window === 'undefined') {\n\t\treturn false;\n\t}\n\tfor (var k in window) {\n\t\ttry {\n\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\ttry {\n\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}();\nvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t/* global window */\n\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\treturn equalsConstructorPrototype(o);\n\t}\n\ttry {\n\t\treturn equalsConstructorPrototype(o);\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar keysShim = function keys(object) {\n\tvar isObject = object !== null && typeof object === 'object';\n\tvar isFunction = toStr.call(object) === '[object Function]';\n\tvar isArguments = isArgs(object);\n\tvar isString = isObject && toStr.call(object) === '[object String]';\n\tvar theKeys = [];\n\n\tif (!isObject && !isFunction && !isArguments) {\n\t\tthrow new TypeError('Object.keys called on a non-object');\n\t}\n\n\tvar skipProto = hasProtoEnumBug && isFunction;\n\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\ttheKeys.push(String(i));\n\t\t}\n\t}\n\n\tif (isArguments && object.length > 0) {\n\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\ttheKeys.push(String(j));\n\t\t}\n\t} else {\n\t\tfor (var name in object) {\n\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\ttheKeys.push(String(name));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (hasDontEnumBug) {\n\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t}\n\t\t}\n\t}\n\treturn theKeys;\n};\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = function () {\n\t\t\t// Safari 5.0 bug\n\t\t\treturn (Object.keys(arguments) || '').length === 2;\n\t\t}(1, 2);\n\t\tif (!keysWorksWithArguments) {\n\t\t\tvar originalKeys = Object.keys;\n\t\t\tObject.keys = function keys(object) {\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t} else {\n\t\t\t\t\treturn originalKeys(object);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;" + }, + { + "id": 848, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/object-keys/isArguments.js", + "name": "./node_modules/object-keys/isArguments.js", + "index": 32, + "index2": 26, + "size": 406, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/object-keys/index.js", + "issuerId": 847, + "issuerName": "./node_modules/object-keys/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 847, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/object-keys/index.js", + "module": "./node_modules/object-keys/index.js", + "moduleName": "./node_modules/object-keys/index.js", + "type": "cjs require", + "userRequest": "./isArguments", + "loc": "8:13-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' && value !== null && typeof value === 'object' && typeof value.length === 'number' && value.length >= 0 && toStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};" + }, + { + "id": 849, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/foreach/index.js", + "name": "./node_modules/foreach/index.js", + "index": 33, + "index2": 28, + "size": 552, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/define-properties/index.js", + "issuerId": 795, + "issuerName": "./node_modules/define-properties/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 795, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/define-properties/index.js", + "module": "./node_modules/define-properties/index.js", + "moduleName": "./node_modules/define-properties/index.js", + "type": "cjs require", + "userRequest": "foreach", + "loc": "4:14-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach(obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};" + }, + { + "id": 850, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "name": "./node_modules/es-abstract/es2015.js", + "index": 35, + "index2": 47, + "size": 16681, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es6.js", + "issuerId": 806, + "issuerName": "./node_modules/es-abstract/es6.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 806, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es6.js", + "module": "./node_modules/es-abstract/es6.js", + "moduleName": "./node_modules/es-abstract/es6.js", + "type": "cjs require", + "userRequest": "./es2015", + "loc": "3:17-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nvar has = require('has');\nvar toPrimitive = require('es-to-primitive/es6');\n\nvar toStr = Object.prototype.toString;\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';\n\nvar $isNaN = require('./helpers/isNaN');\nvar $isFinite = require('./helpers/isFinite');\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\n\nvar assign = require('./helpers/assign');\nvar sign = require('./helpers/sign');\nvar mod = require('./helpers/mod');\nvar isPrimitive = require('./helpers/isPrimitive');\nvar parseInteger = parseInt;\nvar bind = require('function-bind');\nvar arraySlice = bind.call(Function.call, Array.prototype.slice);\nvar strSlice = bind.call(Function.call, String.prototype.slice);\nvar isBinary = bind.call(Function.call, RegExp.prototype.test, /^0b[01]+$/i);\nvar isOctal = bind.call(Function.call, RegExp.prototype.test, /^0o[0-7]+$/i);\nvar regexExec = bind.call(Function.call, RegExp.prototype.exec);\nvar nonWS = ['\\u0085', '\\u200b', '\\ufffe'].join('');\nvar nonWSregex = new RegExp('[' + nonWS + ']', 'g');\nvar hasNonWS = bind.call(Function.call, RegExp.prototype.test, nonWSregex);\nvar invalidHexLiteral = /^[-+]0x[0-9a-f]+$/i;\nvar isInvalidHexLiteral = bind.call(Function.call, RegExp.prototype.test, invalidHexLiteral);\n\n// whitespace from: http://es5.github.io/#x15.5.4.20\n// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324\nvar ws = ['\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003', '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028', '\\u2029\\uFEFF'].join('');\nvar trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');\nvar replace = bind.call(Function.call, String.prototype.replace);\nvar trim = function (value) {\n\treturn replace(value, trimRegex, '');\n};\n\nvar ES5 = require('./es5');\n\nvar hasRegExpMatcher = require('is-regex');\n\n// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-abstract-operations\nvar ES6 = assign(assign({}, ES5), {\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-call-f-v-args\n\tCall: function Call(F, V) {\n\t\tvar args = arguments.length > 2 ? arguments[2] : [];\n\t\tif (!this.IsCallable(F)) {\n\t\t\tthrow new TypeError(F + ' is not a function');\n\t\t}\n\t\treturn F.apply(V, args);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toprimitive\n\tToPrimitive: toPrimitive,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toboolean\n\t// ToBoolean: ES5.ToBoolean,\n\n\t// http://www.ecma-international.org/ecma-262/6.0/#sec-tonumber\n\tToNumber: function ToNumber(argument) {\n\t\tvar value = isPrimitive(argument) ? argument : toPrimitive(argument, Number);\n\t\tif (typeof value === 'symbol') {\n\t\t\tthrow new TypeError('Cannot convert a Symbol value to a number');\n\t\t}\n\t\tif (typeof value === 'string') {\n\t\t\tif (isBinary(value)) {\n\t\t\t\treturn this.ToNumber(parseInteger(strSlice(value, 2), 2));\n\t\t\t} else if (isOctal(value)) {\n\t\t\t\treturn this.ToNumber(parseInteger(strSlice(value, 2), 8));\n\t\t\t} else if (hasNonWS(value) || isInvalidHexLiteral(value)) {\n\t\t\t\treturn NaN;\n\t\t\t} else {\n\t\t\t\tvar trimmed = trim(value);\n\t\t\t\tif (trimmed !== value) {\n\t\t\t\t\treturn this.ToNumber(trimmed);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn Number(value);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tointeger\n\t// ToInteger: ES5.ToNumber,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint32\n\t// ToInt32: ES5.ToInt32,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint32\n\t// ToUint32: ES5.ToUint32,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint16\n\tToInt16: function ToInt16(argument) {\n\t\tvar int16bit = this.ToUint16(argument);\n\t\treturn int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint16\n\t// ToUint16: ES5.ToUint16,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint8\n\tToInt8: function ToInt8(argument) {\n\t\tvar int8bit = this.ToUint8(argument);\n\t\treturn int8bit >= 0x80 ? int8bit - 0x100 : int8bit;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8\n\tToUint8: function ToUint8(argument) {\n\t\tvar number = this.ToNumber(argument);\n\t\tif ($isNaN(number) || number === 0 || !$isFinite(number)) {\n\t\t\treturn 0;\n\t\t}\n\t\tvar posInt = sign(number) * Math.floor(Math.abs(number));\n\t\treturn mod(posInt, 0x100);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8clamp\n\tToUint8Clamp: function ToUint8Clamp(argument) {\n\t\tvar number = this.ToNumber(argument);\n\t\tif ($isNaN(number) || number <= 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (number >= 0xFF) {\n\t\t\treturn 0xFF;\n\t\t}\n\t\tvar f = Math.floor(argument);\n\t\tif (f + 0.5 < number) {\n\t\t\treturn f + 1;\n\t\t}\n\t\tif (number < f + 0.5) {\n\t\t\treturn f;\n\t\t}\n\t\tif (f % 2 !== 0) {\n\t\t\treturn f + 1;\n\t\t}\n\t\treturn f;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring\n\tToString: function ToString(argument) {\n\t\tif (typeof argument === 'symbol') {\n\t\t\tthrow new TypeError('Cannot convert a Symbol value to a string');\n\t\t}\n\t\treturn String(argument);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toobject\n\tToObject: function ToObject(value) {\n\t\tthis.RequireObjectCoercible(value);\n\t\treturn Object(value);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-topropertykey\n\tToPropertyKey: function ToPropertyKey(argument) {\n\t\tvar key = this.ToPrimitive(argument, String);\n\t\treturn typeof key === 'symbol' ? key : this.ToString(key);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n\tToLength: function ToLength(argument) {\n\t\tvar len = this.ToInteger(argument);\n\t\tif (len <= 0) {\n\t\t\treturn 0;\n\t\t} // includes converting -0 to +0\n\t\tif (len > MAX_SAFE_INTEGER) {\n\t\t\treturn MAX_SAFE_INTEGER;\n\t\t}\n\t\treturn len;\n\t},\n\n\t// http://www.ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring\n\tCanonicalNumericIndexString: function CanonicalNumericIndexString(argument) {\n\t\tif (toStr.call(argument) !== '[object String]') {\n\t\t\tthrow new TypeError('must be a string');\n\t\t}\n\t\tif (argument === '-0') {\n\t\t\treturn -0;\n\t\t}\n\t\tvar n = this.ToNumber(argument);\n\t\tif (this.SameValue(this.ToString(n), argument)) {\n\t\t\treturn n;\n\t\t}\n\t\treturn void 0;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-requireobjectcoercible\n\tRequireObjectCoercible: ES5.CheckObjectCoercible,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isarray\n\tIsArray: Array.isArray || function IsArray(argument) {\n\t\treturn toStr.call(argument) === '[object Array]';\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-iscallable\n\t// IsCallable: ES5.IsCallable,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isconstructor\n\tIsConstructor: function IsConstructor(argument) {\n\t\treturn typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isextensible-o\n\tIsExtensible: function IsExtensible(obj) {\n\t\tif (!Object.preventExtensions) {\n\t\t\treturn true;\n\t\t}\n\t\tif (isPrimitive(obj)) {\n\t\t\treturn false;\n\t\t}\n\t\treturn Object.isExtensible(obj);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isinteger\n\tIsInteger: function IsInteger(argument) {\n\t\tif (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) {\n\t\t\treturn false;\n\t\t}\n\t\tvar abs = Math.abs(argument);\n\t\treturn Math.floor(abs) === abs;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ispropertykey\n\tIsPropertyKey: function IsPropertyKey(argument) {\n\t\treturn typeof argument === 'string' || typeof argument === 'symbol';\n\t},\n\n\t// http://www.ecma-international.org/ecma-262/6.0/#sec-isregexp\n\tIsRegExp: function IsRegExp(argument) {\n\t\tif (!argument || typeof argument !== 'object') {\n\t\t\treturn false;\n\t\t}\n\t\tif (hasSymbols) {\n\t\t\tvar isRegExp = argument[Symbol.match];\n\t\t\tif (typeof isRegExp !== 'undefined') {\n\t\t\t\treturn ES5.ToBoolean(isRegExp);\n\t\t\t}\n\t\t}\n\t\treturn hasRegExpMatcher(argument);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevalue\n\t// SameValue: ES5.SameValue,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero\n\tSameValueZero: function SameValueZero(x, y) {\n\t\treturn x === y || $isNaN(x) && $isNaN(y);\n\t},\n\n\t/**\n * 7.3.2 GetV (V, P)\n * 1. Assert: IsPropertyKey(P) is true.\n * 2. Let O be ToObject(V).\n * 3. ReturnIfAbrupt(O).\n * 4. Return O.[[Get]](P, V).\n */\n\tGetV: function GetV(V, P) {\n\t\t// 7.3.2.1\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\t// 7.3.2.2-3\n\t\tvar O = this.ToObject(V);\n\n\t\t// 7.3.2.4\n\t\treturn O[P];\n\t},\n\n\t/**\n * 7.3.9 - http://www.ecma-international.org/ecma-262/6.0/#sec-getmethod\n * 1. Assert: IsPropertyKey(P) is true.\n * 2. Let func be GetV(O, P).\n * 3. ReturnIfAbrupt(func).\n * 4. If func is either undefined or null, return undefined.\n * 5. If IsCallable(func) is false, throw a TypeError exception.\n * 6. Return func.\n */\n\tGetMethod: function GetMethod(O, P) {\n\t\t// 7.3.9.1\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\t// 7.3.9.2\n\t\tvar func = this.GetV(O, P);\n\n\t\t// 7.3.9.4\n\t\tif (func == null) {\n\t\t\treturn void 0;\n\t\t}\n\n\t\t// 7.3.9.5\n\t\tif (!this.IsCallable(func)) {\n\t\t\tthrow new TypeError(P + 'is not a function');\n\t\t}\n\n\t\t// 7.3.9.6\n\t\treturn func;\n\t},\n\n\t/**\n * 7.3.1 Get (O, P) - http://www.ecma-international.org/ecma-262/6.0/#sec-get-o-p\n * 1. Assert: Type(O) is Object.\n * 2. Assert: IsPropertyKey(P) is true.\n * 3. Return O.[[Get]](P, O).\n */\n\tGet: function Get(O, P) {\n\t\t// 7.3.1.1\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\t// 7.3.1.2\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\t// 7.3.1.3\n\t\treturn O[P];\n\t},\n\n\tType: function Type(x) {\n\t\tif (typeof x === 'symbol') {\n\t\t\treturn 'Symbol';\n\t\t}\n\t\treturn ES5.Type(x);\n\t},\n\n\t// http://www.ecma-international.org/ecma-262/6.0/#sec-speciesconstructor\n\tSpeciesConstructor: function SpeciesConstructor(O, defaultConstructor) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tvar C = O.constructor;\n\t\tif (typeof C === 'undefined') {\n\t\t\treturn defaultConstructor;\n\t\t}\n\t\tif (this.Type(C) !== 'Object') {\n\t\t\tthrow new TypeError('O.constructor is not an Object');\n\t\t}\n\t\tvar S = hasSymbols && Symbol.species ? C[Symbol.species] : void 0;\n\t\tif (S == null) {\n\t\t\treturn defaultConstructor;\n\t\t}\n\t\tif (this.IsConstructor(S)) {\n\t\t\treturn S;\n\t\t}\n\t\tthrow new TypeError('no constructor found');\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor\n\tCompletePropertyDescriptor: function CompletePropertyDescriptor(Desc) {\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (this.IsGenericDescriptor(Desc) || this.IsDataDescriptor(Desc)) {\n\t\t\tif (!has(Desc, '[[Value]]')) {\n\t\t\t\tDesc['[[Value]]'] = void 0;\n\t\t\t}\n\t\t\tif (!has(Desc, '[[Writable]]')) {\n\t\t\t\tDesc['[[Writable]]'] = false;\n\t\t\t}\n\t\t} else {\n\t\t\tif (!has(Desc, '[[Get]]')) {\n\t\t\t\tDesc['[[Get]]'] = void 0;\n\t\t\t}\n\t\t\tif (!has(Desc, '[[Set]]')) {\n\t\t\t\tDesc['[[Set]]'] = void 0;\n\t\t\t}\n\t\t}\n\t\tif (!has(Desc, '[[Enumerable]]')) {\n\t\t\tDesc['[[Enumerable]]'] = false;\n\t\t}\n\t\tif (!has(Desc, '[[Configurable]]')) {\n\t\t\tDesc['[[Configurable]]'] = false;\n\t\t}\n\t\treturn Desc;\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw\n\tSet: function Set(O, P, V, Throw) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('P must be a Property Key');\n\t\t}\n\t\tif (this.Type(Throw) !== 'Boolean') {\n\t\t\tthrow new TypeError('Throw must be a Boolean');\n\t\t}\n\t\tif (Throw) {\n\t\t\tO[P] = V;\n\t\t\treturn true;\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tO[P] = V;\n\t\t\t} catch (e) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-hasownproperty\n\tHasOwnProperty: function HasOwnProperty(O, P) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('P must be a Property Key');\n\t\t}\n\t\treturn has(O, P);\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-hasproperty\n\tHasProperty: function HasProperty(O, P) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('P must be a Property Key');\n\t\t}\n\t\treturn P in O;\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable\n\tIsConcatSpreadable: function IsConcatSpreadable(O) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\tif (hasSymbols && typeof Symbol.isConcatSpreadable === 'symbol') {\n\t\t\tvar spreadable = this.Get(O, Symbol.isConcatSpreadable);\n\t\t\tif (typeof spreadable !== 'undefined') {\n\t\t\t\treturn this.ToBoolean(spreadable);\n\t\t\t}\n\t\t}\n\t\treturn this.IsArray(O);\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-invoke\n\tInvoke: function Invoke(O, P) {\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('P must be a Property Key');\n\t\t}\n\t\tvar argumentsList = arraySlice(arguments, 2);\n\t\tvar func = this.GetV(O, P);\n\t\treturn this.Call(func, O, argumentsList);\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject\n\tCreateIterResultObject: function CreateIterResultObject(value, done) {\n\t\tif (this.Type(done) !== 'Boolean') {\n\t\t\tthrow new TypeError('Assertion failed: Type(done) is not Boolean');\n\t\t}\n\t\treturn {\n\t\t\tvalue: value,\n\t\t\tdone: done\n\t\t};\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-regexpexec\n\tRegExpExec: function RegExpExec(R, S) {\n\t\tif (this.Type(R) !== 'Object') {\n\t\t\tthrow new TypeError('R must be an Object');\n\t\t}\n\t\tif (this.Type(S) !== 'String') {\n\t\t\tthrow new TypeError('S must be a String');\n\t\t}\n\t\tvar exec = this.Get(R, 'exec');\n\t\tif (this.IsCallable(exec)) {\n\t\t\tvar result = this.Call(exec, R, [S]);\n\t\t\tif (result === null || this.Type(result) === 'Object') {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tthrow new TypeError('\"exec\" method must return `null` or an Object');\n\t\t}\n\t\treturn regexExec(R, S);\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate\n\tArraySpeciesCreate: function ArraySpeciesCreate(originalArray, length) {\n\t\tif (!this.IsInteger(length) || length < 0) {\n\t\t\tthrow new TypeError('Assertion failed: length must be an integer >= 0');\n\t\t}\n\t\tvar len = length === 0 ? 0 : length;\n\t\tvar C;\n\t\tvar isArray = this.IsArray(originalArray);\n\t\tif (isArray) {\n\t\t\tC = this.Get(originalArray, 'constructor');\n\t\t\t// TODO: figure out how to make a cross-realm normal Array, a same-realm Array\n\t\t\t// if (this.IsConstructor(C)) {\n\t\t\t// \tif C is another realm's Array, C = undefined\n\t\t\t// \tObject.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?\n\t\t\t// }\n\t\t\tif (this.Type(C) === 'Object' && hasSymbols && Symbol.species) {\n\t\t\t\tC = this.Get(C, Symbol.species);\n\t\t\t\tif (C === null) {\n\t\t\t\t\tC = void 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (typeof C === 'undefined') {\n\t\t\treturn Array(len);\n\t\t}\n\t\tif (!this.IsConstructor(C)) {\n\t\t\tthrow new TypeError('C must be a constructor');\n\t\t}\n\t\treturn new C(len); // this.Construct(C, len);\n\t},\n\n\tCreateDataProperty: function CreateDataProperty(O, P, V) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\tvar oldDesc = Object.getOwnPropertyDescriptor(O, P);\n\t\tvar extensible = oldDesc || typeof Object.isExtensible !== 'function' || Object.isExtensible(O);\n\t\tvar immutable = oldDesc && (!oldDesc.writable || !oldDesc.configurable);\n\t\tif (immutable || !extensible) {\n\t\t\treturn false;\n\t\t}\n\t\tvar newDesc = {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\tvalue: V,\n\t\t\twritable: true\n\t\t};\n\t\tObject.defineProperty(O, P, newDesc);\n\t\treturn true;\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow\n\tCreateDataPropertyOrThrow: function CreateDataPropertyOrThrow(O, P, V) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\tvar success = this.CreateDataProperty(O, P, V);\n\t\tif (!success) {\n\t\t\tthrow new TypeError('unable to create data property');\n\t\t}\n\t\treturn success;\n\t}\n});\n\ndelete ES6.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible\n\nmodule.exports = ES6;" + }, + { + "id": 851, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/function-bind/implementation.js", + "name": "./node_modules/function-bind/implementation.js", + "index": 38, + "index2": 30, + "size": 1370, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/function-bind/index.js", + "issuerId": 807, + "issuerName": "./node_modules/function-bind/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 807, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/function-bind/index.js", + "module": "./node_modules/function-bind/index.js", + "moduleName": "./node_modules/function-bind/index.js", + "type": "cjs require", + "userRequest": "./implementation", + "loc": "3:21-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(this, args.concat(slice.call(arguments)));\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(that, args.concat(slice.call(arguments)));\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};" + }, + { + "id": 852, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es6.js", + "name": "./node_modules/es-to-primitive/es6.js", + "index": 39, + "index2": 37, + "size": 2137, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "es-to-primitive/es6", + "loc": "4:18-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';\n\nvar isPrimitive = require('./helpers/isPrimitive');\nvar isCallable = require('is-callable');\nvar isDate = require('is-date-object');\nvar isSymbol = require('is-symbol');\n\nvar ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {\n\tif (typeof O === 'undefined' || O === null) {\n\t\tthrow new TypeError('Cannot call method on ' + O);\n\t}\n\tif (typeof hint !== 'string' || hint !== 'number' && hint !== 'string') {\n\t\tthrow new TypeError('hint must be \"string\" or \"number\"');\n\t}\n\tvar methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\tvar method, result, i;\n\tfor (i = 0; i < methodNames.length; ++i) {\n\t\tmethod = O[methodNames[i]];\n\t\tif (isCallable(method)) {\n\t\t\tresult = method.call(O);\n\t\t\tif (isPrimitive(result)) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\tthrow new TypeError('No default value');\n};\n\nvar GetMethod = function GetMethod(O, P) {\n\tvar func = O[P];\n\tif (func !== null && typeof func !== 'undefined') {\n\t\tif (!isCallable(func)) {\n\t\t\tthrow new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');\n\t\t}\n\t\treturn func;\n\t}\n};\n\n// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive\nmodule.exports = function ToPrimitive(input, PreferredType) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\tvar hint = 'default';\n\tif (arguments.length > 1) {\n\t\tif (PreferredType === String) {\n\t\t\thint = 'string';\n\t\t} else if (PreferredType === Number) {\n\t\t\thint = 'number';\n\t\t}\n\t}\n\n\tvar exoticToPrim;\n\tif (hasSymbols) {\n\t\tif (Symbol.toPrimitive) {\n\t\t\texoticToPrim = GetMethod(input, Symbol.toPrimitive);\n\t\t} else if (isSymbol(input)) {\n\t\t\texoticToPrim = Symbol.prototype.valueOf;\n\t\t}\n\t}\n\tif (typeof exoticToPrim !== 'undefined') {\n\t\tvar result = exoticToPrim.call(input, hint);\n\t\tif (isPrimitive(result)) {\n\t\t\treturn result;\n\t\t}\n\t\tthrow new TypeError('unable to convert exotic object to primitive');\n\t}\n\tif (hint === 'default' && (isDate(input) || isSymbol(input))) {\n\t\thint = 'string';\n\t}\n\treturn ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);\n};" + }, + { + "id": 853, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-date-object/index.js", + "name": "./node_modules/is-date-object/index.js", + "index": 42, + "index2": 35, + "size": 553, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es6.js", + "issuerId": 852, + "issuerName": "./node_modules/es-to-primitive/es6.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 852, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es6.js", + "module": "./node_modules/es-to-primitive/es6.js", + "moduleName": "./node_modules/es-to-primitive/es6.js", + "type": "cjs require", + "userRequest": "is-date-object", + "loc": "7:13-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateObject(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};" + }, + { + "id": 854, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-symbol/index.js", + "name": "./node_modules/is-symbol/index.js", + "index": 43, + "index2": 36, + "size": 787, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es6.js", + "issuerId": 852, + "issuerName": "./node_modules/es-to-primitive/es6.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 852, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es6.js", + "module": "./node_modules/es-to-primitive/es6.js", + "moduleName": "./node_modules/es-to-primitive/es6.js", + "type": "cjs require", + "userRequest": "is-symbol", + "loc": "8:15-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar toStr = Object.prototype.toString;\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';\n\nif (hasSymbols) {\n\tvar symToStr = Symbol.prototype.toString;\n\tvar symStringRegex = /^Symbol\\(.*\\)$/;\n\tvar isSymbolObject = function isSymbolObject(value) {\n\t\tif (typeof value.valueOf() !== 'symbol') {\n\t\t\treturn false;\n\t\t}\n\t\treturn symStringRegex.test(symToStr.call(value));\n\t};\n\tmodule.exports = function isSymbol(value) {\n\t\tif (typeof value === 'symbol') {\n\t\t\treturn true;\n\t\t}\n\t\tif (toStr.call(value) !== '[object Symbol]') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\treturn isSymbolObject(value);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n} else {\n\tmodule.exports = function isSymbol(value) {\n\t\t// this environment does not support Symbols.\n\t\treturn false;\n\t};\n}" + }, + { + "id": 855, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/helpers/assign.js", + "name": "./node_modules/es-abstract/helpers/assign.js", + "index": 46, + "index2": 40, + "size": 272, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "./helpers/assign", + "loc": "13:13-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var has = Object.prototype.hasOwnProperty;\nmodule.exports = function assign(target, source) {\n\tif (Object.assign) {\n\t\treturn Object.assign(target, source);\n\t}\n\tfor (var key in source) {\n\t\tif (has.call(source, key)) {\n\t\t\ttarget[key] = source[key];\n\t\t}\n\t}\n\treturn target;\n};" + }, + { + "id": 856, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/helpers/isPrimitive.js", + "name": "./node_modules/es-abstract/helpers/isPrimitive.js", + "index": 49, + "index2": 43, + "size": 133, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "./helpers/isPrimitive", + "loc": "16:18-50" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "module.exports = function isPrimitive(value) {\n\treturn value === null || typeof value !== 'function' && typeof value !== 'object';\n};" + }, + { + "id": 857, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es5.js", + "name": "./node_modules/es-abstract/es5.js", + "index": 50, + "index2": 45, + "size": 6278, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "./es5", + "loc": "39:10-26" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nvar $isNaN = require('./helpers/isNaN');\nvar $isFinite = require('./helpers/isFinite');\n\nvar sign = require('./helpers/sign');\nvar mod = require('./helpers/mod');\n\nvar IsCallable = require('is-callable');\nvar toPrimitive = require('es-to-primitive/es5');\n\nvar has = require('has');\n\n// https://es5.github.io/#x9\nvar ES5 = {\n\tToPrimitive: toPrimitive,\n\n\tToBoolean: function ToBoolean(value) {\n\t\treturn !!value;\n\t},\n\tToNumber: function ToNumber(value) {\n\t\treturn Number(value);\n\t},\n\tToInteger: function ToInteger(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number)) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (number === 0 || !$isFinite(number)) {\n\t\t\treturn number;\n\t\t}\n\t\treturn sign(number) * Math.floor(Math.abs(number));\n\t},\n\tToInt32: function ToInt32(x) {\n\t\treturn this.ToNumber(x) >> 0;\n\t},\n\tToUint32: function ToUint32(x) {\n\t\treturn this.ToNumber(x) >>> 0;\n\t},\n\tToUint16: function ToUint16(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number) || number === 0 || !$isFinite(number)) {\n\t\t\treturn 0;\n\t\t}\n\t\tvar posInt = sign(number) * Math.floor(Math.abs(number));\n\t\treturn mod(posInt, 0x10000);\n\t},\n\tToString: function ToString(value) {\n\t\treturn String(value);\n\t},\n\tToObject: function ToObject(value) {\n\t\tthis.CheckObjectCoercible(value);\n\t\treturn Object(value);\n\t},\n\tCheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {\n\t\t/* jshint eqnull:true */\n\t\tif (value == null) {\n\t\t\tthrow new TypeError(optMessage || 'Cannot call method on ' + value);\n\t\t}\n\t\treturn value;\n\t},\n\tIsCallable: IsCallable,\n\tSameValue: function SameValue(x, y) {\n\t\tif (x === y) {\n\t\t\t// 0 === -0, but they are not identical.\n\t\t\tif (x === 0) {\n\t\t\t\treturn 1 / x === 1 / y;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn $isNaN(x) && $isNaN(y);\n\t},\n\n\t// http://www.ecma-international.org/ecma-262/5.1/#sec-8\n\tType: function Type(x) {\n\t\tif (x === null) {\n\t\t\treturn 'Null';\n\t\t}\n\t\tif (typeof x === 'undefined') {\n\t\t\treturn 'Undefined';\n\t\t}\n\t\tif (typeof x === 'function' || typeof x === 'object') {\n\t\t\treturn 'Object';\n\t\t}\n\t\tif (typeof x === 'number') {\n\t\t\treturn 'Number';\n\t\t}\n\t\tif (typeof x === 'boolean') {\n\t\t\treturn 'Boolean';\n\t\t}\n\t\tif (typeof x === 'string') {\n\t\t\treturn 'String';\n\t\t}\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type\n\tIsPropertyDescriptor: function IsPropertyDescriptor(Desc) {\n\t\tif (this.Type(Desc) !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\tvar allowed = {\n\t\t\t'[[Configurable]]': true,\n\t\t\t'[[Enumerable]]': true,\n\t\t\t'[[Get]]': true,\n\t\t\t'[[Set]]': true,\n\t\t\t'[[Value]]': true,\n\t\t\t'[[Writable]]': true\n\t\t};\n\t\t// jscs:disable\n\t\tfor (var key in Desc) {\n\t\t\t// eslint-disable-line\n\t\t\tif (has(Desc, key) && !allowed[key]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\t// jscs:enable\n\t\tvar isData = has(Desc, '[[Value]]');\n\t\tvar IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');\n\t\tif (isData && IsAccessor) {\n\t\t\tthrow new TypeError('Property Descriptors may not be both accessor and data descriptors');\n\t\t}\n\t\treturn true;\n\t},\n\n\t// http://ecma-international.org/ecma-262/5.1/#sec-8.10.1\n\tIsAccessorDescriptor: function IsAccessorDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t// http://ecma-international.org/ecma-262/5.1/#sec-8.10.2\n\tIsDataDescriptor: function IsDataDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t// http://ecma-international.org/ecma-262/5.1/#sec-8.10.3\n\tIsGenericDescriptor: function IsGenericDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (!this.IsAccessorDescriptor(Desc) && !this.IsDataDescriptor(Desc)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t// http://ecma-international.org/ecma-262/5.1/#sec-8.10.4\n\tFromPropertyDescriptor: function FromPropertyDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn Desc;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (this.IsDataDescriptor(Desc)) {\n\t\t\treturn {\n\t\t\t\tvalue: Desc['[[Value]]'],\n\t\t\t\twritable: !!Desc['[[Writable]]'],\n\t\t\t\tenumerable: !!Desc['[[Enumerable]]'],\n\t\t\t\tconfigurable: !!Desc['[[Configurable]]']\n\t\t\t};\n\t\t} else if (this.IsAccessorDescriptor(Desc)) {\n\t\t\treturn {\n\t\t\t\tget: Desc['[[Get]]'],\n\t\t\t\tset: Desc['[[Set]]'],\n\t\t\t\tenumerable: !!Desc['[[Enumerable]]'],\n\t\t\t\tconfigurable: !!Desc['[[Configurable]]']\n\t\t\t};\n\t\t} else {\n\t\t\tthrow new TypeError('FromPropertyDescriptor must be called with a fully populated Property Descriptor');\n\t\t}\n\t},\n\n\t// http://ecma-international.org/ecma-262/5.1/#sec-8.10.5\n\tToPropertyDescriptor: function ToPropertyDescriptor(Obj) {\n\t\tif (this.Type(Obj) !== 'Object') {\n\t\t\tthrow new TypeError('ToPropertyDescriptor requires an object');\n\t\t}\n\n\t\tvar desc = {};\n\t\tif (has(Obj, 'enumerable')) {\n\t\t\tdesc['[[Enumerable]]'] = this.ToBoolean(Obj.enumerable);\n\t\t}\n\t\tif (has(Obj, 'configurable')) {\n\t\t\tdesc['[[Configurable]]'] = this.ToBoolean(Obj.configurable);\n\t\t}\n\t\tif (has(Obj, 'value')) {\n\t\t\tdesc['[[Value]]'] = Obj.value;\n\t\t}\n\t\tif (has(Obj, 'writable')) {\n\t\t\tdesc['[[Writable]]'] = this.ToBoolean(Obj.writable);\n\t\t}\n\t\tif (has(Obj, 'get')) {\n\t\t\tvar getter = Obj.get;\n\t\t\tif (typeof getter !== 'undefined' && !this.IsCallable(getter)) {\n\t\t\t\tthrow new TypeError('getter must be a function');\n\t\t\t}\n\t\t\tdesc['[[Get]]'] = getter;\n\t\t}\n\t\tif (has(Obj, 'set')) {\n\t\t\tvar setter = Obj.set;\n\t\t\tif (typeof setter !== 'undefined' && !this.IsCallable(setter)) {\n\t\t\t\tthrow new TypeError('setter must be a function');\n\t\t\t}\n\t\t\tdesc['[[Set]]'] = setter;\n\t\t}\n\n\t\tif ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) {\n\t\t\tthrow new TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute');\n\t\t}\n\t\treturn desc;\n\t}\n};\n\nmodule.exports = ES5;" + }, + { + "id": 858, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-to-primitive/es5.js", + "name": "./node_modules/es-to-primitive/es5.js", + "index": 51, + "index2": 44, + "size": 1002, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es5.js", + "issuerId": 857, + "issuerName": "./node_modules/es-abstract/es5.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 857, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es5.js", + "module": "./node_modules/es-abstract/es5.js", + "moduleName": "./node_modules/es-abstract/es5.js", + "type": "cjs require", + "userRequest": "es-to-primitive/es5", + "loc": "10:18-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar toStr = Object.prototype.toString;\n\nvar isPrimitive = require('./helpers/isPrimitive');\n\nvar isCallable = require('is-callable');\n\n// https://es5.github.io/#x8.12\nvar ES5internalSlots = {\n\t'[[DefaultValue]]': function (O, hint) {\n\t\tvar actualHint = hint || (toStr.call(O) === '[object Date]' ? String : Number);\n\n\t\tif (actualHint === String || actualHint === Number) {\n\t\t\tvar methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\t\t\tvar value, i;\n\t\t\tfor (i = 0; i < methods.length; ++i) {\n\t\t\t\tif (isCallable(O[methods[i]])) {\n\t\t\t\t\tvalue = O[methods[i]]();\n\t\t\t\t\tif (isPrimitive(value)) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new TypeError('No default value');\n\t\t}\n\t\tthrow new TypeError('invalid [[DefaultValue]] hint supplied');\n\t}\n};\n\n// https://es5.github.io/#x9\nmodule.exports = function ToPrimitive(input, PreferredType) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\treturn ES5internalSlots['[[DefaultValue]]'](input, PreferredType);\n};" + }, + { + "id": 859, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-regex/index.js", + "name": "./node_modules/is-regex/index.js", + "index": 52, + "index2": 46, + "size": 917, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "issuerId": 850, + "issuerName": "./node_modules/es-abstract/es2015.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 850, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/es-abstract/es2015.js", + "module": "./node_modules/es-abstract/es2015.js", + "moduleName": "./node_modules/es-abstract/es2015.js", + "type": "cjs require", + "userRequest": "is-regex", + "loc": "41:23-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nvar has = require('has');\nvar regexExec = RegExp.prototype.exec;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar tryRegexExecCall = function tryRegexExec(value) {\n\ttry {\n\t\tvar lastIndex = value.lastIndex;\n\t\tvalue.lastIndex = 0;\n\n\t\tregexExec.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\tvalue.lastIndex = lastIndex;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar regexClass = '[object RegExp]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isRegex(value) {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\tif (!hasToStringTag) {\n\t\treturn toStr.call(value) === regexClass;\n\t}\n\n\tvar descriptor = gOPD(value, 'lastIndex');\n\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\n\tif (!hasLastIndexDataProperty) {\n\t\treturn false;\n\t}\n\n\treturn tryRegexExecCall(value);\n};" + }, + { + "id": 860, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/shim.js", + "name": "./node_modules/array-includes/shim.js", + "index": 55, + "index2": 51, + "size": 340, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "issuerId": 846, + "issuerName": "./node_modules/array-includes/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 846, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/index.js", + "module": "./node_modules/array-includes/index.js", + "moduleName": "./node_modules/array-includes/index.js", + "type": "cjs require", + "userRequest": "./shim", + "loc": "9:11-28" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimArrayPrototypeIncludes() {\n\tvar polyfill = getPolyfill();\n\tdefine(Array.prototype, { includes: polyfill }, { includes: function () {\n\t\t\treturn Array.prototype.includes !== polyfill;\n\t\t} });\n\treturn polyfill;\n};" + }, + { + "id": 861, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/index.js", + "name": "./node_modules/is-nan/index.js", + "index": 57, + "index2": 57, + "size": 387, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "issuerId": 749, + "issuerName": "./app/javascript/mastodon/base_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 749, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "module": "./app/javascript/mastodon/base_polyfills.js", + "moduleName": "./app/javascript/mastodon/base_polyfills.js", + "type": "harmony import", + "userRequest": "is-nan", + "loc": "6:0-27" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "'use strict';\n\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(implementation, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = implementation;" + }, + { + "id": 862, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/shim.js", + "name": "./node_modules/is-nan/shim.js", + "index": 60, + "index2": 56, + "size": 374, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 0 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/index.js", + "issuerId": 861, + "issuerName": "./node_modules/is-nan/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 861, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-nan/index.js", + "module": "./node_modules/is-nan/index.js", + "moduleName": "./node_modules/is-nan/index.js", + "type": "cjs require", + "userRequest": "./shim", + "loc": "7:11-28" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, { isNaN: function () {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t} });\n\treturn polyfill;\n};" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 75, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/load_polyfills.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/load_polyfills.js", + "moduleName": "./app/javascript/mastodon/load_polyfills.js", + "loc": "6:9-76", + "name": "base_polyfills", + "reasons": [] + } + ] + }, + { + "id": 1, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 35172, + "names": [ + "extra_polyfills" + ], + "files": [ + "extra_polyfills-1caed55b56bce0471b41.js", + "extra_polyfills-1caed55b56bce0471b41.js.map" + ], + "hash": "1caed55b56bce0471b41", + "parents": [ + 27, + 28, + 29, + 30 + ], + "modules": [ + { + "id": 750, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/extra_polyfills.js", + "name": "./app/javascript/mastodon/extra_polyfills.js", + "index": 61, + "index2": 62, + "size": 130, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 1 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/load_polyfills.js", + "issuerId": 75, + "issuerName": "./app/javascript/mastodon/load_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 75, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/load_polyfills.js", + "module": "./app/javascript/mastodon/load_polyfills.js", + "moduleName": "./app/javascript/mastodon/load_polyfills.js", + "type": "import()", + "userRequest": "./extra_polyfills", + "loc": "10:9-78" + } + ], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 2, + "source": "import 'intersection-observer';\nimport 'requestidlecallback';\nimport objectFitImages from 'object-fit-images';\n\nobjectFitImages();" + }, + { + "id": 863, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intersection-observer/intersection-observer.js", + "name": "./node_modules/intersection-observer/intersection-observer.js", + "index": 62, + "index2": 59, + "size": 23245, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 1 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/extra_polyfills.js", + "issuerId": 750, + "issuerName": "./app/javascript/mastodon/extra_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 750, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/extra_polyfills.js", + "module": "./app/javascript/mastodon/extra_polyfills.js", + "moduleName": "./app/javascript/mastodon/extra_polyfills.js", + "type": "harmony import", + "userRequest": "intersection-observer", + "loc": "1:0-31" + } + ], + "usedExports": false, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/**\n * Copyright 2016 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function (window, document) {\n 'use strict';\n\n // Exits early if all IntersectionObserver and IntersectionObserverEntry\n // features are natively supported.\n\n if ('IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/WICG/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', {\n get: function () {\n return this.intersectionRatio > 0;\n }\n });\n }\n return;\n }\n\n /**\n * An IntersectionObserver registry. This registry exists to hold a strong\n * reference to IntersectionObserver instances currently observering a target\n * element. Without this registry, instances without another reference may be\n * garbage collected.\n */\n var registry = [];\n\n /**\n * Creates the global IntersectionObserverEntry constructor.\n * https://wicg.github.io/IntersectionObserver/#intersection-observer-entry\n * @param {Object} entry A dictionary of instance properties.\n * @constructor\n */\n function IntersectionObserverEntry(entry) {\n this.time = entry.time;\n this.target = entry.target;\n this.rootBounds = entry.rootBounds;\n this.boundingClientRect = entry.boundingClientRect;\n this.intersectionRect = entry.intersectionRect || getEmptyRect();\n this.isIntersecting = !!entry.intersectionRect;\n\n // Calculates the intersection ratio.\n var targetRect = this.boundingClientRect;\n var targetArea = targetRect.width * targetRect.height;\n var intersectionRect = this.intersectionRect;\n var intersectionArea = intersectionRect.width * intersectionRect.height;\n\n // Sets intersection ratio.\n if (targetArea) {\n this.intersectionRatio = intersectionArea / targetArea;\n } else {\n // If area is zero and is intersecting, sets to 1, otherwise to 0\n this.intersectionRatio = this.isIntersecting ? 1 : 0;\n }\n }\n\n /**\n * Creates the global IntersectionObserver constructor.\n * https://wicg.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {Function} callback The function to be invoked after intersection\n * changes have queued. The function is not invoked if the queue has\n * been emptied by calling the `takeRecords` method.\n * @param {Object=} opt_options Optional configuration options.\n * @constructor\n */\n function IntersectionObserver(callback, opt_options) {\n\n var options = opt_options || {};\n\n if (typeof callback != 'function') {\n throw new Error('callback must be a function');\n }\n\n if (options.root && options.root.nodeType != 1) {\n throw new Error('root must be an Element');\n }\n\n // Binds and throttles `this._checkForIntersections`.\n this._checkForIntersections = throttle(this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\n\n // Private properties.\n this._callback = callback;\n this._observationTargets = [];\n this._queuedEntries = [];\n this._rootMarginValues = this._parseRootMargin(options.rootMargin);\n\n // Public properties.\n this.thresholds = this._initThresholds(options.threshold);\n this.root = options.root || null;\n this.rootMargin = this._rootMarginValues.map(function (margin) {\n return margin.value + margin.unit;\n }).join(' ');\n }\n\n /**\n * The minimum interval within which the document will be checked for\n * intersection changes.\n */\n IntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\n\n /**\n * The frequency in which the polyfill polls for intersection changes.\n * this can be updated on a per instance basis and must be set prior to\n * calling `observe` on the first target.\n */\n IntersectionObserver.prototype.POLL_INTERVAL = null;\n\n /**\n * Starts observing a target element for intersection changes based on\n * the thresholds values.\n * @param {Element} target The DOM element to observe.\n */\n IntersectionObserver.prototype.observe = function (target) {\n // If the target is already being observed, do nothing.\n if (this._observationTargets.some(function (item) {\n return item.element == target;\n })) {\n return;\n }\n\n if (!(target && target.nodeType == 1)) {\n throw new Error('target must be an Element');\n }\n\n this._registerInstance();\n this._observationTargets.push({ element: target, entry: null });\n this._monitorIntersections();\n this._checkForIntersections();\n };\n\n /**\n * Stops observing a target element for intersection changes.\n * @param {Element} target The DOM element to observe.\n */\n IntersectionObserver.prototype.unobserve = function (target) {\n this._observationTargets = this._observationTargets.filter(function (item) {\n\n return item.element != target;\n });\n if (!this._observationTargets.length) {\n this._unmonitorIntersections();\n this._unregisterInstance();\n }\n };\n\n /**\n * Stops observing all target elements for intersection changes.\n */\n IntersectionObserver.prototype.disconnect = function () {\n this._observationTargets = [];\n this._unmonitorIntersections();\n this._unregisterInstance();\n };\n\n /**\n * Returns any queue entries that have not yet been reported to the\n * callback and clears the queue. This can be used in conjunction with the\n * callback to obtain the absolute most up-to-date intersection information.\n * @return {Array} The currently queued entries.\n */\n IntersectionObserver.prototype.takeRecords = function () {\n var records = this._queuedEntries.slice();\n this._queuedEntries = [];\n return records;\n };\n\n /**\n * Accepts the threshold value from the user configuration object and\n * returns a sorted array of unique threshold values. If a value is not\n * between 0 and 1 and error is thrown.\n * @private\n * @param {Array|number=} opt_threshold An optional threshold value or\n * a list of threshold values, defaulting to [0].\n * @return {Array} A sorted list of unique and valid threshold values.\n */\n IntersectionObserver.prototype._initThresholds = function (opt_threshold) {\n var threshold = opt_threshold || [0];\n if (!Array.isArray(threshold)) threshold = [threshold];\n\n return threshold.sort().filter(function (t, i, a) {\n if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\n throw new Error('threshold must be a number between 0 and 1 inclusively');\n }\n return t !== a[i - 1];\n });\n };\n\n /**\n * Accepts the rootMargin value from the user configuration object\n * and returns an array of the four margin values as an object containing\n * the value and unit properties. If any of the values are not properly\n * formatted or use a unit other than px or %, and error is thrown.\n * @private\n * @param {string=} opt_rootMargin An optional rootMargin value,\n * defaulting to '0px'.\n * @return {Array} An array of margin objects with the keys\n * value and unit.\n */\n IntersectionObserver.prototype._parseRootMargin = function (opt_rootMargin) {\n var marginString = opt_rootMargin || '0px';\n var margins = marginString.split(/\\s+/).map(function (margin) {\n var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n if (!parts) {\n throw new Error('rootMargin must be specified in pixels or percent');\n }\n return { value: parseFloat(parts[1]), unit: parts[2] };\n });\n\n // Handles shorthand.\n margins[1] = margins[1] || margins[0];\n margins[2] = margins[2] || margins[0];\n margins[3] = margins[3] || margins[1];\n\n return margins;\n };\n\n /**\n * Starts polling for intersection changes if the polling is not already\n * happening, and if the page's visibilty state is visible.\n * @private\n */\n IntersectionObserver.prototype._monitorIntersections = function () {\n if (!this._monitoringIntersections) {\n this._monitoringIntersections = true;\n\n // If a poll interval is set, use polling instead of listening to\n // resize and scroll events or DOM mutations.\n if (this.POLL_INTERVAL) {\n this._monitoringInterval = setInterval(this._checkForIntersections, this.POLL_INTERVAL);\n } else {\n addEvent(window, 'resize', this._checkForIntersections, true);\n addEvent(document, 'scroll', this._checkForIntersections, true);\n\n if ('MutationObserver' in window) {\n this._domObserver = new MutationObserver(this._checkForIntersections);\n this._domObserver.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n }\n }\n }\n };\n\n /**\n * Stops polling for intersection changes.\n * @private\n */\n IntersectionObserver.prototype._unmonitorIntersections = function () {\n if (this._monitoringIntersections) {\n this._monitoringIntersections = false;\n\n clearInterval(this._monitoringInterval);\n this._monitoringInterval = null;\n\n removeEvent(window, 'resize', this._checkForIntersections, true);\n removeEvent(document, 'scroll', this._checkForIntersections, true);\n\n if (this._domObserver) {\n this._domObserver.disconnect();\n this._domObserver = null;\n }\n }\n };\n\n /**\n * Scans each observation target for intersection changes and adds them\n * to the internal entries queue. If new entries are found, it\n * schedules the callback to be invoked.\n * @private\n */\n IntersectionObserver.prototype._checkForIntersections = function () {\n var rootIsInDom = this._rootIsInDom();\n var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n\n this._observationTargets.forEach(function (item) {\n var target = item.element;\n var targetRect = getBoundingClientRect(target);\n var rootContainsTarget = this._rootContainsTarget(target);\n var oldEntry = item.entry;\n var intersectionRect = rootIsInDom && rootContainsTarget && this._computeTargetAndRootIntersection(target, rootRect);\n\n var newEntry = item.entry = new IntersectionObserverEntry({\n time: now(),\n target: target,\n boundingClientRect: targetRect,\n rootBounds: rootRect,\n intersectionRect: intersectionRect\n });\n\n if (!oldEntry) {\n this._queuedEntries.push(newEntry);\n } else if (rootIsInDom && rootContainsTarget) {\n // If the new entry intersection ratio has crossed any of the\n // thresholds, add a new entry.\n if (this._hasCrossedThreshold(oldEntry, newEntry)) {\n this._queuedEntries.push(newEntry);\n }\n } else {\n // If the root is not in the DOM or target is not contained within\n // root but the previous entry for this target had an intersection,\n // add a new record indicating removal.\n if (oldEntry && oldEntry.isIntersecting) {\n this._queuedEntries.push(newEntry);\n }\n }\n }, this);\n\n if (this._queuedEntries.length) {\n this._callback(this.takeRecords(), this);\n }\n };\n\n /**\n * Accepts a target and root rect computes the intersection between then\n * following the algorithm in the spec.\n * TODO(philipwalton): at this time clip-path is not considered.\n * https://wicg.github.io/IntersectionObserver/#calculate-intersection-rect-algo\n * @param {Element} target The target DOM element\n * @param {Object} rootRect The bounding rect of the root after being\n * expanded by the rootMargin value.\n * @return {?Object} The final intersection rect object or undefined if no\n * intersection is found.\n * @private\n */\n IntersectionObserver.prototype._computeTargetAndRootIntersection = function (target, rootRect) {\n\n // If the element isn't displayed, an intersection can't happen.\n if (window.getComputedStyle(target).display == 'none') return;\n\n var targetRect = getBoundingClientRect(target);\n var intersectionRect = targetRect;\n var parent = getParentNode(target);\n var atRoot = false;\n\n while (!atRoot) {\n var parentRect = null;\n var parentComputedStyle = parent.nodeType == 1 ? window.getComputedStyle(parent) : {};\n\n // If the parent isn't displayed, an intersection can't happen.\n if (parentComputedStyle.display == 'none') return;\n\n if (parent == this.root || parent == document) {\n atRoot = true;\n parentRect = rootRect;\n } else {\n // If the element has a non-visible overflow, and it's not the \n // or element, update the intersection rect.\n // Note: and cannot be clipped to a rect that's not also\n // the document rect, so no need to compute a new intersection.\n if (parent != document.body && parent != document.documentElement && parentComputedStyle.overflow != 'visible') {\n parentRect = getBoundingClientRect(parent);\n }\n }\n\n // If either of the above conditionals set a new parentRect,\n // calculate new intersection data.\n if (parentRect) {\n intersectionRect = computeRectIntersection(parentRect, intersectionRect);\n\n if (!intersectionRect) break;\n }\n parent = getParentNode(parent);\n }\n return intersectionRect;\n };\n\n /**\n * Returns the root rect after being expanded by the rootMargin value.\n * @return {Object} The expanded root rect.\n * @private\n */\n IntersectionObserver.prototype._getRootRect = function () {\n var rootRect;\n if (this.root) {\n rootRect = getBoundingClientRect(this.root);\n } else {\n // Use / instead of window since scroll bars affect size.\n var html = document.documentElement;\n var body = document.body;\n rootRect = {\n top: 0,\n left: 0,\n right: html.clientWidth || body.clientWidth,\n width: html.clientWidth || body.clientWidth,\n bottom: html.clientHeight || body.clientHeight,\n height: html.clientHeight || body.clientHeight\n };\n }\n return this._expandRectByRootMargin(rootRect);\n };\n\n /**\n * Accepts a rect and expands it by the rootMargin value.\n * @param {Object} rect The rect object to expand.\n * @return {Object} The expanded rect.\n * @private\n */\n IntersectionObserver.prototype._expandRectByRootMargin = function (rect) {\n var margins = this._rootMarginValues.map(function (margin, i) {\n return margin.unit == 'px' ? margin.value : margin.value * (i % 2 ? rect.width : rect.height) / 100;\n });\n var newRect = {\n top: rect.top - margins[0],\n right: rect.right + margins[1],\n bottom: rect.bottom + margins[2],\n left: rect.left - margins[3]\n };\n newRect.width = newRect.right - newRect.left;\n newRect.height = newRect.bottom - newRect.top;\n\n return newRect;\n };\n\n /**\n * Accepts an old and new entry and returns true if at least one of the\n * threshold values has been crossed.\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\n * particular target element or null if no previous entry exists.\n * @param {IntersectionObserverEntry} newEntry The current entry for a\n * particular target element.\n * @return {boolean} Returns true if a any threshold has been crossed.\n * @private\n */\n IntersectionObserver.prototype._hasCrossedThreshold = function (oldEntry, newEntry) {\n\n // To make comparing easier, an entry that has a ratio of 0\n // but does not actually intersect is given a value of -1\n var oldRatio = oldEntry && oldEntry.isIntersecting ? oldEntry.intersectionRatio || 0 : -1;\n var newRatio = newEntry.isIntersecting ? newEntry.intersectionRatio || 0 : -1;\n\n // Ignore unchanged ratios\n if (oldRatio === newRatio) return;\n\n for (var i = 0; i < this.thresholds.length; i++) {\n var threshold = this.thresholds[i];\n\n // Return true if an entry matches a threshold or if the new ratio\n // and the old ratio are on the opposite sides of a threshold.\n if (threshold == oldRatio || threshold == newRatio || threshold < oldRatio !== threshold < newRatio) {\n return true;\n }\n }\n };\n\n /**\n * Returns whether or not the root element is an element and is in the DOM.\n * @return {boolean} True if the root element is an element and is in the DOM.\n * @private\n */\n IntersectionObserver.prototype._rootIsInDom = function () {\n return !this.root || containsDeep(document, this.root);\n };\n\n /**\n * Returns whether or not the target element is a child of root.\n * @param {Element} target The target element to check.\n * @return {boolean} True if the target element is a child of root.\n * @private\n */\n IntersectionObserver.prototype._rootContainsTarget = function (target) {\n return containsDeep(this.root || document, target);\n };\n\n /**\n * Adds the instance to the global IntersectionObserver registry if it isn't\n * already present.\n * @private\n */\n IntersectionObserver.prototype._registerInstance = function () {\n if (registry.indexOf(this) < 0) {\n registry.push(this);\n }\n };\n\n /**\n * Removes the instance from the global IntersectionObserver registry.\n * @private\n */\n IntersectionObserver.prototype._unregisterInstance = function () {\n var index = registry.indexOf(this);\n if (index != -1) registry.splice(index, 1);\n };\n\n /**\n * Returns the result of the performance.now() method or null in browsers\n * that don't support the API.\n * @return {number} The elapsed time since the page was requested.\n */\n function now() {\n return window.performance && performance.now && performance.now();\n }\n\n /**\n * Throttles a function and delays its executiong, so it's only called at most\n * once within a given time period.\n * @param {Function} fn The function to throttle.\n * @param {number} timeout The amount of time that must pass before the\n * function can be called again.\n * @return {Function} The throttled function.\n */\n function throttle(fn, timeout) {\n var timer = null;\n return function () {\n if (!timer) {\n timer = setTimeout(function () {\n fn();\n timer = null;\n }, timeout);\n }\n };\n }\n\n /**\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\n * @param {Node} node The DOM node to add the event handler to.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to add.\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\n * phase. Note: this only works in modern browsers.\n */\n function addEvent(node, event, fn, opt_useCapture) {\n if (typeof node.addEventListener == 'function') {\n node.addEventListener(event, fn, opt_useCapture || false);\n } else if (typeof node.attachEvent == 'function') {\n node.attachEvent('on' + event, fn);\n }\n }\n\n /**\n * Removes a previously added event handler from a DOM node.\n * @param {Node} node The DOM node to remove the event handler from.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to remove.\n * @param {boolean} opt_useCapture If the event handler was added with this\n * flag set to true, it should be set to true here in order to remove it.\n */\n function removeEvent(node, event, fn, opt_useCapture) {\n if (typeof node.removeEventListener == 'function') {\n node.removeEventListener(event, fn, opt_useCapture || false);\n } else if (typeof node.detatchEvent == 'function') {\n node.detatchEvent('on' + event, fn);\n }\n }\n\n /**\n * Returns the intersection between two rect objects.\n * @param {Object} rect1 The first rect.\n * @param {Object} rect2 The second rect.\n * @return {?Object} The intersection rect or undefined if no intersection\n * is found.\n */\n function computeRectIntersection(rect1, rect2) {\n var top = Math.max(rect1.top, rect2.top);\n var bottom = Math.min(rect1.bottom, rect2.bottom);\n var left = Math.max(rect1.left, rect2.left);\n var right = Math.min(rect1.right, rect2.right);\n var width = right - left;\n var height = bottom - top;\n\n return width >= 0 && height >= 0 && {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n width: width,\n height: height\n };\n }\n\n /**\n * Shims the native getBoundingClientRect for compatibility with older IE.\n * @param {Element} el The element whose bounding rect to get.\n * @return {Object} The (possibly shimmed) rect of the element.\n */\n function getBoundingClientRect(el) {\n var rect;\n\n try {\n rect = el.getBoundingClientRect();\n } catch (err) {\n // Ignore Windows 7 IE11 \"Unspecified error\"\n // https://github.com/WICG/IntersectionObserver/pull/205\n }\n\n if (!rect) return getEmptyRect();\n\n // Older IE\n if (!(rect.width && rect.height)) {\n rect = {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n }\n return rect;\n }\n\n /**\n * Returns an empty rect object. An empty rect is returned when an element\n * is not in the DOM.\n * @return {Object} The empty rect.\n */\n function getEmptyRect() {\n return {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: 0,\n height: 0\n };\n }\n\n /**\n * Checks to see if a parent element contains a child elemnt (including inside\n * shadow DOM).\n * @param {Node} parent The parent element.\n * @param {Node} child The child element.\n * @return {boolean} True if the parent node contains the child node.\n */\n function containsDeep(parent, child) {\n var node = child;\n while (node) {\n if (node == parent) return true;\n\n node = getParentNode(node);\n }\n return false;\n }\n\n /**\n * Gets the parent node of an element or its host element if the parent node\n * is a shadow root.\n * @param {Node} node The node whose parent to get.\n * @return {Node|null} The parent node or null if no parent exists.\n */\n function getParentNode(node) {\n var parent = node.parentNode;\n\n if (parent && parent.nodeType == 11 && parent.host) {\n // If the parent is a shadow root, return the host element.\n return parent.host;\n }\n return parent;\n }\n\n // Exposes the constructors globally.\n window.IntersectionObserver = IntersectionObserver;\n window.IntersectionObserverEntry = IntersectionObserverEntry;\n})(window, document);" + }, + { + "id": 864, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/requestidlecallback/index.js", + "name": "./node_modules/requestidlecallback/index.js", + "index": 63, + "index2": 60, + "size": 5020, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 1 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/extra_polyfills.js", + "issuerId": 750, + "issuerName": "./app/javascript/mastodon/extra_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 750, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/extra_polyfills.js", + "module": "./app/javascript/mastodon/extra_polyfills.js", + "moduleName": "./app/javascript/mastodon/extra_polyfills.js", + "type": "harmony import", + "userRequest": "requestidlecallback", + "loc": "2:0-29" + } + ], + "usedExports": false, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "(function (factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine([], factory);\n\t} else if (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory();\n\t} else {\n\t\twindow.idleCallbackShim = factory();\n\t}\n})(function () {\n\t'use strict';\n\n\tvar scheduleStart, throttleDelay, lazytimer, lazyraf;\n\tvar root = typeof window != 'undefined' ? window : typeof global != undefined ? global : this || {};\n\tvar requestAnimationFrame = root.cancelRequestAnimationFrame && root.requestAnimationFrame || setTimeout;\n\tvar cancelRequestAnimationFrame = root.cancelRequestAnimationFrame || clearTimeout;\n\tvar tasks = [];\n\tvar runAttempts = 0;\n\tvar isRunning = false;\n\tvar remainingTime = 7;\n\tvar minThrottle = 35;\n\tvar throttle = 125;\n\tvar index = 0;\n\tvar taskStart = 0;\n\tvar tasklength = 0;\n\tvar IdleDeadline = {\n\t\tget didTimeout() {\n\t\t\treturn false;\n\t\t},\n\t\ttimeRemaining: function () {\n\t\t\tvar timeRemaining = remainingTime - (Date.now() - taskStart);\n\t\t\treturn timeRemaining < 0 ? 0 : timeRemaining;\n\t\t}\n\t};\n\tvar setInactive = debounce(function () {\n\t\tremainingTime = 22;\n\t\tthrottle = 66;\n\t\tminThrottle = 0;\n\t});\n\n\tfunction debounce(fn) {\n\t\tvar id, timestamp;\n\t\tvar wait = 99;\n\t\tvar check = function () {\n\t\t\tvar last = Date.now() - timestamp;\n\n\t\t\tif (last < wait) {\n\t\t\t\tid = setTimeout(check, wait - last);\n\t\t\t} else {\n\t\t\t\tid = null;\n\t\t\t\tfn();\n\t\t\t}\n\t\t};\n\t\treturn function () {\n\t\t\ttimestamp = Date.now();\n\t\t\tif (!id) {\n\t\t\t\tid = setTimeout(check, wait);\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction abortRunning() {\n\t\tif (isRunning) {\n\t\t\tif (lazyraf) {\n\t\t\t\tcancelRequestAnimationFrame(lazyraf);\n\t\t\t}\n\t\t\tif (lazytimer) {\n\t\t\t\tclearTimeout(lazytimer);\n\t\t\t}\n\t\t\tisRunning = false;\n\t\t}\n\t}\n\n\tfunction onInputorMutation() {\n\t\tif (throttle != 125) {\n\t\t\tremainingTime = 7;\n\t\t\tthrottle = 125;\n\t\t\tminThrottle = 35;\n\n\t\t\tif (isRunning) {\n\t\t\t\tabortRunning();\n\t\t\t\tscheduleLazy();\n\t\t\t}\n\t\t}\n\t\tsetInactive();\n\t}\n\n\tfunction scheduleAfterRaf() {\n\t\tlazyraf = null;\n\t\tlazytimer = setTimeout(runTasks, 0);\n\t}\n\n\tfunction scheduleRaf() {\n\t\tlazytimer = null;\n\t\trequestAnimationFrame(scheduleAfterRaf);\n\t}\n\n\tfunction scheduleLazy() {\n\n\t\tif (isRunning) {\n\t\t\treturn;\n\t\t}\n\t\tthrottleDelay = throttle - (Date.now() - taskStart);\n\n\t\tscheduleStart = Date.now();\n\n\t\tisRunning = true;\n\n\t\tif (minThrottle && throttleDelay < minThrottle) {\n\t\t\tthrottleDelay = minThrottle;\n\t\t}\n\n\t\tif (throttleDelay > 9) {\n\t\t\tlazytimer = setTimeout(scheduleRaf, throttleDelay);\n\t\t} else {\n\t\t\tthrottleDelay = 0;\n\t\t\tscheduleRaf();\n\t\t}\n\t}\n\n\tfunction runTasks() {\n\t\tvar task, i, len;\n\t\tvar timeThreshold = remainingTime > 9 ? 9 : 1;\n\n\t\ttaskStart = Date.now();\n\t\tisRunning = false;\n\n\t\tlazytimer = null;\n\n\t\tif (runAttempts > 2 || taskStart - throttleDelay - 50 < scheduleStart) {\n\t\t\tfor (i = 0, len = tasks.length; i < len && IdleDeadline.timeRemaining() > timeThreshold; i++) {\n\t\t\t\ttask = tasks.shift();\n\t\t\t\ttasklength++;\n\t\t\t\tif (task) {\n\t\t\t\t\ttask(IdleDeadline);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (tasks.length) {\n\t\t\tscheduleLazy();\n\t\t} else {\n\t\t\trunAttempts = 0;\n\t\t}\n\t}\n\n\tfunction requestIdleCallbackShim(task) {\n\t\tindex++;\n\t\ttasks.push(task);\n\t\tscheduleLazy();\n\t\treturn index;\n\t}\n\n\tfunction cancelIdleCallbackShim(id) {\n\t\tvar index = id - 1 - tasklength;\n\t\tif (tasks[index]) {\n\t\t\ttasks[index] = null;\n\t\t}\n\t}\n\n\tif (!root.requestIdleCallback || !root.cancelIdleCallback) {\n\t\troot.requestIdleCallback = requestIdleCallbackShim;\n\t\troot.cancelIdleCallback = cancelIdleCallbackShim;\n\n\t\tif (root.document && document.addEventListener) {\n\t\t\troot.addEventListener('scroll', onInputorMutation, true);\n\t\t\troot.addEventListener('resize', onInputorMutation);\n\n\t\t\tdocument.addEventListener('focus', onInputorMutation, true);\n\t\t\tdocument.addEventListener('mouseover', onInputorMutation, true);\n\t\t\t['click', 'keypress', 'touchstart', 'mousedown'].forEach(function (name) {\n\t\t\t\tdocument.addEventListener(name, onInputorMutation, { capture: true, passive: true });\n\t\t\t});\n\n\t\t\tif (root.MutationObserver) {\n\t\t\t\tnew MutationObserver(onInputorMutation).observe(document.documentElement, { childList: true, subtree: true, attributes: true });\n\t\t\t}\n\t\t}\n\t} else {\n\t\ttry {\n\t\t\troot.requestIdleCallback(function () {}, { timeout: 0 });\n\t\t} catch (e) {\n\t\t\t(function (rIC) {\n\t\t\t\tvar timeRemainingProto, timeRemaining;\n\t\t\t\troot.requestIdleCallback = function (fn, timeout) {\n\t\t\t\t\tif (timeout && typeof timeout.timeout == 'number') {\n\t\t\t\t\t\treturn rIC(fn, timeout.timeout);\n\t\t\t\t\t}\n\t\t\t\t\treturn rIC(fn);\n\t\t\t\t};\n\t\t\t\tif (root.IdleCallbackDeadline && (timeRemainingProto = IdleCallbackDeadline.prototype)) {\n\t\t\t\t\ttimeRemaining = Object.getOwnPropertyDescriptor(timeRemainingProto, 'timeRemaining');\n\t\t\t\t\tif (!timeRemaining || !timeRemaining.configurable || !timeRemaining.get) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tObject.defineProperty(timeRemainingProto, 'timeRemaining', {\n\t\t\t\t\t\tvalue: function () {\n\t\t\t\t\t\t\treturn timeRemaining.get.call(this);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})(root.requestIdleCallback);\n\t\t}\n\t}\n\n\treturn {\n\t\trequest: requestIdleCallbackShim,\n\t\tcancel: cancelIdleCallbackShim\n\t};\n});" + }, + { + "id": 865, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/object-fit-images/dist/ofi.common-js.js", + "name": "./node_modules/object-fit-images/dist/ofi.common-js.js", + "index": 64, + "index2": 61, + "size": 6777, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 1 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/extra_polyfills.js", + "issuerId": 750, + "issuerName": "./app/javascript/mastodon/extra_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 750, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/extra_polyfills.js", + "module": "./app/javascript/mastodon/extra_polyfills.js", + "moduleName": "./app/javascript/mastodon/extra_polyfills.js", + "type": "harmony import", + "userRequest": "object-fit-images", + "loc": "3:0-48" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/*! npm.im/object-fit-images 3.2.3 */\n'use strict';\n\nvar OFI = 'bfred-it:object-fit-images';\nvar propRegex = /(object-fit|object-position)\\s*:\\s*([-\\w\\s%]+)/g;\nvar testImg = typeof Image === 'undefined' ? { style: { 'object-position': 1 } } : new Image();\nvar supportsObjectFit = 'object-fit' in testImg.style;\nvar supportsObjectPosition = 'object-position' in testImg.style;\nvar supportsOFI = 'background-size' in testImg.style;\nvar supportsCurrentSrc = typeof testImg.currentSrc === 'string';\nvar nativeGetAttribute = testImg.getAttribute;\nvar nativeSetAttribute = testImg.setAttribute;\nvar autoModeEnabled = false;\n\nfunction createPlaceholder(w, h) {\n\treturn \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='\" + w + \"' height='\" + h + \"'%3E%3C/svg%3E\";\n}\n\nfunction polyfillCurrentSrc(el) {\n\tif (el.srcset && !supportsCurrentSrc && window.picturefill) {\n\t\tvar pf = window.picturefill._;\n\t\t// parse srcset with picturefill where currentSrc isn't available\n\t\tif (!el[pf.ns] || !el[pf.ns].evaled) {\n\t\t\t// force synchronous srcset parsing\n\t\t\tpf.fillImg(el, { reselect: true });\n\t\t}\n\n\t\tif (!el[pf.ns].curSrc) {\n\t\t\t// force picturefill to parse srcset\n\t\t\tel[pf.ns].supported = false;\n\t\t\tpf.fillImg(el, { reselect: true });\n\t\t}\n\n\t\t// retrieve parsed currentSrc, if any\n\t\tel.currentSrc = el[pf.ns].curSrc || el.src;\n\t}\n}\n\nfunction getStyle(el) {\n\tvar style = getComputedStyle(el).fontFamily;\n\tvar parsed;\n\tvar props = {};\n\twhile ((parsed = propRegex.exec(style)) !== null) {\n\t\tprops[parsed[1]] = parsed[2];\n\t}\n\treturn props;\n}\n\nfunction setPlaceholder(img, width, height) {\n\t// Default: fill width, no height\n\tvar placeholder = createPlaceholder(width || 1, height || 0);\n\n\t// Only set placeholder if it's different\n\tif (nativeGetAttribute.call(img, 'src') !== placeholder) {\n\t\tnativeSetAttribute.call(img, 'src', placeholder);\n\t}\n}\n\nfunction onImageReady(img, callback) {\n\t// naturalWidth is only available when the image headers are loaded,\n\t// this loop will poll it every 100ms.\n\tif (img.naturalWidth) {\n\t\tcallback(img);\n\t} else {\n\t\tsetTimeout(onImageReady, 100, img, callback);\n\t}\n}\n\nfunction fixOne(el) {\n\tvar style = getStyle(el);\n\tvar ofi = el[OFI];\n\tstyle['object-fit'] = style['object-fit'] || 'fill'; // default value\n\n\t// Avoid running where unnecessary, unless OFI had already done its deed\n\tif (!ofi.img) {\n\t\t// fill is the default behavior so no action is necessary\n\t\tif (style['object-fit'] === 'fill') {\n\t\t\treturn;\n\t\t}\n\n\t\t// Where object-fit is supported and object-position isn't (Safari < 10)\n\t\tif (!ofi.skipTest && // unless user wants to apply regardless of browser support\n\t\tsupportsObjectFit && // if browser already supports object-fit\n\t\t!style['object-position'] // unless object-position is used\n\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t}\n\n\t// keep a clone in memory while resetting the original to a blank\n\tif (!ofi.img) {\n\t\tofi.img = new Image(el.width, el.height);\n\t\tofi.img.srcset = nativeGetAttribute.call(el, \"data-ofi-srcset\") || el.srcset;\n\t\tofi.img.src = nativeGetAttribute.call(el, \"data-ofi-src\") || el.src;\n\n\t\t// preserve for any future cloneNode calls\n\t\t// https://github.com/bfred-it/object-fit-images/issues/53\n\t\tnativeSetAttribute.call(el, \"data-ofi-src\", el.src);\n\t\tif (el.srcset) {\n\t\t\tnativeSetAttribute.call(el, \"data-ofi-srcset\", el.srcset);\n\t\t}\n\n\t\tsetPlaceholder(el, el.naturalWidth || el.width, el.naturalHeight || el.height);\n\n\t\t// remove srcset because it overrides src\n\t\tif (el.srcset) {\n\t\t\tel.srcset = '';\n\t\t}\n\t\ttry {\n\t\t\tkeepSrcUsable(el);\n\t\t} catch (err) {\n\t\t\tif (window.console) {\n\t\t\t\tconsole.warn('https://bit.ly/ofi-old-browser');\n\t\t\t}\n\t\t}\n\t}\n\n\tpolyfillCurrentSrc(ofi.img);\n\n\tel.style.backgroundImage = \"url(\\\"\" + (ofi.img.currentSrc || ofi.img.src).replace(/\"/g, '\\\\\"') + \"\\\")\";\n\tel.style.backgroundPosition = style['object-position'] || 'center';\n\tel.style.backgroundRepeat = 'no-repeat';\n\tel.style.backgroundOrigin = 'content-box';\n\n\tif (/scale-down/.test(style['object-fit'])) {\n\t\tonImageReady(ofi.img, function () {\n\t\t\tif (ofi.img.naturalWidth > el.width || ofi.img.naturalHeight > el.height) {\n\t\t\t\tel.style.backgroundSize = 'contain';\n\t\t\t} else {\n\t\t\t\tel.style.backgroundSize = 'auto';\n\t\t\t}\n\t\t});\n\t} else {\n\t\tel.style.backgroundSize = style['object-fit'].replace('none', 'auto').replace('fill', '100% 100%');\n\t}\n\n\tonImageReady(ofi.img, function (img) {\n\t\tsetPlaceholder(el, img.naturalWidth, img.naturalHeight);\n\t});\n}\n\nfunction keepSrcUsable(el) {\n\tvar descriptors = {\n\t\tget: function get(prop) {\n\t\t\treturn el[OFI].img[prop ? prop : 'src'];\n\t\t},\n\t\tset: function set(value, prop) {\n\t\t\tel[OFI].img[prop ? prop : 'src'] = value;\n\t\t\tnativeSetAttribute.call(el, \"data-ofi-\" + prop, value); // preserve for any future cloneNode\n\t\t\tfixOne(el);\n\t\t\treturn value;\n\t\t}\n\t};\n\tObject.defineProperty(el, 'src', descriptors);\n\tObject.defineProperty(el, 'currentSrc', {\n\t\tget: function () {\n\t\t\treturn descriptors.get('currentSrc');\n\t\t}\n\t});\n\tObject.defineProperty(el, 'srcset', {\n\t\tget: function () {\n\t\t\treturn descriptors.get('srcset');\n\t\t},\n\t\tset: function (ss) {\n\t\t\treturn descriptors.set(ss, 'srcset');\n\t\t}\n\t});\n}\n\nfunction hijackAttributes() {\n\tfunction getOfiImageMaybe(el, name) {\n\t\treturn el[OFI] && el[OFI].img && (name === 'src' || name === 'srcset') ? el[OFI].img : el;\n\t}\n\tif (!supportsObjectPosition) {\n\t\tHTMLImageElement.prototype.getAttribute = function (name) {\n\t\t\treturn nativeGetAttribute.call(getOfiImageMaybe(this, name), name);\n\t\t};\n\n\t\tHTMLImageElement.prototype.setAttribute = function (name, value) {\n\t\t\treturn nativeSetAttribute.call(getOfiImageMaybe(this, name), name, String(value));\n\t\t};\n\t}\n}\n\nfunction fix(imgs, opts) {\n\tvar startAutoMode = !autoModeEnabled && !imgs;\n\topts = opts || {};\n\timgs = imgs || 'img';\n\n\tif (supportsObjectPosition && !opts.skipTest || !supportsOFI) {\n\t\treturn false;\n\t}\n\n\t// use imgs as a selector or just select all images\n\tif (imgs === 'img') {\n\t\timgs = document.getElementsByTagName('img');\n\t} else if (typeof imgs === 'string') {\n\t\timgs = document.querySelectorAll(imgs);\n\t} else if (!('length' in imgs)) {\n\t\timgs = [imgs];\n\t}\n\n\t// apply fix to all\n\tfor (var i = 0; i < imgs.length; i++) {\n\t\timgs[i][OFI] = imgs[i][OFI] || {\n\t\t\tskipTest: opts.skipTest\n\t\t};\n\t\tfixOne(imgs[i]);\n\t}\n\n\tif (startAutoMode) {\n\t\tdocument.body.addEventListener('load', function (e) {\n\t\t\tif (e.target.tagName === 'IMG') {\n\t\t\t\tfix(e.target, {\n\t\t\t\t\tskipTest: opts.skipTest\n\t\t\t\t});\n\t\t\t}\n\t\t}, true);\n\t\tautoModeEnabled = true;\n\t\timgs = 'img'; // reset to a generic selector for watchMQ\n\t}\n\n\t// if requested, watch media queries for object-fit change\n\tif (opts.watchMQ) {\n\t\twindow.addEventListener('resize', fix.bind(null, imgs, {\n\t\t\tskipTest: opts.skipTest\n\t\t}));\n\t}\n}\n\nfix.supportsObjectFit = supportsObjectFit;\nfix.supportsObjectPosition = supportsObjectPosition;\n\nhijackAttributes();\n\nmodule.exports = fix;" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 75, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/load_polyfills.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/load_polyfills.js", + "moduleName": "./app/javascript/mastodon/load_polyfills.js", + "loc": "10:9-78", + "name": "extra_polyfills", + "reasons": [] + } + ] + }, + { + "id": 2, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 132731, + "names": [ + "features/compose" + ], + "files": [ + "features/compose-4617f6e912b5bfa71c43.js", + "features/compose-4617f6e912b5bfa71c43.js.map" + ], + "hash": "4617f6e912b5bfa71c43", + "parents": [ + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 286, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "name": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "index": 458, + "index2": 481, + "size": 10085, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "issuerId": 315, + "issuerName": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 315, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "type": "harmony import", + "userRequest": "../components/compose_form", + "loc": "2:0-53" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "../../compose/components/compose_form", + "loc": "15:0-64" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport CharacterCounter from './character_counter';\nimport Button from '../../../components/button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport ReplyIndicatorContainer from '../containers/reply_indicator_container';\nimport AutosuggestTextarea from '../../../components/autosuggest_textarea';\nimport UploadButtonContainer from '../containers/upload_button_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport Collapsable from '../../../components/collapsable';\nimport SpoilerButtonContainer from '../containers/spoiler_button_container';\nimport PrivacyDropdownContainer from '../containers/privacy_dropdown_container';\nimport SensitiveButtonContainer from '../containers/sensitive_button_container';\nimport EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';\nimport UploadFormContainer from '../containers/upload_form_container';\nimport WarningContainer from '../containers/warning_container';\nimport { isMobile } from '../../../is_mobile';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { length } from 'stringz';\nimport { countableText } from '../util/counter';\n\nvar messages = defineMessages({\n placeholder: {\n 'id': 'compose_form.placeholder',\n 'defaultMessage': 'What is on your mind?'\n },\n spoiler_placeholder: {\n 'id': 'compose_form.spoiler_placeholder',\n 'defaultMessage': 'Write your warning here'\n },\n publish: {\n 'id': 'compose_form.publish',\n 'defaultMessage': 'Toot'\n },\n publishLoud: {\n 'id': 'compose_form.publish_loud',\n 'defaultMessage': '{publish}!'\n }\n});\n\nvar ComposeForm = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(ComposeForm, _ImmutablePureCompone);\n\n function ComposeForm() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ComposeForm);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n _this.props.onChange(e.target.value);\n }, _this.handleKeyDown = function (e) {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n _this.handleSubmit();\n }\n }, _this.handleSubmit = function () {\n if (_this.props.text !== _this.autosuggestTextarea.textarea.value) {\n // Something changed the text inside the textarea (e.g. browser extensions like Grammarly)\n // Update the state to match the current text\n _this.props.onChange(_this.autosuggestTextarea.textarea.value);\n }\n\n _this.props.onSubmit();\n }, _this.onSuggestionsClearRequested = function () {\n _this.props.onClearSuggestions();\n }, _this.onSuggestionsFetchRequested = function (token) {\n _this.props.onFetchSuggestions(token);\n }, _this.onSuggestionSelected = function (tokenStart, token, value) {\n _this._restoreCaret = null;\n _this.props.onSuggestionSelected(tokenStart, token, value);\n }, _this.handleChangeSpoilerText = function (e) {\n _this.props.onChangeSpoilerText(e.target.value);\n }, _this.setAutosuggestTextarea = function (c) {\n _this.autosuggestTextarea = c;\n }, _this.handleEmojiPick = function (data) {\n var position = _this.autosuggestTextarea.textarea.selectionStart;\n var emojiChar = data.native;\n _this._restoreCaret = position + emojiChar.length + 1;\n _this.props.onPickEmoji(position, data);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ComposeForm.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n // If this is the update where we've finished uploading,\n // save the last caret position so we can restore it below!\n if (!nextProps.is_uploading && this.props.is_uploading) {\n this._restoreCaret = this.autosuggestTextarea.textarea.selectionStart;\n }\n };\n\n ComposeForm.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n // This statement does several things:\n // - If we're beginning a reply, and,\n // - Replying to zero or one users, places the cursor at the end of the textbox.\n // - Replying to more than one user, selects any usernames past the first;\n // this provides a convenient shortcut to drop everyone else from the conversation.\n // - If we've just finished uploading an image, and have a saved caret position,\n // restores the cursor to that position after the text changes!\n if (this.props.focusDate !== prevProps.focusDate || prevProps.is_uploading && !this.props.is_uploading && typeof this._restoreCaret === 'number') {\n var selectionEnd = void 0,\n selectionStart = void 0;\n\n if (this.props.preselectDate !== prevProps.preselectDate) {\n selectionEnd = this.props.text.length;\n selectionStart = this.props.text.search(/\\s/) + 1;\n } else if (typeof this._restoreCaret === 'number') {\n selectionStart = this._restoreCaret;\n selectionEnd = this._restoreCaret;\n } else {\n selectionEnd = this.props.text.length;\n selectionStart = selectionEnd;\n }\n\n this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);\n this.autosuggestTextarea.textarea.focus();\n } else if (prevProps.is_submitting && !this.props.is_submitting) {\n this.autosuggestTextarea.textarea.focus();\n }\n };\n\n ComposeForm.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n onPaste = _props.onPaste,\n showSearch = _props.showSearch;\n\n var disabled = this.props.is_submitting;\n var text = [this.props.spoiler_text, countableText(this.props.text)].join('');\n\n var publishText = '';\n\n if (this.props.privacy === 'private' || this.props.privacy === 'direct') {\n publishText = _jsx('span', {\n className: 'compose-form__publish-private'\n }, void 0, _jsx('i', {\n className: 'fa fa-lock'\n }), ' ', intl.formatMessage(messages.publish));\n } else {\n publishText = this.props.privacy !== 'unlisted' ? intl.formatMessage(messages.publishLoud, { publish: intl.formatMessage(messages.publish) }) : intl.formatMessage(messages.publish);\n }\n\n return _jsx('div', {\n className: 'compose-form'\n }, void 0, _jsx(Collapsable, {\n isVisible: this.props.spoiler,\n fullHeight: 50\n }, void 0, _jsx('div', {\n className: 'spoiler-input'\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.spoiler_placeholder)), _jsx('input', {\n placeholder: intl.formatMessage(messages.spoiler_placeholder),\n value: this.props.spoiler_text,\n onChange: this.handleChangeSpoilerText,\n onKeyDown: this.handleKeyDown,\n type: 'text',\n className: 'spoiler-input__input',\n id: 'cw-spoiler-input'\n })))), _jsx(WarningContainer, {}), _jsx(ReplyIndicatorContainer, {}), _jsx('div', {\n className: 'compose-form__autosuggest-wrapper'\n }, void 0, React.createElement(AutosuggestTextarea, {\n ref: this.setAutosuggestTextarea,\n placeholder: intl.formatMessage(messages.placeholder),\n disabled: disabled,\n value: this.props.text,\n onChange: this.handleChange,\n suggestions: this.props.suggestions,\n onKeyDown: this.handleKeyDown,\n onSuggestionsFetchRequested: this.onSuggestionsFetchRequested,\n onSuggestionsClearRequested: this.onSuggestionsClearRequested,\n onSuggestionSelected: this.onSuggestionSelected,\n onPaste: onPaste,\n autoFocus: !showSearch && !isMobile(window.innerWidth)\n }), _jsx(EmojiPickerDropdown, {\n onPickEmoji: this.handleEmojiPick\n })), _jsx('div', {\n className: 'compose-form__modifiers'\n }, void 0, _jsx(UploadFormContainer, {})), _jsx('div', {\n className: 'compose-form__buttons-wrapper'\n }, void 0, _jsx('div', {\n className: 'compose-form__buttons'\n }, void 0, _jsx(UploadButtonContainer, {}), _jsx(PrivacyDropdownContainer, {}), _jsx(SensitiveButtonContainer, {}), _jsx(SpoilerButtonContainer, {})), _jsx('div', {\n className: 'compose-form__publish'\n }, void 0, _jsx('div', {\n className: 'character-counter__wrapper'\n }, void 0, _jsx(CharacterCounter, {\n max: 500,\n text: text\n })), _jsx('div', {\n className: 'compose-form__publish-button-wrapper'\n }, void 0, _jsx(Button, {\n text: publishText,\n onClick: this.handleSubmit,\n disabled: disabled || this.props.is_uploading || length(text) > 500 || text.length !== 0 && text.trim().length === 0,\n block: true\n })))));\n };\n\n return ComposeForm;\n}(ImmutablePureComponent), _class2.propTypes = {\n intl: PropTypes.object.isRequired,\n text: PropTypes.string.isRequired,\n suggestion_token: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n spoiler: PropTypes.bool,\n privacy: PropTypes.string,\n spoiler_text: PropTypes.string,\n focusDate: PropTypes.instanceOf(Date),\n preselectDate: PropTypes.instanceOf(Date),\n is_submitting: PropTypes.bool,\n is_uploading: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onClearSuggestions: PropTypes.func.isRequired,\n onFetchSuggestions: PropTypes.func.isRequired,\n onSuggestionSelected: PropTypes.func.isRequired,\n onChangeSpoilerText: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n onPickEmoji: PropTypes.func.isRequired,\n showSearch: PropTypes.bool\n}, _class2.defaultProps = {\n showSearch: false\n}, _temp2)) || _class;\n\nexport { ComposeForm as default };" + }, + { + "id": 287, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/character_counter.js", + "name": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "index": 459, + "index2": 450, + "size": 1180, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "./character_counter", + "loc": "9:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport { length } from 'stringz';\n\nvar CharacterCounter = function (_React$PureComponent) {\n _inherits(CharacterCounter, _React$PureComponent);\n\n function CharacterCounter() {\n _classCallCheck(this, CharacterCounter);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n CharacterCounter.prototype.checkRemainingText = function checkRemainingText(diff) {\n if (diff < 0) {\n return _jsx('span', {\n className: 'character-counter character-counter--over'\n }, void 0, diff);\n }\n\n return _jsx('span', {\n className: 'character-counter'\n }, void 0, diff);\n };\n\n CharacterCounter.prototype.render = function render() {\n var diff = this.props.max - length(this.props.text);\n return this.checkRemainingText(diff);\n };\n\n return CharacterCounter;\n}(React.PureComponent);\n\nexport { CharacterCounter as default };" + }, + { + "id": 288, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "index": 463, + "index2": 455, + "size": 741, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/reply_indicator_container", + "loc": "13:0-78" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport { cancelReplyCompose } from '../../../actions/compose';\nimport { makeGetStatus } from '../../../selectors';\nimport ReplyIndicator from '../components/reply_indicator';\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state) {\n return {\n status: getStatus(state, state.getIn(['compose', 'in_reply_to']))\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onCancel: function onCancel() {\n dispatch(cancelReplyCompose());\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(ReplyIndicator);" + }, + { + "id": 289, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "name": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "index": 466, + "index2": 454, + "size": 3109, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "issuerId": 288, + "issuerName": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 288, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "type": "harmony import", + "userRequest": "../components/reply_indicator", + "loc": "4:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport DisplayName from '../../../components/display_name';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar messages = defineMessages({\n cancel: {\n 'id': 'reply_indicator.cancel',\n 'defaultMessage': 'Cancel'\n }\n});\n\nvar ReplyIndicator = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(ReplyIndicator, _ImmutablePureCompone);\n\n function ReplyIndicator() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ReplyIndicator);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onCancel();\n }, _this.handleAccountClick = function (e) {\n if (e.button === 0) {\n e.preventDefault();\n _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ReplyIndicator.prototype.render = function render() {\n var _props = this.props,\n status = _props.status,\n intl = _props.intl;\n\n\n if (!status) {\n return null;\n }\n\n var content = { __html: status.get('contentHtml') };\n\n return _jsx('div', {\n className: 'reply-indicator'\n }, void 0, _jsx('div', {\n className: 'reply-indicator__header'\n }, void 0, _jsx('div', {\n className: 'reply-indicator__cancel'\n }, void 0, _jsx(IconButton, {\n title: intl.formatMessage(messages.cancel),\n icon: 'times',\n onClick: this.handleClick\n })), _jsx('a', {\n href: status.getIn(['account', 'url']),\n onClick: this.handleAccountClick,\n className: 'reply-indicator__display-name'\n }, void 0, _jsx('div', {\n className: 'reply-indicator__display-avatar'\n }, void 0, _jsx(Avatar, {\n account: status.get('account'),\n size: 24\n })), _jsx(DisplayName, {\n account: status.get('account')\n }))), _jsx('div', {\n className: 'reply-indicator__content',\n dangerouslySetInnerHTML: content\n }));\n };\n\n return ReplyIndicator;\n}(ImmutablePureComponent), _class2.contextTypes = {\n router: PropTypes.object\n}, _class2.propTypes = {\n status: ImmutablePropTypes.map,\n onCancel: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class;\n\nexport { ReplyIndicator as default };" + }, + { + "id": 290, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "name": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "index": 467, + "index2": 460, + "size": 8192, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../../../components/autosuggest_textarea", + "loc": "14:0-75" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';\nimport AutosuggestEmoji from './autosuggest_emoji';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { isRtl } from '../rtl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Textarea from 'react-textarea-autosize';\nimport classNames from 'classnames';\n\nvar textAtCursorMatchesToken = function textAtCursorMatchesToken(str, caretPosition) {\n var word = void 0;\n\n var left = str.slice(0, caretPosition).search(/\\S+$/);\n var right = str.slice(caretPosition).search(/\\s/);\n\n if (right < 0) {\n word = str.slice(left);\n } else {\n word = str.slice(left, right + caretPosition);\n }\n\n if (!word || word.trim().length < 3 || ['@', ':'].indexOf(word[0]) === -1) {\n return [null, null];\n }\n\n word = word.trim().toLowerCase();\n\n if (word.length > 0) {\n return [left + 1, word];\n } else {\n return [null, null];\n }\n};\n\nvar AutosuggestTextarea = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(AutosuggestTextarea, _ImmutablePureCompone);\n\n function AutosuggestTextarea() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, AutosuggestTextarea);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n suggestionsHidden: false,\n selectedSuggestion: 0,\n lastToken: null,\n tokenStart: 0\n }, _this.onChange = function (e) {\n var _textAtCursorMatchesT = textAtCursorMatchesToken(e.target.value, e.target.selectionStart),\n tokenStart = _textAtCursorMatchesT[0],\n token = _textAtCursorMatchesT[1];\n\n if (token !== null && _this.state.lastToken !== token) {\n _this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart: tokenStart });\n _this.props.onSuggestionsFetchRequested(token);\n } else if (token === null) {\n _this.setState({ lastToken: null });\n _this.props.onSuggestionsClearRequested();\n }\n\n _this.props.onChange(e);\n }, _this.onKeyDown = function (e) {\n var _this$props = _this.props,\n suggestions = _this$props.suggestions,\n disabled = _this$props.disabled;\n var _this$state = _this.state,\n selectedSuggestion = _this$state.selectedSuggestion,\n suggestionsHidden = _this$state.suggestionsHidden;\n\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n switch (e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\n e.preventDefault();\n _this.setState({ suggestionsHidden: true });\n }\n\n break;\n case 'ArrowDown':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n }\n\n break;\n case 'ArrowUp':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n }\n\n break;\n case 'Enter':\n case 'Tab':\n // Select suggestion\n if (_this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n e.stopPropagation();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestions.get(selectedSuggestion));\n }\n\n break;\n }\n\n if (e.defaultPrevented || !_this.props.onKeyDown) {\n return;\n }\n\n _this.props.onKeyDown(e);\n }, _this.onKeyUp = function (e) {\n if (e.key === 'Escape' && _this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (_this.props.onKeyUp) {\n _this.props.onKeyUp(e);\n }\n }, _this.onBlur = function () {\n _this.setState({ suggestionsHidden: true });\n }, _this.onSuggestionClick = function (e) {\n var suggestion = _this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestion);\n _this.textarea.focus();\n }, _this.setTextarea = function (c) {\n _this.textarea = c;\n }, _this.onPaste = function (e) {\n if (e.clipboardData && e.clipboardData.files.length === 1) {\n _this.props.onPaste(e.clipboardData.files);\n e.preventDefault();\n }\n }, _this.renderSuggestion = function (suggestion, i) {\n var selectedSuggestion = _this.state.selectedSuggestion;\n\n var inner = void 0,\n key = void 0;\n\n if ((typeof suggestion === 'undefined' ? 'undefined' : _typeof(suggestion)) === 'object') {\n inner = _jsx(AutosuggestEmoji, {\n emoji: suggestion\n });\n key = suggestion.id;\n } else {\n inner = _jsx(AutosuggestAccountContainer, {\n id: suggestion\n });\n key = suggestion;\n }\n\n return _jsx('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': i,\n className: classNames('autosuggest-textarea__suggestions__item', { selected: i === selectedSuggestion }),\n onMouseDown: _this.onSuggestionClick\n }, key, inner);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n AutosuggestTextarea.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n this.setState({ suggestionsHidden: false });\n }\n };\n\n AutosuggestTextarea.prototype.render = function render() {\n var _props = this.props,\n value = _props.value,\n suggestions = _props.suggestions,\n disabled = _props.disabled,\n placeholder = _props.placeholder,\n autoFocus = _props.autoFocus;\n var suggestionsHidden = this.state.suggestionsHidden;\n\n var style = { direction: 'ltr' };\n\n if (isRtl(value)) {\n style.direction = 'rtl';\n }\n\n return _jsx('div', {\n className: 'autosuggest-textarea'\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, placeholder), _jsx(Textarea, {\n inputRef: this.setTextarea,\n className: 'autosuggest-textarea__textarea',\n disabled: disabled,\n placeholder: placeholder,\n autoFocus: autoFocus,\n value: value,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n onKeyUp: this.onKeyUp,\n onBlur: this.onBlur,\n onPaste: this.onPaste,\n style: style\n })), _jsx('div', {\n className: 'autosuggest-textarea__suggestions ' + (suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible')\n }, void 0, suggestions.map(this.renderSuggestion)));\n };\n\n return AutosuggestTextarea;\n}(ImmutablePureComponent), _class.propTypes = {\n value: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n onSuggestionSelected: PropTypes.func.isRequired,\n onSuggestionsClearRequested: PropTypes.func.isRequired,\n onSuggestionsFetchRequested: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n onPaste: PropTypes.func.isRequired,\n autoFocus: PropTypes.bool\n}, _class.defaultProps = {\n autoFocus: true\n}, _temp2);\nexport { AutosuggestTextarea as default };" + }, + { + "id": 291, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "index": 468, + "index2": 457, + "size": 501, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "issuerId": 290, + "issuerName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "../features/compose/containers/autosuggest_account_container", + "loc": "10:0-103" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport AutosuggestAccount from '../components/autosuggest_account';\nimport { makeGetAccount } from '../../../selectors';\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n account: getAccount(state, id)\n };\n };\n\n return mapStateToProps;\n};\n\nexport default connect(makeMapStateToProps)(AutosuggestAccount);" + }, + { + "id": 292, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "name": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "index": 469, + "index2": 456, + "size": 1407, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "issuerId": 291, + "issuerName": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 291, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "type": "harmony import", + "userRequest": "../components/autosuggest_account", + "loc": "2:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar AutosuggestAccount = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(AutosuggestAccount, _ImmutablePureCompone);\n\n function AutosuggestAccount() {\n _classCallCheck(this, AutosuggestAccount);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n AutosuggestAccount.prototype.render = function render() {\n var account = this.props.account;\n\n\n return _jsx('div', {\n className: 'autosuggest-account'\n }, void 0, _jsx('div', {\n className: 'autosuggest-account-icon'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 18\n })), _jsx(DisplayName, {\n account: account\n }));\n };\n\n return AutosuggestAccount;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map.isRequired\n}, _temp);\nexport { AutosuggestAccount as default };" + }, + { + "id": 293, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_emoji.js", + "name": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "index": 470, + "index2": 458, + "size": 1399, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "issuerId": 290, + "issuerName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "./autosuggest_emoji", + "loc": "11:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport unicodeMapping from '../features/emoji/emoji_unicode_mapping_light';\n\nvar assetHost = process.env.CDN_HOST || '';\n\nvar AutosuggestEmoji = function (_React$PureComponent) {\n _inherits(AutosuggestEmoji, _React$PureComponent);\n\n function AutosuggestEmoji() {\n _classCallCheck(this, AutosuggestEmoji);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n AutosuggestEmoji.prototype.render = function render() {\n var emoji = this.props.emoji;\n\n var url = void 0;\n\n if (emoji.custom) {\n url = emoji.imageUrl;\n } else {\n var mapping = unicodeMapping[emoji.native] || unicodeMapping[emoji.native.replace(/\\uFE0F$/, '')];\n\n if (!mapping) {\n return null;\n }\n\n url = assetHost + '/emoji/' + mapping.filename + '.svg';\n }\n\n return _jsx('div', {\n className: 'autosuggest-emoji'\n }, void 0, _jsx('img', {\n className: 'emojione',\n src: url,\n alt: emoji.native || emoji.colons\n }), emoji.colons);\n };\n\n return AutosuggestEmoji;\n}(React.PureComponent);\n\nexport { AutosuggestEmoji as default };" + }, + { + "id": 294, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-textarea-autosize/es/index.js", + "name": "./node_modules/react-textarea-autosize/es/index.js", + "index": 471, + "index2": 459, + "size": 11171, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "issuerId": 290, + "issuerName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "react-textarea-autosize", + "loc": "16:0-47" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import React from 'react';\nimport PropTypes from 'prop-types';\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n if (nodeStyling === null) {\n return null;\n }\n\n var paddingSize = nodeStyling.paddingSize,\n borderSize = nodeStyling.borderSize,\n boxSizing = nodeStyling.boxSizing,\n sizingStyle = nodeStyling.sizingStyle;\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n Object.keys(sizingStyle).forEach(function (key) {\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n\n var minHeight = -Infinity;\n var maxHeight = Infinity;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n }\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null || maxRows !== null) {\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (useCache && computedStyleCache[uid]) {\n return computedStyleCache[uid];\n }\n\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n obj[name] = style.getPropertyValue(name);\n return obj;\n }, {});\n\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache) {\n computedStyleCache[uid] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n return delete computedStyleCache[uid];\n};\n\nfunction autoInc() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * \n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this._resizeLock = false;\n\n _this._onRootDOMNode = function (node) {\n _this._rootDOMNode = node;\n\n if (_this.props.inputRef) {\n _this.props.inputRef(node);\n }\n };\n\n _this._onChange = function (event) {\n if (!_this._controlled) {\n _this._resizeComponent();\n }\n _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (typeof _this._rootDOMNode === 'undefined') {\n callback();\n return;\n }\n\n var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n if (nodeHeight === null) {\n callback();\n return;\n }\n\n var height = nodeHeight.height,\n minHeight = nodeHeight.minHeight,\n maxHeight = nodeHeight.maxHeight,\n rowCount = nodeHeight.rowCount;\n\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\n return;\n }\n\n callback();\n };\n\n _this.state = {\n height: props.style && props.style.height || 0,\n minHeight: -Infinity,\n maxHeight: Infinity\n };\n\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.render = function render() {\n var _props = this.props,\n _minRows = _props.minRows,\n _maxRows = _props.maxRows,\n _onHeightChange = _props.onHeightChange,\n _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n _inputRef = _props.inputRef,\n props = objectWithoutProperties(_props, ['minRows', 'maxRows', 'onHeightChange', 'useCacheForDOMMeasurements', 'inputRef']);\n\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\n\n var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n if (maxHeight < this.state.height) {\n props.style.overflow = 'hidden';\n }\n\n return React.createElement('textarea', _extends({}, props, {\n onChange: this._onChange,\n ref: this._onRootDOMNode\n }));\n };\n\n TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n // causing competing rerenders (due to setState in the listener) in React.\n // More can be found here - facebook/react#6324\n this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._clearNextFrame = function _clearNextFrame() {\n clearNextFrameAction(this._onNextFrameActionId);\n };\n\n return TextareaAutosize;\n}(React.Component);\n\nTextareaAutosize.defaultProps = {\n onChange: noop,\n onHeightChange: noop,\n useCacheForDOMMeasurements: false\n};\n\nexport default TextareaAutosize;" + }, + { + "id": 295, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "index": 472, + "index2": 462, + "size": 771, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_button_container", + "loc": "15:0-74" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport UploadButton from '../components/upload_button';\nimport { uploadCompose } from '../../../actions/compose';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n disabled: state.getIn(['compose', 'is_uploading']) || state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(function (m) {\n return m.get('type') === 'video';\n }),\n resetFileKey: state.getIn(['compose', 'resetFileKey'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onSelectFile: function onSelectFile(files) {\n dispatch(uploadCompose(files));\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadButton);" + }, + { + "id": 296, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "name": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "index": 473, + "index2": 461, + "size": 3411, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "issuerId": 295, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 295, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "type": "harmony import", + "userRequest": "../components/upload_button", + "loc": "2:0-55" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport IconButton from '../../../components/icon_button';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\n\nvar messages = defineMessages({\n upload: {\n 'id': 'upload_button.label',\n 'defaultMessage': 'Add media'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var mapStateToProps = function mapStateToProps(state) {\n return {\n acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar iconStyle = {\n height: null,\n lineHeight: '27px'\n};\n\nvar UploadButton = (_dec = connect(makeMapStateToProps), _dec(_class = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(UploadButton, _ImmutablePureCompone);\n\n function UploadButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, UploadButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n if (e.target.files.length > 0) {\n _this.props.onSelectFile(e.target.files);\n }\n }, _this.handleClick = function () {\n _this.fileElement.click();\n }, _this.setRef = function (c) {\n _this.fileElement = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n UploadButton.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n resetFileKey = _props.resetFileKey,\n disabled = _props.disabled,\n acceptContentTypes = _props.acceptContentTypes;\n\n\n return _jsx('div', {\n className: 'compose-form__upload-button'\n }, void 0, _jsx(IconButton, {\n icon: 'camera',\n title: intl.formatMessage(messages.upload),\n disabled: disabled,\n onClick: this.handleClick,\n className: 'compose-form__upload-button-icon',\n size: 18,\n inverted: true,\n style: iconStyle\n }), _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.upload)), React.createElement('input', {\n key: resetFileKey,\n ref: this.setRef,\n type: 'file',\n multiple: false,\n accept: acceptContentTypes.toArray().join(','),\n onChange: this.handleChange,\n disabled: disabled,\n style: { display: 'none' }\n })));\n };\n\n return UploadButton;\n}(ImmutablePureComponent), _class2.propTypes = {\n disabled: PropTypes.bool,\n onSelectFile: PropTypes.func.isRequired,\n style: PropTypes.object,\n resetFileKey: PropTypes.number,\n acceptContentTypes: ImmutablePropTypes.listOf(PropTypes.string).isRequired,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class) || _class);\nexport { UploadButton as default };" + }, + { + "id": 297, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/collapsable.js", + "name": "./app/javascript/mastodon/components/collapsable.js", + "index": 474, + "index2": 463, + "size": 861, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../../../components/collapsable", + "loc": "17:0-58" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport Motion from '../features/ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\n\nvar Collapsable = function Collapsable(_ref) {\n var fullHeight = _ref.fullHeight,\n isVisible = _ref.isVisible,\n children = _ref.children;\n return _jsx(Motion, {\n defaultStyle: { opacity: !isVisible ? 0 : 100, height: isVisible ? fullHeight : 0 },\n style: { opacity: spring(!isVisible ? 0 : 100), height: spring(!isVisible ? 0 : fullHeight) }\n }, void 0, function (_ref2) {\n var opacity = _ref2.opacity,\n height = _ref2.height;\n return _jsx('div', {\n style: { height: height + 'px', overflow: 'hidden', opacity: opacity / 100, display: Math.floor(opacity) === 0 ? 'none' : 'block' }\n }, void 0, children);\n });\n};\n\nexport default Collapsable;" + }, + { + "id": 298, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "index": 475, + "index2": 465, + "size": 875, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/spoiler_button_container", + "loc": "18:0-76" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport TextIconButton from '../components/text_icon_button';\nimport { changeComposeSpoilerness } from '../../../actions/compose';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nvar messages = defineMessages({\n title: {\n 'id': 'compose_form.spoiler',\n 'defaultMessage': 'Hide text behind warning'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var intl = _ref.intl;\n return {\n label: 'CW',\n title: intl.formatMessage(messages.title),\n active: state.getIn(['compose', 'spoiler']),\n ariaControls: 'cw-spoiler-input'\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(changeComposeSpoilerness());\n }\n };\n};\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(TextIconButton));" + }, + { + "id": 299, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/text_icon_button.js", + "name": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "index": 476, + "index2": 464, + "size": 1516, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "issuerId": 298, + "issuerName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 298, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "type": "harmony import", + "userRequest": "../components/text_icon_button", + "loc": "2:0-60" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar TextIconButton = function (_React$PureComponent) {\n _inherits(TextIconButton, _React$PureComponent);\n\n function TextIconButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, TextIconButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n e.preventDefault();\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n TextIconButton.prototype.render = function render() {\n var _props = this.props,\n label = _props.label,\n title = _props.title,\n active = _props.active,\n ariaControls = _props.ariaControls;\n\n\n return _jsx('button', {\n title: title,\n 'aria-label': title,\n className: 'text-icon-button ' + (active ? 'active' : ''),\n 'aria-expanded': active,\n onClick: this.handleClick,\n 'aria-controls': ariaControls\n }, void 0, label);\n };\n\n return TextIconButton;\n}(React.PureComponent);\n\nexport { TextIconButton as default };" + }, + { + "id": 300, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "index": 477, + "index2": 467, + "size": 961, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/privacy_dropdown_container", + "loc": "19:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport PrivacyDropdown from '../components/privacy_dropdown';\nimport { changeComposeVisibility } from '../../../actions/compose';\nimport { openModal, closeModal } from '../../../actions/modal';\nimport { isUserTouching } from '../../../is_mobile';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n isModalOpen: state.get('modal').modalType === 'ACTIONS',\n value: state.getIn(['compose', 'privacy'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(changeComposeVisibility(value));\n },\n\n\n isUserTouching: isUserTouching,\n onModalOpen: function onModalOpen(props) {\n return dispatch(openModal('ACTIONS', props));\n },\n onModalClose: function onModalClose() {\n return dispatch(closeModal());\n }\n\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PrivacyDropdown);" + }, + { + "id": 301, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "name": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "index": 478, + "index2": 466, + "size": 8605, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "issuerId": 300, + "issuerName": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 300, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "type": "harmony import", + "userRequest": "../components/privacy_dropdown", + "loc": "2:0-61" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class2;\n\nimport React from 'react';\n\nimport { injectIntl, defineMessages } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport detectPassiveEvents from 'detect-passive-events';\nimport classNames from 'classnames';\n\nvar messages = defineMessages({\n public_short: {\n 'id': 'privacy.public.short',\n 'defaultMessage': 'Public'\n },\n public_long: {\n 'id': 'privacy.public.long',\n 'defaultMessage': 'Post to public timelines'\n },\n unlisted_short: {\n 'id': 'privacy.unlisted.short',\n 'defaultMessage': 'Unlisted'\n },\n unlisted_long: {\n 'id': 'privacy.unlisted.long',\n 'defaultMessage': 'Do not show in public timelines'\n },\n private_short: {\n 'id': 'privacy.private.short',\n 'defaultMessage': 'Followers-only'\n },\n private_long: {\n 'id': 'privacy.private.long',\n 'defaultMessage': 'Post to followers only'\n },\n direct_short: {\n 'id': 'privacy.direct.short',\n 'defaultMessage': 'Direct'\n },\n direct_long: {\n 'id': 'privacy.direct.long',\n 'defaultMessage': 'Post to mentioned users only'\n },\n change_privacy: {\n 'id': 'privacy.change',\n 'defaultMessage': 'Adjust status privacy'\n }\n});\n\nvar listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nvar PrivacyDropdownMenu = function (_React$PureComponent) {\n _inherits(PrivacyDropdownMenu, _React$PureComponent);\n\n function PrivacyDropdownMenu() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, PrivacyDropdownMenu);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.handleClick = function (e) {\n if (e.key === 'Escape') {\n _this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\n var value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n _this.props.onClose();\n _this.props.onChange(value);\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n PrivacyDropdownMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n style = _props.style,\n items = _props.items,\n value = _props.value;\n\n\n return _jsx(Motion, {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return React.createElement(\n 'div',\n { className: 'privacy-dropdown__dropdown', style: Object.assign({}, style, { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }), ref: _this2.setRef },\n items.map(function (item) {\n return _jsx('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': item.value,\n onKeyDown: _this2.handleClick,\n onClick: _this2.handleClick,\n className: classNames('privacy-dropdown__option', { active: item.value === value })\n }, item.value, _jsx('div', {\n className: 'privacy-dropdown__option__icon'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-' + item.icon\n })), _jsx('div', {\n className: 'privacy-dropdown__option__content'\n }, void 0, _jsx('strong', {}, void 0, item.text), item.meta));\n })\n );\n });\n };\n\n return PrivacyDropdownMenu;\n}(React.PureComponent);\n\nvar PrivacyDropdown = injectIntl(_class2 = function (_React$PureComponent2) {\n _inherits(PrivacyDropdown, _React$PureComponent2);\n\n function PrivacyDropdown() {\n var _temp2, _this3, _ret2;\n\n _classCallCheck(this, PrivacyDropdown);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this3 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this3), _this3.state = {\n open: false\n }, _this3.handleToggle = function () {\n if (_this3.props.isUserTouching()) {\n if (_this3.state.open) {\n _this3.props.onModalClose();\n } else {\n _this3.props.onModalOpen({\n actions: _this3.options.map(function (option) {\n return Object.assign({}, option, { active: option.value === _this3.props.value });\n }),\n onClick: _this3.handleModalActionClick\n });\n }\n } else {\n _this3.setState({ open: !_this3.state.open });\n }\n }, _this3.handleModalActionClick = function (e) {\n e.preventDefault();\n\n var value = _this3.options[e.currentTarget.getAttribute('data-index')].value;\n\n _this3.props.onModalClose();\n _this3.props.onChange(value);\n }, _this3.handleKeyDown = function (e) {\n switch (e.key) {\n case 'Enter':\n _this3.handleToggle();\n break;\n case 'Escape':\n _this3.handleClose();\n break;\n }\n }, _this3.handleClose = function () {\n _this3.setState({ open: false });\n }, _this3.handleChange = function (value) {\n _this3.props.onChange(value);\n }, _temp2), _possibleConstructorReturn(_this3, _ret2);\n }\n\n PrivacyDropdown.prototype.componentWillMount = function componentWillMount() {\n var formatMessage = this.props.intl.formatMessage;\n\n\n this.options = [{ icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) }, { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) }, { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) }, { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) }];\n };\n\n PrivacyDropdown.prototype.render = function render() {\n var _props2 = this.props,\n value = _props2.value,\n intl = _props2.intl;\n var open = this.state.open;\n\n\n var valueOption = this.options.find(function (item) {\n return item.value === value;\n });\n\n return _jsx('div', {\n className: classNames('privacy-dropdown', { active: open }),\n onKeyDown: this.handleKeyDown\n }, void 0, _jsx('div', {\n className: classNames('privacy-dropdown__value', { active: this.options.indexOf(valueOption) === 0 })\n }, void 0, _jsx(IconButton, {\n className: 'privacy-dropdown__value-icon',\n icon: valueOption.icon,\n title: intl.formatMessage(messages.change_privacy),\n size: 18,\n expanded: open,\n active: open,\n inverted: true,\n onClick: this.handleToggle,\n style: { height: null, lineHeight: '27px' }\n })), _jsx(Overlay, {\n show: open,\n placement: 'bottom',\n target: this\n }, void 0, _jsx(PrivacyDropdownMenu, {\n items: this.options,\n value: value,\n onClose: this.handleClose,\n onChange: this.handleChange\n })));\n };\n\n return PrivacyDropdown;\n}(React.PureComponent)) || _class2;\n\nexport { PrivacyDropdown as default };" + }, + { + "id": 302, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "index": 479, + "index2": 468, + "size": 2736, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/sensitive_button_container", + "loc": "20:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport classNames from 'classnames';\nimport IconButton from '../../../components/icon_button';\nimport { changeComposeSensitivity } from '../../../actions/compose';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nvar messages = defineMessages({\n title: {\n 'id': 'compose_form.sensitive',\n 'defaultMessage': 'Mark media as sensitive'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n visible: state.getIn(['compose', 'media_attachments']).size > 0,\n active: state.getIn(['compose', 'sensitive']),\n disabled: state.getIn(['compose', 'spoiler'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(changeComposeSensitivity());\n }\n };\n};\n\nvar SensitiveButton = function (_React$PureComponent) {\n _inherits(SensitiveButton, _React$PureComponent);\n\n function SensitiveButton() {\n _classCallCheck(this, SensitiveButton);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n SensitiveButton.prototype.render = function render() {\n var _props = this.props,\n visible = _props.visible,\n active = _props.active,\n disabled = _props.disabled,\n onClick = _props.onClick,\n intl = _props.intl;\n\n\n return _jsx(Motion, {\n defaultStyle: { scale: 0.87 },\n style: { scale: spring(visible ? 1 : 0.87, { stiffness: 200, damping: 3 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n\n var icon = active ? 'eye-slash' : 'eye';\n var className = classNames('compose-form__sensitive-button', {\n 'compose-form__sensitive-button--visible': visible\n });\n return _jsx('div', {\n className: className,\n style: { transform: 'scale(' + scale + ')' }\n }, void 0, _jsx(IconButton, {\n className: 'compose-form__sensitive-button__icon',\n title: intl.formatMessage(messages.title),\n icon: icon,\n onClick: onClick,\n size: 18,\n active: active,\n disabled: disabled,\n style: { lineHeight: null, height: null },\n inverted: true\n }));\n });\n };\n\n return SensitiveButton;\n}(React.PureComponent);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(injectIntl(SensitiveButton));" + }, + { + "id": 303, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "index": 480, + "index2": 470, + "size": 2227, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/emoji_picker_dropdown_container", + "loc": "21:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport EmojiPickerDropdown from '../components/emoji_picker_dropdown';\nimport { changeSetting } from '../../../actions/settings';\nimport { createSelector } from 'reselect';\nimport { Map as ImmutableMap } from 'immutable';\nimport { useEmoji } from '../../../actions/emojis';\n\nvar perLine = 8;\nvar lines = 2;\n\nvar DEFAULTS = ['+1', 'grinning', 'kissing_heart', 'heart_eyes', 'laughing', 'stuck_out_tongue_winking_eye', 'sweat_smile', 'joy', 'yum', 'disappointed', 'thinking_face', 'weary', 'sob', 'sunglasses', 'heart', 'ok_hand'];\n\nvar getFrequentlyUsedEmojis = createSelector([function (state) {\n return state.getIn(['settings', 'frequentlyUsedEmojis'], ImmutableMap());\n}], function (emojiCounters) {\n var emojis = emojiCounters.keySeq().sort(function (a, b) {\n return emojiCounters.get(a) - emojiCounters.get(b);\n }).reverse().slice(0, perLine * lines).toArray();\n\n if (emojis.length < DEFAULTS.length) {\n emojis = emojis.concat(DEFAULTS.slice(0, DEFAULTS.length - emojis.length));\n }\n\n return emojis;\n});\n\nvar getCustomEmojis = createSelector([function (state) {\n return state.get('custom_emojis');\n}], function (emojis) {\n return emojis.filter(function (e) {\n return e.get('visible_in_picker');\n }).sort(function (a, b) {\n var aShort = a.get('shortcode').toLowerCase();\n var bShort = b.get('shortcode').toLowerCase();\n\n if (aShort < bShort) {\n return -1;\n } else if (aShort > bShort) {\n return 1;\n } else {\n return 0;\n }\n });\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n custom_emojis: getCustomEmojis(state),\n skinTone: state.getIn(['settings', 'skinTone']),\n frequentlyUsedEmojis: getFrequentlyUsedEmojis(state)\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var _onPickEmoji = _ref.onPickEmoji;\n return {\n onSkinTone: function onSkinTone(skinTone) {\n dispatch(changeSetting(['skinTone'], skinTone));\n },\n\n onPickEmoji: function onPickEmoji(emoji) {\n dispatch(useEmoji(emoji));\n\n if (_onPickEmoji) {\n _onPickEmoji(emoji);\n }\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EmojiPickerDropdown);" + }, + { + "id": 304, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "name": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "index": 481, + "index2": 469, + "size": 15197, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "issuerId": 303, + "issuerName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 303, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "type": "harmony import", + "userRequest": "../components/emoji_picker_dropdown", + "loc": "2:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class3, _class4, _temp4, _class5;\n\nimport React from 'react';\n\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport classNames from 'classnames';\n\nimport detectPassiveEvents from 'detect-passive-events';\nimport { buildCustomEmojis } from '../../emoji/emoji';\n\nvar messages = defineMessages({\n emoji: {\n 'id': 'emoji_button.label',\n 'defaultMessage': 'Insert emoji'\n },\n emoji_search: {\n 'id': 'emoji_button.search',\n 'defaultMessage': 'Search...'\n },\n emoji_not_found: {\n 'id': 'emoji_button.not_found',\n 'defaultMessage': 'No emojos!! (\\u256F\\xB0\\u25A1\\xB0\\uFF09\\u256F\\uFE35 \\u253B\\u2501\\u253B'\n },\n custom: {\n 'id': 'emoji_button.custom',\n 'defaultMessage': 'Custom'\n },\n recent: {\n 'id': 'emoji_button.recent',\n 'defaultMessage': 'Frequently used'\n },\n search_results: {\n 'id': 'emoji_button.search_results',\n 'defaultMessage': 'Search results'\n },\n people: {\n 'id': 'emoji_button.people',\n 'defaultMessage': 'People'\n },\n nature: {\n 'id': 'emoji_button.nature',\n 'defaultMessage': 'Nature'\n },\n food: {\n 'id': 'emoji_button.food',\n 'defaultMessage': 'Food & Drink'\n },\n activity: {\n 'id': 'emoji_button.activity',\n 'defaultMessage': 'Activity'\n },\n travel: {\n 'id': 'emoji_button.travel',\n 'defaultMessage': 'Travel & Places'\n },\n objects: {\n 'id': 'emoji_button.objects',\n 'defaultMessage': 'Objects'\n },\n symbols: {\n 'id': 'emoji_button.symbols',\n 'defaultMessage': 'Symbols'\n },\n flags: {\n 'id': 'emoji_button.flags',\n 'defaultMessage': 'Flags'\n }\n});\n\nvar assetHost = process.env.CDN_HOST || '';\nvar EmojiPicker = void 0,\n Emoji = void 0; // load asynchronously\n\nvar backgroundImageFn = function backgroundImageFn() {\n return assetHost + '/emoji/sheet.png';\n};\nvar listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nvar categoriesSort = ['recent', 'custom', 'people', 'nature', 'foods', 'activity', 'places', 'objects', 'symbols', 'flags'];\n\nvar ModifierPickerMenu = function (_React$PureComponent) {\n _inherits(ModifierPickerMenu, _React$PureComponent);\n\n function ModifierPickerMenu() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ModifierPickerMenu);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n _this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n }, _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ModifierPickerMenu.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.active) {\n this.attachListeners();\n } else {\n this.removeListeners();\n }\n };\n\n ModifierPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n this.removeListeners();\n };\n\n ModifierPickerMenu.prototype.attachListeners = function attachListeners() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.removeListeners = function removeListeners() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.render = function render() {\n var active = this.props.active;\n\n\n return React.createElement(\n 'div',\n { className: 'emoji-picker-dropdown__modifiers__menu', style: { display: active ? 'block' : 'none' }, ref: this.setRef },\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 1\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 1,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 2\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 2,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 3\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 3,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 4\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 4,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 5\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 5,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 6\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 6,\n backgroundImageFn: backgroundImageFn\n }))\n );\n };\n\n return ModifierPickerMenu;\n}(React.PureComponent);\n\nvar ModifierPicker = function (_React$PureComponent2) {\n _inherits(ModifierPicker, _React$PureComponent2);\n\n function ModifierPicker() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, ModifierPicker);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.handleClick = function () {\n if (_this2.props.active) {\n _this2.props.onClose();\n } else {\n _this2.props.onOpen();\n }\n }, _this2.handleSelect = function (modifier) {\n _this2.props.onChange(modifier);\n _this2.props.onClose();\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n ModifierPicker.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n modifier = _props.modifier;\n\n\n return _jsx('div', {\n className: 'emoji-picker-dropdown__modifiers'\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: modifier,\n onClick: this.handleClick,\n backgroundImageFn: backgroundImageFn\n }), _jsx(ModifierPickerMenu, {\n active: active,\n onSelect: this.handleSelect,\n onClose: this.props.onClose\n }));\n };\n\n return ModifierPicker;\n}(React.PureComponent);\n\nvar EmojiPickerMenu = injectIntl(_class3 = (_temp4 = _class4 = function (_React$PureComponent3) {\n _inherits(EmojiPickerMenu, _React$PureComponent3);\n\n function EmojiPickerMenu() {\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, EmojiPickerMenu);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, _React$PureComponent3.call.apply(_React$PureComponent3, [this].concat(args))), _this3), _this3.state = {\n modifierOpen: false\n }, _this3.handleDocumentClick = function (e) {\n if (_this3.node && !_this3.node.contains(e.target)) {\n _this3.props.onClose();\n }\n }, _this3.setRef = function (c) {\n _this3.node = c;\n }, _this3.getI18n = function () {\n var intl = _this3.props.intl;\n\n\n return {\n search: intl.formatMessage(messages.emoji_search),\n notfound: intl.formatMessage(messages.emoji_not_found),\n categories: {\n search: intl.formatMessage(messages.search_results),\n recent: intl.formatMessage(messages.recent),\n people: intl.formatMessage(messages.people),\n nature: intl.formatMessage(messages.nature),\n foods: intl.formatMessage(messages.food),\n activity: intl.formatMessage(messages.activity),\n places: intl.formatMessage(messages.travel),\n objects: intl.formatMessage(messages.objects),\n symbols: intl.formatMessage(messages.symbols),\n flags: intl.formatMessage(messages.flags),\n custom: intl.formatMessage(messages.custom)\n }\n };\n }, _this3.handleClick = function (emoji) {\n if (!emoji.native) {\n emoji.native = emoji.colons;\n }\n\n _this3.props.onClose();\n _this3.props.onPick(emoji);\n }, _this3.handleModifierOpen = function () {\n _this3.setState({ modifierOpen: true });\n }, _this3.handleModifierClose = function () {\n _this3.setState({ modifierOpen: false });\n }, _this3.handleModifierChange = function (modifier) {\n _this3.props.onSkinTone(modifier);\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n EmojiPickerMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.render = function render() {\n var _props2 = this.props,\n loading = _props2.loading,\n style = _props2.style,\n intl = _props2.intl,\n custom_emojis = _props2.custom_emojis,\n skinTone = _props2.skinTone,\n frequentlyUsedEmojis = _props2.frequentlyUsedEmojis;\n\n\n if (loading) {\n return _jsx('div', {\n style: { width: 299 }\n });\n }\n\n var title = intl.formatMessage(messages.emoji);\n var modifierOpen = this.state.modifierOpen;\n\n\n return React.createElement(\n 'div',\n { className: classNames('emoji-picker-dropdown__menu', { selecting: modifierOpen }), style: style, ref: this.setRef },\n _jsx(EmojiPicker, {\n perLine: 8,\n emojiSize: 22,\n sheetSize: 32,\n custom: buildCustomEmojis(custom_emojis),\n color: '',\n emoji: '',\n set: 'twitter',\n title: title,\n i18n: this.getI18n(),\n onClick: this.handleClick,\n include: categoriesSort,\n recent: frequentlyUsedEmojis,\n skin: skinTone,\n showPreview: false,\n backgroundImageFn: backgroundImageFn,\n emojiTooltip: true\n }),\n _jsx(ModifierPicker, {\n active: modifierOpen,\n modifier: skinTone,\n onOpen: this.handleModifierOpen,\n onClose: this.handleModifierClose,\n onChange: this.handleModifierChange\n })\n );\n };\n\n return EmojiPickerMenu;\n}(React.PureComponent), _class4.defaultProps = {\n style: {},\n loading: true,\n placement: 'bottom',\n frequentlyUsedEmojis: []\n}, _temp4)) || _class3;\n\nvar EmojiPickerDropdown = injectIntl(_class5 = function (_React$PureComponent4) {\n _inherits(EmojiPickerDropdown, _React$PureComponent4);\n\n function EmojiPickerDropdown() {\n var _temp5, _this4, _ret4;\n\n _classCallCheck(this, EmojiPickerDropdown);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp5 = (_this4 = _possibleConstructorReturn(this, _React$PureComponent4.call.apply(_React$PureComponent4, [this].concat(args))), _this4), _this4.state = {\n active: false,\n loading: false\n }, _this4.setRef = function (c) {\n _this4.dropdown = c;\n }, _this4.onShowDropdown = function () {\n _this4.setState({ active: true });\n\n if (!EmojiPicker) {\n _this4.setState({ loading: true });\n\n EmojiPickerAsync().then(function (EmojiMart) {\n EmojiPicker = EmojiMart.Picker;\n Emoji = EmojiMart.Emoji;\n\n _this4.setState({ loading: false });\n }).catch(function () {\n _this4.setState({ loading: false });\n });\n }\n }, _this4.onHideDropdown = function () {\n _this4.setState({ active: false });\n }, _this4.onToggle = function (e) {\n if (!_this4.state.loading && (!e.key || e.key === 'Enter')) {\n if (_this4.state.active) {\n _this4.onHideDropdown();\n } else {\n _this4.onShowDropdown();\n }\n }\n }, _this4.handleKeyDown = function (e) {\n if (e.key === 'Escape') {\n _this4.onHideDropdown();\n }\n }, _this4.setTargetRef = function (c) {\n _this4.target = c;\n }, _this4.findTarget = function () {\n return _this4.target;\n }, _temp5), _possibleConstructorReturn(_this4, _ret4);\n }\n\n EmojiPickerDropdown.prototype.render = function render() {\n var _props3 = this.props,\n intl = _props3.intl,\n onPickEmoji = _props3.onPickEmoji,\n onSkinTone = _props3.onSkinTone,\n skinTone = _props3.skinTone,\n frequentlyUsedEmojis = _props3.frequentlyUsedEmojis;\n\n var title = intl.formatMessage(messages.emoji);\n var _state = this.state,\n active = _state.active,\n loading = _state.loading;\n\n\n return _jsx('div', {\n className: 'emoji-picker-dropdown',\n onKeyDown: this.handleKeyDown\n }, void 0, React.createElement(\n 'div',\n { ref: this.setTargetRef, className: 'emoji-button', title: title, 'aria-label': title, 'aria-expanded': active, role: 'button', onClick: this.onToggle, onKeyDown: this.onToggle, tabIndex: 0 },\n _jsx('img', {\n className: classNames('emojione', { 'pulse-loading': active && loading }),\n alt: '\\uD83D\\uDE42',\n src: assetHost + '/emoji/1f602.svg'\n })\n ), _jsx(Overlay, {\n show: active,\n placement: 'bottom',\n target: this.findTarget\n }, void 0, _jsx(EmojiPickerMenu, {\n custom_emojis: this.props.custom_emojis,\n loading: loading,\n onClose: this.onHideDropdown,\n onPick: onPickEmoji,\n onSkinTone: onSkinTone,\n skinTone: skinTone,\n frequentlyUsedEmojis: frequentlyUsedEmojis\n })));\n };\n\n return EmojiPickerDropdown;\n}(React.PureComponent)) || _class5;\n\nexport { EmojiPickerDropdown as default };" + }, + { + "id": 305, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "index": 482, + "index2": 476, + "size": 338, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_form_container", + "loc": "22:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport UploadForm from '../components/upload_form';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n mediaIds: state.getIn(['compose', 'media_attachments']).map(function (item) {\n return item.get('id');\n })\n };\n};\n\nexport default connect(mapStateToProps)(UploadForm);" + }, + { + "id": 306, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "name": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "index": 483, + "index2": 475, + "size": 1426, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "issuerId": 305, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 305, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "type": "harmony import", + "userRequest": "../components/upload_form", + "loc": "2:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport UploadProgressContainer from '../containers/upload_progress_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport UploadContainer from '../containers/upload_container';\n\nvar UploadForm = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(UploadForm, _ImmutablePureCompone);\n\n function UploadForm() {\n _classCallCheck(this, UploadForm);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n UploadForm.prototype.render = function render() {\n var mediaIds = this.props.mediaIds;\n\n\n return _jsx('div', {\n className: 'compose-form__upload-wrapper'\n }, void 0, _jsx(UploadProgressContainer, {}), _jsx('div', {\n className: 'compose-form__uploads-wrapper'\n }, void 0, mediaIds.map(function (id) {\n return _jsx(UploadContainer, {\n id: id\n }, id);\n })));\n };\n\n return UploadForm;\n}(ImmutablePureComponent), _class.propTypes = {\n mediaIds: ImmutablePropTypes.list.isRequired\n}, _temp);\nexport { UploadForm as default };" + }, + { + "id": 307, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "index": 484, + "index2": 472, + "size": 337, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "issuerId": 306, + "issuerName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_progress_container", + "loc": "10:0-78" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import { connect } from 'react-redux';\nimport UploadProgress from '../components/upload_progress';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n active: state.getIn(['compose', 'is_uploading']),\n progress: state.getIn(['compose', 'progress'])\n };\n};\n\nexport default connect(mapStateToProps)(UploadProgress);" + }, + { + "id": 308, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "name": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "index": 485, + "index2": 471, + "size": 1739, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "issuerId": 307, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 307, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "type": "harmony import", + "userRequest": "../components/upload_progress", + "loc": "2:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { FormattedMessage } from 'react-intl';\n\nvar UploadProgress = function (_React$PureComponent) {\n _inherits(UploadProgress, _React$PureComponent);\n\n function UploadProgress() {\n _classCallCheck(this, UploadProgress);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n UploadProgress.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n progress = _props.progress;\n\n\n if (!active) {\n return null;\n }\n\n return _jsx('div', {\n className: 'upload-progress'\n }, void 0, _jsx('div', {\n className: 'upload-progress__icon'\n }, void 0, _jsx('i', {\n className: 'fa fa-upload'\n })), _jsx('div', {\n className: 'upload-progress__message'\n }, void 0, _jsx(FormattedMessage, {\n id: 'upload_progress.label',\n defaultMessage: 'Uploading...'\n }), _jsx('div', {\n className: 'upload-progress__backdrop'\n }, void 0, _jsx(Motion, {\n defaultStyle: { width: 0 },\n style: { width: spring(progress) }\n }, void 0, function (_ref) {\n var width = _ref.width;\n return _jsx('div', {\n className: 'upload-progress__tracker',\n style: { width: width + '%' }\n });\n }))));\n };\n\n return UploadProgress;\n}(React.PureComponent);\n\nexport { UploadProgress as default };" + }, + { + "id": 309, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "index": 486, + "index2": 474, + "size": 760, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "issuerId": 306, + "issuerName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_container", + "loc": "12:0-61" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import { connect } from 'react-redux';\nimport Upload from '../components/upload';\nimport { undoUploadCompose, changeUploadCompose } from '../../../actions/compose';\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n media: state.getIn(['compose', 'media_attachments']).find(function (item) {\n return item.get('id') === id;\n })\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n\n onUndo: function onUndo(id) {\n dispatch(undoUploadCompose(id));\n },\n\n onDescriptionChange: function onDescriptionChange(id, description) {\n dispatch(changeUploadCompose(id, description));\n }\n\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Upload);" + }, + { + "id": 310, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "name": "./app/javascript/mastodon/features/compose/components/upload.js", + "index": 487, + "index2": 473, + "size": 4265, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "issuerId": 309, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 309, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "type": "harmony import", + "userRequest": "../components/upload", + "loc": "2:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport classNames from 'classnames';\n\nvar messages = defineMessages({\n undo: {\n 'id': 'upload_form.undo',\n 'defaultMessage': 'Undo'\n },\n description: {\n 'id': 'upload_form.description',\n 'defaultMessage': 'Describe for the visually impaired'\n }\n});\n\nvar Upload = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Upload, _ImmutablePureCompone);\n\n function Upload() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Upload);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n hovered: false,\n focused: false,\n dirtyDescription: null\n }, _this.handleUndoClick = function () {\n _this.props.onUndo(_this.props.media.get('id'));\n }, _this.handleInputChange = function (e) {\n _this.setState({ dirtyDescription: e.target.value });\n }, _this.handleMouseEnter = function () {\n _this.setState({ hovered: true });\n }, _this.handleMouseLeave = function () {\n _this.setState({ hovered: false });\n }, _this.handleInputFocus = function () {\n _this.setState({ focused: true });\n }, _this.handleInputBlur = function () {\n var dirtyDescription = _this.state.dirtyDescription;\n\n\n _this.setState({ focused: false, dirtyDescription: null });\n\n if (dirtyDescription !== null) {\n _this.props.onDescriptionChange(_this.props.media.get('id'), dirtyDescription);\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Upload.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n intl = _props.intl,\n media = _props.media;\n\n var active = this.state.hovered || this.state.focused;\n var description = this.state.dirtyDescription || media.get('description') || '';\n\n return _jsx('div', {\n className: 'compose-form__upload',\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave\n }, void 0, _jsx(Motion, {\n defaultStyle: { scale: 0.8 },\n style: { scale: spring(1, { stiffness: 180, damping: 12 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n return _jsx('div', {\n className: 'compose-form__upload-thumbnail',\n style: { transform: 'scale(' + scale + ')', backgroundImage: 'url(' + media.get('preview_url') + ')' }\n }, void 0, _jsx(IconButton, {\n icon: 'times',\n title: intl.formatMessage(messages.undo),\n size: 36,\n onClick: _this2.handleUndoClick\n }), _jsx('div', {\n className: classNames('compose-form__upload-description', { active: active })\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.description)), _jsx('input', {\n placeholder: intl.formatMessage(messages.description),\n type: 'text',\n value: description,\n maxLength: 420,\n onFocus: _this2.handleInputFocus,\n onChange: _this2.handleInputChange,\n onBlur: _this2.handleInputBlur\n }))));\n }));\n };\n\n return Upload;\n}(ImmutablePureComponent), _class2.propTypes = {\n media: ImmutablePropTypes.map.isRequired,\n intl: PropTypes.object.isRequired,\n onUndo: PropTypes.func.isRequired,\n onDescriptionChange: PropTypes.func.isRequired\n}, _temp2)) || _class;\n\nexport { Upload as default };" + }, + { + "id": 311, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "index": 488, + "index2": 478, + "size": 1120, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/warning_container", + "loc": "23:0-63" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Warning from '../components/warning';\n\nimport { FormattedMessage } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked'])\n };\n};\n\nvar WarningWrapper = function WarningWrapper(_ref) {\n var needsLockWarning = _ref.needsLockWarning;\n\n if (needsLockWarning) {\n return _jsx(Warning, {\n message: _jsx(FormattedMessage, {\n id: 'compose_form.lock_disclaimer',\n defaultMessage: 'Your account is not {locked}. Anyone can follow you to view your follower-only posts.',\n values: { locked: _jsx('a', {\n href: '/settings/profile'\n }, void 0, _jsx(FormattedMessage, {\n id: 'compose_form.lock_disclaimer.lock',\n defaultMessage: 'locked'\n })) }\n })\n });\n }\n\n return null;\n};\n\nexport default connect(mapStateToProps)(WarningWrapper);" + }, + { + "id": 312, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/warning.js", + "name": "./app/javascript/mastodon/features/compose/components/warning.js", + "index": 489, + "index2": 477, + "size": 1391, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "issuerId": 311, + "issuerName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "../components/warning", + "loc": "4:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nvar Warning = function (_React$PureComponent) {\n _inherits(Warning, _React$PureComponent);\n\n function Warning() {\n _classCallCheck(this, Warning);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n Warning.prototype.render = function render() {\n var message = this.props.message;\n\n\n return _jsx(Motion, {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return _jsx('div', {\n className: 'compose-form__warning',\n style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n }, void 0, message);\n });\n };\n\n return Warning;\n}(React.PureComponent);\n\nexport { Warning as default };" + }, + { + "id": 313, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/counter.js", + "name": "./app/javascript/mastodon/features/compose/util/counter.js", + "index": 490, + "index2": 480, + "size": 261, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../util/counter", + "loc": "27:0-48" + } + ], + "usedExports": [ + "countableText" + ], + "providedExports": [ + "countableText" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { urlRegex } from './url_regex';\n\nvar urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nexport function countableText(inputText) {\n return inputText.replace(urlRegex, urlPlaceholder).replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\n};" + }, + { + "id": 314, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/url_regex.js", + "name": "./app/javascript/mastodon/features/compose/util/url_regex.js", + "index": 491, + "index2": 479, + "size": 13599, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/counter.js", + "issuerId": 313, + "issuerName": "./app/javascript/mastodon/features/compose/util/counter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 313, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/counter.js", + "module": "./app/javascript/mastodon/features/compose/util/counter.js", + "moduleName": "./app/javascript/mastodon/features/compose/util/counter.js", + "type": "harmony import", + "userRequest": "./url_regex", + "loc": "1:0-39" + } + ], + "usedExports": [ + "urlRegex" + ], + "providedExports": [ + "urlRegex" + ], + "optimizationBailout": [], + "depth": 6, + "source": "var regexen = {};\n\nvar regexSupplant = function regexSupplant(regex, flags) {\n flags = flags || '';\n if (typeof regex !== 'string') {\n if (regex.global && flags.indexOf('g') < 0) {\n flags += 'g';\n }\n if (regex.ignoreCase && flags.indexOf('i') < 0) {\n flags += 'i';\n }\n if (regex.multiline && flags.indexOf('m') < 0) {\n flags += 'm';\n }\n\n regex = regex.source;\n }\n return new RegExp(regex.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n var newRegex = regexen[name] || '';\n if (typeof newRegex !== 'string') {\n newRegex = newRegex.source;\n }\n return newRegex;\n }), flags);\n};\n\nvar stringSupplant = function stringSupplant(str, values) {\n return str.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n return values[name] || '';\n });\n};\n\nexport var urlRegex = function () {\n regexen.spaces_group = /\\x09-\\x0D\\x20\\x85\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000/;\n regexen.invalid_chars_group = /\\uFFFE\\uFEFF\\uFFFF\\u202A-\\u202E/;\n regexen.punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/;\n regexen.validUrlPrecedingChars = regexSupplant(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/);\n regexen.invalidDomainChars = stringSupplant('#{punct}#{spaces_group}#{invalid_chars_group}', regexen);\n regexen.validDomainChars = regexSupplant(/[^#{invalidDomainChars}]/);\n regexen.validSubdomain = regexSupplant(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validDomainName = regexSupplant(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validGTLD = regexSupplant(RegExp('(?:(?:' + '삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|' + '政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|' + 'ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|' + 'بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|' + 'zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|' + 'yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|' + 'wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|' + 'website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|' + 'wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|' + 'vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|' + 'vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|' + 'university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|' + 'travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|' + 'toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|' + 'tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|' + 'tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|' + 'swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|' + 'stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|' + 'stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|' + 'softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|' + 'showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|' + 'sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|' + 'science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|' + 'sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|' + 'saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|' + 'rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|' + 'repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|' + 'realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|' + 'protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|' + 'pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|' + 'pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|' + 'pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|' + 'pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|' + 'onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|' + 'obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|' + 'nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|' + 'net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|' + 'msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|' + 'monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|' + 'miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|' + 'mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|' + 'makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|' + 'lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|' + 'limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|' + 'lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|' + 'lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|' + 'komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|' + 'kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|' + 'jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|' + 'investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|' + 'industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|' + 'hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|' + 'honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|' + 'hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|' + 'hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|' + 'gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|' + 'globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|' + 'garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|' + 'ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|' + 'football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|' + 'fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|' + 'ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|' + 'extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|' + 'estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|' + 'email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|' + 'download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|' + 'direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|' + 'delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|' + 'cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|' + 'coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|' + 'construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|' + 'college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|' + 'cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|' + 'chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|' + 'catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|' + 'capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|' + 'bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|' + 'bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|' + 'boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|' + 'black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|' + 'beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|' + 'barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|' + 'autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|' + 'art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|' + 'amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|' + 'alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|' + 'afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|' + 'academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion' + ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validCCTLD = regexSupplant(RegExp('(?:(?:' + '한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|' + 'ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|' + 'بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|' + 'zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|' + 'tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|' + 're|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|' + 'mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|' + 'ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|' + 'gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|' + 'do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|' + 'bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac' + ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validPunycode = /(?:xn--[0-9a-z]+)/;\n regexen.validSpecialCCTLD = /(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/;\n regexen.validDomain = regexSupplant(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/);\n regexen.validPortNumber = /[0-9]+/;\n regexen.pd = /\\u002d\\u058a\\u05be\\u1400\\u1806\\u2010-\\u2015\\u2e17\\u2e1a\\u2e3a\\u2e40\\u301c\\u3030\\u30a0\\ufe31\\ufe58\\ufe63\\uff0d/;\n regexen.validGeneralUrlPathChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?]/i);\n // Allow URL paths to contain up to two nested levels of balanced parens\n // 1. Used in Wikipedia URLs like /Primer_(film)\n // 2. Used in IIS sessions like /S(dfd346)/\n // 3. Used in Rdio URLs like /track/We_Up_(Album_Version_(Edited))/\n regexen.validUrlBalancedParens = regexSupplant('\\\\(' + '(?:' + '#{validGeneralUrlPathChars}+' + '|' +\n // allow one nested level of balanced parentheses\n '(?:' + '#{validGeneralUrlPathChars}*' + '\\\\(' + '#{validGeneralUrlPathChars}+' + '\\\\)' + '#{validGeneralUrlPathChars}*' + ')' + ')' + '\\\\)', 'i');\n // Valid end-of-path chracters (so /foo. does not gobble the period).\n // 1. Allow =&# for empty URL parameters and other URL-join artifacts\n regexen.validUrlPathEndingChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?!\\*';:=\\,\\.\\$%\\[\\]#{pd}~&\\|@]|(?:#{validUrlBalancedParens})/i);\n // Allow @ in a url, but only in the middle. Catch things like http://example.com/@user/\n regexen.validUrlPath = regexSupplant('(?:' + '(?:' + '#{validGeneralUrlPathChars}*' + '(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*' + '#{validUrlPathEndingChars}' + ')|(?:@#{validGeneralUrlPathChars}+\\/)' + ')', 'i');\n regexen.validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i;\n regexen.validUrlQueryEndingChars = /[a-z0-9_&=#\\/]/i;\n regexen.validUrl = regexSupplant('(' + // $1 URL\n '(https?:\\\\/\\\\/)' + // $2 Protocol\n '(#{validDomain})' + // $3 Domain(s)\n '(?::(#{validPortNumber}))?' + // $4 Port number (optional)\n '(\\\\/#{validUrlPath}*)?' + // $5 URL Path\n '(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?' + // $6 Query String\n ')', 'gi');\n return regexen.validUrl;\n}();" + }, + { + "id": 315, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "index": 457, + "index2": 482, + "size": 2104, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "issuerId": 658, + "issuerName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 658, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "module": "./app/javascript/mastodon/features/standalone/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "type": "harmony import", + "userRequest": "../../compose/containers/compose_form_container", + "loc": "6:0-83" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "./containers/compose_form_container", + "loc": "9:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import { connect } from 'react-redux';\nimport ComposeForm from '../components/compose_form';\nimport { uploadCompose } from '../../../actions/compose';\nimport { changeCompose, submitCompose, clearComposeSuggestions, fetchComposeSuggestions, selectComposeSuggestion, changeComposeSpoilerText, insertEmojiCompose } from '../../../actions/compose';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n text: state.getIn(['compose', 'text']),\n suggestion_token: state.getIn(['compose', 'suggestion_token']),\n suggestions: state.getIn(['compose', 'suggestions']),\n spoiler: state.getIn(['compose', 'spoiler']),\n spoiler_text: state.getIn(['compose', 'spoiler_text']),\n privacy: state.getIn(['compose', 'privacy']),\n focusDate: state.getIn(['compose', 'focusDate']),\n preselectDate: state.getIn(['compose', 'preselectDate']),\n is_submitting: state.getIn(['compose', 'is_submitting']),\n is_uploading: state.getIn(['compose', 'is_uploading']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(text) {\n dispatch(changeCompose(text));\n },\n onSubmit: function onSubmit() {\n dispatch(submitCompose());\n },\n onClearSuggestions: function onClearSuggestions() {\n dispatch(clearComposeSuggestions());\n },\n onFetchSuggestions: function onFetchSuggestions(token) {\n dispatch(fetchComposeSuggestions(token));\n },\n onSuggestionSelected: function onSuggestionSelected(position, token, accountId) {\n dispatch(selectComposeSuggestion(position, token, accountId));\n },\n onChangeSpoilerText: function onChangeSpoilerText(checked) {\n dispatch(changeComposeSpoilerText(checked));\n },\n onPaste: function onPaste(files) {\n dispatch(uploadCompose(files));\n },\n onPickEmoji: function onPickEmoji(position, data) {\n dispatch(insertEmojiCompose(position, data));\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);" + }, + { + "id": 752, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "name": "./app/javascript/mastodon/features/compose/index.js", + "index": 456, + "index2": 527, + "size": 6597, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../compose", + "loc": "6:9-75" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class;\n\nimport React from 'react';\nimport ComposeFormContainer from './containers/compose_form_container';\nimport NavigationContainer from './containers/navigation_container';\n\nimport { connect } from 'react-redux';\nimport { mountCompose, unmountCompose } from '../../actions/compose';\nimport { Link } from 'react-router-dom';\nimport { injectIntl, defineMessages } from 'react-intl';\nimport SearchContainer from './containers/search_container';\nimport Motion from '../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport SearchResultsContainer from './containers/search_results_container';\nimport { changeComposing } from '../../actions/compose';\n\nvar messages = defineMessages({\n start: {\n 'id': 'getting_started.heading',\n 'defaultMessage': 'Getting started'\n },\n home_timeline: {\n 'id': 'tabs_bar.home',\n 'defaultMessage': 'Home'\n },\n notifications: {\n 'id': 'tabs_bar.notifications',\n 'defaultMessage': 'Notifications'\n },\n public: {\n 'id': 'navigation_bar.public_timeline',\n 'defaultMessage': 'Federated timeline'\n },\n community: {\n 'id': 'navigation_bar.community_timeline',\n 'defaultMessage': 'Local timeline'\n },\n preferences: {\n 'id': 'navigation_bar.preferences',\n 'defaultMessage': 'Preferences'\n },\n logout: {\n 'id': 'navigation_bar.logout',\n 'defaultMessage': 'Logout'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n columns: state.getIn(['settings', 'columns']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar Compose = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = function (_React$PureComponent) {\n _inherits(Compose, _React$PureComponent);\n\n function Compose() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Compose);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.onFocus = function () {\n _this.props.dispatch(changeComposing(true));\n }, _this.onBlur = function () {\n _this.props.dispatch(changeComposing(false));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Compose.prototype.componentDidMount = function componentDidMount() {\n this.props.dispatch(mountCompose());\n };\n\n Compose.prototype.componentWillUnmount = function componentWillUnmount() {\n this.props.dispatch(unmountCompose());\n };\n\n Compose.prototype.render = function render() {\n var _props = this.props,\n multiColumn = _props.multiColumn,\n showSearch = _props.showSearch,\n intl = _props.intl;\n\n\n var header = '';\n\n if (multiColumn) {\n var columns = this.props.columns;\n\n header = _jsx('nav', {\n className: 'drawer__header'\n }, void 0, _jsx(Link, {\n to: '/getting-started',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.start),\n 'aria-label': intl.formatMessage(messages.start)\n }, void 0, _jsx('i', {\n role: 'img',\n className: 'fa fa-fw fa-asterisk'\n })), !columns.some(function (column) {\n return column.get('id') === 'HOME';\n }) && _jsx(Link, {\n to: '/timelines/home',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.home_timeline),\n 'aria-label': intl.formatMessage(messages.home_timeline)\n }, void 0, _jsx('i', {\n role: 'img',\n className: 'fa fa-fw fa-home'\n })), !columns.some(function (column) {\n return column.get('id') === 'NOTIFICATIONS';\n }) && _jsx(Link, {\n to: '/notifications',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.notifications),\n 'aria-label': intl.formatMessage(messages.notifications)\n }, void 0, _jsx('i', {\n role: 'img',\n className: 'fa fa-fw fa-bell'\n })), !columns.some(function (column) {\n return column.get('id') === 'COMMUNITY';\n }) && _jsx(Link, {\n to: '/timelines/public/local',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.community),\n 'aria-label': intl.formatMessage(messages.community)\n }, void 0, _jsx('i', {\n role: 'img',\n className: 'fa fa-fw fa-users'\n })), !columns.some(function (column) {\n return column.get('id') === 'PUBLIC';\n }) && _jsx(Link, {\n to: '/timelines/public',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.public),\n 'aria-label': intl.formatMessage(messages.public)\n }, void 0, _jsx('i', {\n role: 'img',\n className: 'fa fa-fw fa-globe'\n })), _jsx('a', {\n href: '/settings/preferences',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.preferences),\n 'aria-label': intl.formatMessage(messages.preferences)\n }, void 0, _jsx('i', {\n role: 'img',\n className: 'fa fa-fw fa-cog'\n })), _jsx('a', {\n href: '/auth/sign_out',\n className: 'drawer__tab',\n 'data-method': 'delete',\n title: intl.formatMessage(messages.logout),\n 'aria-label': intl.formatMessage(messages.logout)\n }, void 0, _jsx('i', {\n role: 'img',\n className: 'fa fa-fw fa-sign-out'\n })));\n }\n\n return _jsx('div', {\n className: 'drawer'\n }, void 0, header, _jsx(SearchContainer, {}), _jsx('div', {\n className: 'drawer__pager'\n }, void 0, _jsx('div', {\n className: 'drawer__inner',\n onFocus: this.onFocus\n }, void 0, _jsx(NavigationContainer, {\n onClose: this.onBlur\n }), _jsx(ComposeFormContainer, {})), _jsx(Motion, {\n defaultStyle: { x: -100 },\n style: { x: spring(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }\n }, void 0, function (_ref) {\n var x = _ref.x;\n return _jsx('div', {\n className: 'drawer__inner darker',\n style: { transform: 'translateX(' + x + '%)', visibility: x === -100 ? 'hidden' : 'visible' }\n }, void 0, _jsx(SearchResultsContainer, {}));\n })));\n };\n\n return Compose;\n}(React.PureComponent)) || _class) || _class);\nexport { Compose as default };" + }, + { + "id": 777, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "name": "./app/javascript/mastodon/containers/account_container.js", + "index": 534, + "index2": 524, + "size": 2429, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "issuerId": 882, + "issuerName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "11:0-69" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "12:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));" + }, + { + "id": 778, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "name": "./app/javascript/mastodon/components/account.js", + "index": 535, + "index2": 523, + "size": 4637, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "issuerId": 777, + "issuerName": "./app/javascript/mastodon/containers/account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../components/account", + "loc": "6:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nvar messages = defineMessages({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Account);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return _jsx('div', {});\n }\n\n if (hidden) {\n return _jsx('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = _jsx(IconButton, {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = _jsx(IconButton, {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return _jsx('div', {\n className: 'account'\n }, void 0, _jsx('div', {\n className: 'account__wrapper'\n }, void 0, _jsx(Permalink, {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), _jsx('div', {\n className: 'account__avatar-wrapper'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 36\n })), _jsx(DisplayName, {\n account: account\n })), _jsx('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(ImmutablePureComponent), _class2.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool\n}, _temp2)) || _class;\n\nexport { Account as default };" + }, + { + "id": 802, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "name": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "index": 493, + "index2": 483, + "size": 2258, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/navigation_container.js", + "issuerId": 879, + "issuerName": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "../../compose/components/navigation_bar", + "loc": "17:0-68" + }, + { + "moduleId": 879, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/navigation_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "type": "harmony import", + "userRequest": "../components/navigation_bar", + "loc": "2:0-57" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport Permalink from '../../../components/permalink';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar NavigationBar = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(NavigationBar, _ImmutablePureCompone);\n\n function NavigationBar() {\n _classCallCheck(this, NavigationBar);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n NavigationBar.prototype.render = function render() {\n return _jsx('div', {\n className: 'navigation-bar'\n }, void 0, _jsx(Permalink, {\n href: this.props.account.get('url'),\n to: '/accounts/' + this.props.account.get('id')\n }, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, this.props.account.get('acct')), _jsx(Avatar, {\n account: this.props.account,\n size: 40\n })), _jsx('div', {\n className: 'navigation-bar__profile'\n }, void 0, _jsx(Permalink, {\n href: this.props.account.get('url'),\n to: '/accounts/' + this.props.account.get('id')\n }, void 0, _jsx('strong', {\n className: 'navigation-bar__profile-account'\n }, void 0, '@', this.props.account.get('acct'))), _jsx('a', {\n href: '/settings/profile',\n className: 'navigation-bar__profile-edit'\n }, void 0, _jsx(FormattedMessage, {\n id: 'navigation_bar.edit_profile',\n defaultMessage: 'Edit profile'\n }))), _jsx(IconButton, {\n title: '',\n icon: 'close',\n onClick: this.props.onClose\n }));\n };\n\n return NavigationBar;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onClose: PropTypes.func.isRequired\n}, _temp);\nexport { NavigationBar as default };" + }, + { + "id": 803, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "name": "./app/javascript/mastodon/features/compose/components/search.js", + "index": 531, + "index2": 521, + "size": 5471, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_container.js", + "issuerId": 880, + "issuerName": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "../../compose/components/search", + "loc": "16:0-53" + }, + { + "moduleId": 880, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "type": "harmony import", + "userRequest": "../components/search", + "loc": "3:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\n\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nvar messages = defineMessages({\n placeholder: {\n 'id': 'search.placeholder',\n 'defaultMessage': 'Search'\n }\n});\n\nvar SearchPopout = function (_React$PureComponent) {\n _inherits(SearchPopout, _React$PureComponent);\n\n function SearchPopout() {\n _classCallCheck(this, SearchPopout);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n SearchPopout.prototype.render = function render() {\n var style = this.props.style;\n\n\n return _jsx('div', {\n style: Object.assign({}, style, { position: 'absolute', width: 285 })\n }, void 0, _jsx(Motion, {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return _jsx('div', {\n className: 'search-popout',\n style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n }, void 0, _jsx('h4', {}, void 0, _jsx(FormattedMessage, {\n id: 'search_popout.search_format',\n defaultMessage: 'Advanced search format'\n })), _jsx('ul', {}, void 0, _jsx('li', {}, void 0, _jsx('em', {}, void 0, '#example'), ' ', _jsx(FormattedMessage, {\n id: 'search_popout.tips.hashtag',\n defaultMessage: 'hashtag'\n })), _jsx('li', {}, void 0, _jsx('em', {}, void 0, '@username@domain'), ' ', _jsx(FormattedMessage, {\n id: 'search_popout.tips.user',\n defaultMessage: 'user'\n })), _jsx('li', {}, void 0, _jsx('em', {}, void 0, 'URL'), ' ', _jsx(FormattedMessage, {\n id: 'search_popout.tips.user',\n defaultMessage: 'user'\n })), _jsx('li', {}, void 0, _jsx('em', {}, void 0, 'URL'), ' ', _jsx(FormattedMessage, {\n id: 'search_popout.tips.status',\n defaultMessage: 'status'\n }))), _jsx(FormattedMessage, {\n id: 'search_popout.tips.text',\n defaultMessage: 'Simple text returns matching display names, usernames and hashtags'\n }));\n }));\n };\n\n return SearchPopout;\n}(React.PureComponent);\n\nvar Search = injectIntl(_class = function (_React$PureComponent2) {\n _inherits(Search, _React$PureComponent2);\n\n function Search() {\n var _temp, _this2, _ret;\n\n _classCallCheck(this, Search);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this2 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n expanded: false\n }, _this2.handleChange = function (e) {\n _this2.props.onChange(e.target.value);\n }, _this2.handleClear = function (e) {\n e.preventDefault();\n\n if (_this2.props.value.length > 0 || _this2.props.submitted) {\n _this2.props.onClear();\n }\n }, _this2.handleKeyDown = function (e) {\n if (e.key === 'Enter') {\n e.preventDefault();\n _this2.props.onSubmit();\n } else if (e.key === 'Escape') {\n document.querySelector('.ui').parentElement.focus();\n }\n }, _this2.handleFocus = function () {\n _this2.setState({ expanded: true });\n _this2.props.onShow();\n }, _this2.handleBlur = function () {\n _this2.setState({ expanded: false });\n }, _temp), _possibleConstructorReturn(_this2, _ret);\n }\n\n Search.prototype.noop = function noop() {};\n\n Search.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n value = _props.value,\n submitted = _props.submitted;\n var expanded = this.state.expanded;\n\n var hasValue = value.length > 0 || submitted;\n\n return _jsx('div', {\n className: 'search'\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.placeholder)), _jsx('input', {\n className: 'search__input',\n type: 'text',\n placeholder: intl.formatMessage(messages.placeholder),\n value: value,\n onChange: this.handleChange,\n onKeyUp: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n })), _jsx('div', {\n role: 'button',\n tabIndex: '0',\n className: 'search__icon',\n onClick: this.handleClear\n }, void 0, _jsx('i', {\n className: 'fa fa-search ' + (hasValue ? '' : 'active')\n }), _jsx('i', {\n 'aria-label': intl.formatMessage(messages.placeholder),\n className: 'fa fa-times-circle ' + (hasValue ? 'active' : '')\n })), _jsx(Overlay, {\n show: expanded && !hasValue,\n placement: 'bottom',\n target: this\n }, void 0, _jsx(SearchPopout, {})));\n };\n\n return Search;\n}(React.PureComponent)) || _class;\n\nexport { Search as default };" + }, + { + "id": 879, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/navigation_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "index": 492, + "index2": 484, + "size": 317, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "issuerId": 752, + "issuerName": "./app/javascript/mastodon/features/compose/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "./containers/navigation_container", + "loc": "10:0-68" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport NavigationBar from '../components/navigation_bar';\nimport { me } from '../../../initial_state';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n account: state.getIn(['accounts', me])\n };\n};\n\nexport default connect(mapStateToProps)(NavigationBar);" + }, + { + "id": 880, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "index": 530, + "index2": 522, + "size": 804, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "issuerId": 752, + "issuerName": "./app/javascript/mastodon/features/compose/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "./containers/search_container", + "loc": "16:0-60" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport { changeSearch, clearSearch, submitSearch, showSearch } from '../../../actions/search';\nimport Search from '../components/search';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n value: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(changeSearch(value));\n },\n onClear: function onClear() {\n dispatch(clearSearch());\n },\n onSubmit: function onSubmit() {\n dispatch(submitSearch());\n },\n onShow: function onShow() {\n dispatch(showSearch());\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Search);" + }, + { + "id": 881, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_results_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/search_results_container.js", + "index": 532, + "index2": 526, + "size": 277, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "issuerId": 752, + "issuerName": "./app/javascript/mastodon/features/compose/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "./containers/search_results_container", + "loc": "19:0-75" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport SearchResults from '../components/search_results';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n results: state.getIn(['search', 'results'])\n };\n};\n\nexport default connect(mapStateToProps)(SearchResults);" + }, + { + "id": 882, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "name": "./app/javascript/mastodon/features/compose/components/search_results.js", + "index": 533, + "index2": 525, + "size": 2840, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_results_container.js", + "issuerId": 881, + "issuerName": "./app/javascript/mastodon/features/compose/containers/search_results_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 881, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_results_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/search_results_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/search_results_container.js", + "type": "harmony import", + "userRequest": "../components/search_results", + "loc": "2:0-57" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport AccountContainer from '../../../containers/account_container';\nimport StatusContainer from '../../../containers/status_container';\nimport { Link } from 'react-router-dom';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar SearchResults = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(SearchResults, _ImmutablePureCompone);\n\n function SearchResults() {\n _classCallCheck(this, SearchResults);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n SearchResults.prototype.render = function render() {\n var results = this.props.results;\n\n\n var accounts = void 0,\n statuses = void 0,\n hashtags = void 0;\n var count = 0;\n\n if (results.get('accounts') && results.get('accounts').size > 0) {\n count += results.get('accounts').size;\n accounts = _jsx('div', {\n className: 'search-results__section'\n }, void 0, results.get('accounts').map(function (accountId) {\n return _jsx(AccountContainer, {\n id: accountId\n }, accountId);\n }));\n }\n\n if (results.get('statuses') && results.get('statuses').size > 0) {\n count += results.get('statuses').size;\n statuses = _jsx('div', {\n className: 'search-results__section'\n }, void 0, results.get('statuses').map(function (statusId) {\n return _jsx(StatusContainer, {\n id: statusId\n }, statusId);\n }));\n }\n\n if (results.get('hashtags') && results.get('hashtags').size > 0) {\n count += results.get('hashtags').size;\n hashtags = _jsx('div', {\n className: 'search-results__section'\n }, void 0, results.get('hashtags').map(function (hashtag) {\n return _jsx(Link, {\n className: 'search-results__hashtag',\n to: '/timelines/tag/' + hashtag\n }, hashtag, '#', hashtag);\n }));\n }\n\n return _jsx('div', {\n className: 'search-results'\n }, void 0, _jsx('div', {\n className: 'search-results__header'\n }, void 0, _jsx(FormattedMessage, {\n id: 'search_results.total',\n defaultMessage: '{count, number} {count, plural, one {result} other {results}}',\n values: { count: count }\n })), accounts, statuses, hashtags);\n };\n\n return SearchResults;\n}(ImmutablePureComponent), _class.propTypes = {\n results: ImmutablePropTypes.map.isRequired\n}, _temp);\nexport { SearchResults as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "6:9-75", + "name": "features/compose", + "reasons": [] + } + ] + }, + { + "id": 3, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 123315, + "names": [ + "modals/onboarding_modal" + ], + "files": [ + "modals/onboarding_modal-399f44a19ddd0ddc4e9c.js", + "modals/onboarding_modal-399f44a19ddd0ddc4e9c.js.map" + ], + "hash": "399f44a19ddd0ddc4e9c", + "parents": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 286, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "name": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "index": 458, + "index2": 481, + "size": 10085, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "issuerId": 315, + "issuerName": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 315, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "type": "harmony import", + "userRequest": "../components/compose_form", + "loc": "2:0-53" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "../../compose/components/compose_form", + "loc": "15:0-64" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport CharacterCounter from './character_counter';\nimport Button from '../../../components/button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport ReplyIndicatorContainer from '../containers/reply_indicator_container';\nimport AutosuggestTextarea from '../../../components/autosuggest_textarea';\nimport UploadButtonContainer from '../containers/upload_button_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport Collapsable from '../../../components/collapsable';\nimport SpoilerButtonContainer from '../containers/spoiler_button_container';\nimport PrivacyDropdownContainer from '../containers/privacy_dropdown_container';\nimport SensitiveButtonContainer from '../containers/sensitive_button_container';\nimport EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';\nimport UploadFormContainer from '../containers/upload_form_container';\nimport WarningContainer from '../containers/warning_container';\nimport { isMobile } from '../../../is_mobile';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { length } from 'stringz';\nimport { countableText } from '../util/counter';\n\nvar messages = defineMessages({\n placeholder: {\n 'id': 'compose_form.placeholder',\n 'defaultMessage': 'What is on your mind?'\n },\n spoiler_placeholder: {\n 'id': 'compose_form.spoiler_placeholder',\n 'defaultMessage': 'Write your warning here'\n },\n publish: {\n 'id': 'compose_form.publish',\n 'defaultMessage': 'Toot'\n },\n publishLoud: {\n 'id': 'compose_form.publish_loud',\n 'defaultMessage': '{publish}!'\n }\n});\n\nvar ComposeForm = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(ComposeForm, _ImmutablePureCompone);\n\n function ComposeForm() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ComposeForm);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n _this.props.onChange(e.target.value);\n }, _this.handleKeyDown = function (e) {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n _this.handleSubmit();\n }\n }, _this.handleSubmit = function () {\n if (_this.props.text !== _this.autosuggestTextarea.textarea.value) {\n // Something changed the text inside the textarea (e.g. browser extensions like Grammarly)\n // Update the state to match the current text\n _this.props.onChange(_this.autosuggestTextarea.textarea.value);\n }\n\n _this.props.onSubmit();\n }, _this.onSuggestionsClearRequested = function () {\n _this.props.onClearSuggestions();\n }, _this.onSuggestionsFetchRequested = function (token) {\n _this.props.onFetchSuggestions(token);\n }, _this.onSuggestionSelected = function (tokenStart, token, value) {\n _this._restoreCaret = null;\n _this.props.onSuggestionSelected(tokenStart, token, value);\n }, _this.handleChangeSpoilerText = function (e) {\n _this.props.onChangeSpoilerText(e.target.value);\n }, _this.setAutosuggestTextarea = function (c) {\n _this.autosuggestTextarea = c;\n }, _this.handleEmojiPick = function (data) {\n var position = _this.autosuggestTextarea.textarea.selectionStart;\n var emojiChar = data.native;\n _this._restoreCaret = position + emojiChar.length + 1;\n _this.props.onPickEmoji(position, data);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ComposeForm.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n // If this is the update where we've finished uploading,\n // save the last caret position so we can restore it below!\n if (!nextProps.is_uploading && this.props.is_uploading) {\n this._restoreCaret = this.autosuggestTextarea.textarea.selectionStart;\n }\n };\n\n ComposeForm.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n // This statement does several things:\n // - If we're beginning a reply, and,\n // - Replying to zero or one users, places the cursor at the end of the textbox.\n // - Replying to more than one user, selects any usernames past the first;\n // this provides a convenient shortcut to drop everyone else from the conversation.\n // - If we've just finished uploading an image, and have a saved caret position,\n // restores the cursor to that position after the text changes!\n if (this.props.focusDate !== prevProps.focusDate || prevProps.is_uploading && !this.props.is_uploading && typeof this._restoreCaret === 'number') {\n var selectionEnd = void 0,\n selectionStart = void 0;\n\n if (this.props.preselectDate !== prevProps.preselectDate) {\n selectionEnd = this.props.text.length;\n selectionStart = this.props.text.search(/\\s/) + 1;\n } else if (typeof this._restoreCaret === 'number') {\n selectionStart = this._restoreCaret;\n selectionEnd = this._restoreCaret;\n } else {\n selectionEnd = this.props.text.length;\n selectionStart = selectionEnd;\n }\n\n this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);\n this.autosuggestTextarea.textarea.focus();\n } else if (prevProps.is_submitting && !this.props.is_submitting) {\n this.autosuggestTextarea.textarea.focus();\n }\n };\n\n ComposeForm.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n onPaste = _props.onPaste,\n showSearch = _props.showSearch;\n\n var disabled = this.props.is_submitting;\n var text = [this.props.spoiler_text, countableText(this.props.text)].join('');\n\n var publishText = '';\n\n if (this.props.privacy === 'private' || this.props.privacy === 'direct') {\n publishText = _jsx('span', {\n className: 'compose-form__publish-private'\n }, void 0, _jsx('i', {\n className: 'fa fa-lock'\n }), ' ', intl.formatMessage(messages.publish));\n } else {\n publishText = this.props.privacy !== 'unlisted' ? intl.formatMessage(messages.publishLoud, { publish: intl.formatMessage(messages.publish) }) : intl.formatMessage(messages.publish);\n }\n\n return _jsx('div', {\n className: 'compose-form'\n }, void 0, _jsx(Collapsable, {\n isVisible: this.props.spoiler,\n fullHeight: 50\n }, void 0, _jsx('div', {\n className: 'spoiler-input'\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.spoiler_placeholder)), _jsx('input', {\n placeholder: intl.formatMessage(messages.spoiler_placeholder),\n value: this.props.spoiler_text,\n onChange: this.handleChangeSpoilerText,\n onKeyDown: this.handleKeyDown,\n type: 'text',\n className: 'spoiler-input__input',\n id: 'cw-spoiler-input'\n })))), _jsx(WarningContainer, {}), _jsx(ReplyIndicatorContainer, {}), _jsx('div', {\n className: 'compose-form__autosuggest-wrapper'\n }, void 0, React.createElement(AutosuggestTextarea, {\n ref: this.setAutosuggestTextarea,\n placeholder: intl.formatMessage(messages.placeholder),\n disabled: disabled,\n value: this.props.text,\n onChange: this.handleChange,\n suggestions: this.props.suggestions,\n onKeyDown: this.handleKeyDown,\n onSuggestionsFetchRequested: this.onSuggestionsFetchRequested,\n onSuggestionsClearRequested: this.onSuggestionsClearRequested,\n onSuggestionSelected: this.onSuggestionSelected,\n onPaste: onPaste,\n autoFocus: !showSearch && !isMobile(window.innerWidth)\n }), _jsx(EmojiPickerDropdown, {\n onPickEmoji: this.handleEmojiPick\n })), _jsx('div', {\n className: 'compose-form__modifiers'\n }, void 0, _jsx(UploadFormContainer, {})), _jsx('div', {\n className: 'compose-form__buttons-wrapper'\n }, void 0, _jsx('div', {\n className: 'compose-form__buttons'\n }, void 0, _jsx(UploadButtonContainer, {}), _jsx(PrivacyDropdownContainer, {}), _jsx(SensitiveButtonContainer, {}), _jsx(SpoilerButtonContainer, {})), _jsx('div', {\n className: 'compose-form__publish'\n }, void 0, _jsx('div', {\n className: 'character-counter__wrapper'\n }, void 0, _jsx(CharacterCounter, {\n max: 500,\n text: text\n })), _jsx('div', {\n className: 'compose-form__publish-button-wrapper'\n }, void 0, _jsx(Button, {\n text: publishText,\n onClick: this.handleSubmit,\n disabled: disabled || this.props.is_uploading || length(text) > 500 || text.length !== 0 && text.trim().length === 0,\n block: true\n })))));\n };\n\n return ComposeForm;\n}(ImmutablePureComponent), _class2.propTypes = {\n intl: PropTypes.object.isRequired,\n text: PropTypes.string.isRequired,\n suggestion_token: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n spoiler: PropTypes.bool,\n privacy: PropTypes.string,\n spoiler_text: PropTypes.string,\n focusDate: PropTypes.instanceOf(Date),\n preselectDate: PropTypes.instanceOf(Date),\n is_submitting: PropTypes.bool,\n is_uploading: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onClearSuggestions: PropTypes.func.isRequired,\n onFetchSuggestions: PropTypes.func.isRequired,\n onSuggestionSelected: PropTypes.func.isRequired,\n onChangeSpoilerText: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n onPickEmoji: PropTypes.func.isRequired,\n showSearch: PropTypes.bool\n}, _class2.defaultProps = {\n showSearch: false\n}, _temp2)) || _class;\n\nexport { ComposeForm as default };" + }, + { + "id": 287, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/character_counter.js", + "name": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "index": 459, + "index2": 450, + "size": 1180, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "./character_counter", + "loc": "9:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport { length } from 'stringz';\n\nvar CharacterCounter = function (_React$PureComponent) {\n _inherits(CharacterCounter, _React$PureComponent);\n\n function CharacterCounter() {\n _classCallCheck(this, CharacterCounter);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n CharacterCounter.prototype.checkRemainingText = function checkRemainingText(diff) {\n if (diff < 0) {\n return _jsx('span', {\n className: 'character-counter character-counter--over'\n }, void 0, diff);\n }\n\n return _jsx('span', {\n className: 'character-counter'\n }, void 0, diff);\n };\n\n CharacterCounter.prototype.render = function render() {\n var diff = this.props.max - length(this.props.text);\n return this.checkRemainingText(diff);\n };\n\n return CharacterCounter;\n}(React.PureComponent);\n\nexport { CharacterCounter as default };" + }, + { + "id": 288, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "index": 463, + "index2": 455, + "size": 741, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/reply_indicator_container", + "loc": "13:0-78" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport { cancelReplyCompose } from '../../../actions/compose';\nimport { makeGetStatus } from '../../../selectors';\nimport ReplyIndicator from '../components/reply_indicator';\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state) {\n return {\n status: getStatus(state, state.getIn(['compose', 'in_reply_to']))\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onCancel: function onCancel() {\n dispatch(cancelReplyCompose());\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(ReplyIndicator);" + }, + { + "id": 289, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "name": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "index": 466, + "index2": 454, + "size": 3109, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "issuerId": 288, + "issuerName": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 288, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "type": "harmony import", + "userRequest": "../components/reply_indicator", + "loc": "4:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport DisplayName from '../../../components/display_name';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar messages = defineMessages({\n cancel: {\n 'id': 'reply_indicator.cancel',\n 'defaultMessage': 'Cancel'\n }\n});\n\nvar ReplyIndicator = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(ReplyIndicator, _ImmutablePureCompone);\n\n function ReplyIndicator() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ReplyIndicator);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onCancel();\n }, _this.handleAccountClick = function (e) {\n if (e.button === 0) {\n e.preventDefault();\n _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ReplyIndicator.prototype.render = function render() {\n var _props = this.props,\n status = _props.status,\n intl = _props.intl;\n\n\n if (!status) {\n return null;\n }\n\n var content = { __html: status.get('contentHtml') };\n\n return _jsx('div', {\n className: 'reply-indicator'\n }, void 0, _jsx('div', {\n className: 'reply-indicator__header'\n }, void 0, _jsx('div', {\n className: 'reply-indicator__cancel'\n }, void 0, _jsx(IconButton, {\n title: intl.formatMessage(messages.cancel),\n icon: 'times',\n onClick: this.handleClick\n })), _jsx('a', {\n href: status.getIn(['account', 'url']),\n onClick: this.handleAccountClick,\n className: 'reply-indicator__display-name'\n }, void 0, _jsx('div', {\n className: 'reply-indicator__display-avatar'\n }, void 0, _jsx(Avatar, {\n account: status.get('account'),\n size: 24\n })), _jsx(DisplayName, {\n account: status.get('account')\n }))), _jsx('div', {\n className: 'reply-indicator__content',\n dangerouslySetInnerHTML: content\n }));\n };\n\n return ReplyIndicator;\n}(ImmutablePureComponent), _class2.contextTypes = {\n router: PropTypes.object\n}, _class2.propTypes = {\n status: ImmutablePropTypes.map,\n onCancel: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class;\n\nexport { ReplyIndicator as default };" + }, + { + "id": 290, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "name": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "index": 467, + "index2": 460, + "size": 8192, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../../../components/autosuggest_textarea", + "loc": "14:0-75" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';\nimport AutosuggestEmoji from './autosuggest_emoji';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { isRtl } from '../rtl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Textarea from 'react-textarea-autosize';\nimport classNames from 'classnames';\n\nvar textAtCursorMatchesToken = function textAtCursorMatchesToken(str, caretPosition) {\n var word = void 0;\n\n var left = str.slice(0, caretPosition).search(/\\S+$/);\n var right = str.slice(caretPosition).search(/\\s/);\n\n if (right < 0) {\n word = str.slice(left);\n } else {\n word = str.slice(left, right + caretPosition);\n }\n\n if (!word || word.trim().length < 3 || ['@', ':'].indexOf(word[0]) === -1) {\n return [null, null];\n }\n\n word = word.trim().toLowerCase();\n\n if (word.length > 0) {\n return [left + 1, word];\n } else {\n return [null, null];\n }\n};\n\nvar AutosuggestTextarea = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(AutosuggestTextarea, _ImmutablePureCompone);\n\n function AutosuggestTextarea() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, AutosuggestTextarea);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n suggestionsHidden: false,\n selectedSuggestion: 0,\n lastToken: null,\n tokenStart: 0\n }, _this.onChange = function (e) {\n var _textAtCursorMatchesT = textAtCursorMatchesToken(e.target.value, e.target.selectionStart),\n tokenStart = _textAtCursorMatchesT[0],\n token = _textAtCursorMatchesT[1];\n\n if (token !== null && _this.state.lastToken !== token) {\n _this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart: tokenStart });\n _this.props.onSuggestionsFetchRequested(token);\n } else if (token === null) {\n _this.setState({ lastToken: null });\n _this.props.onSuggestionsClearRequested();\n }\n\n _this.props.onChange(e);\n }, _this.onKeyDown = function (e) {\n var _this$props = _this.props,\n suggestions = _this$props.suggestions,\n disabled = _this$props.disabled;\n var _this$state = _this.state,\n selectedSuggestion = _this$state.selectedSuggestion,\n suggestionsHidden = _this$state.suggestionsHidden;\n\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n switch (e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\n e.preventDefault();\n _this.setState({ suggestionsHidden: true });\n }\n\n break;\n case 'ArrowDown':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n }\n\n break;\n case 'ArrowUp':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n }\n\n break;\n case 'Enter':\n case 'Tab':\n // Select suggestion\n if (_this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n e.stopPropagation();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestions.get(selectedSuggestion));\n }\n\n break;\n }\n\n if (e.defaultPrevented || !_this.props.onKeyDown) {\n return;\n }\n\n _this.props.onKeyDown(e);\n }, _this.onKeyUp = function (e) {\n if (e.key === 'Escape' && _this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (_this.props.onKeyUp) {\n _this.props.onKeyUp(e);\n }\n }, _this.onBlur = function () {\n _this.setState({ suggestionsHidden: true });\n }, _this.onSuggestionClick = function (e) {\n var suggestion = _this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestion);\n _this.textarea.focus();\n }, _this.setTextarea = function (c) {\n _this.textarea = c;\n }, _this.onPaste = function (e) {\n if (e.clipboardData && e.clipboardData.files.length === 1) {\n _this.props.onPaste(e.clipboardData.files);\n e.preventDefault();\n }\n }, _this.renderSuggestion = function (suggestion, i) {\n var selectedSuggestion = _this.state.selectedSuggestion;\n\n var inner = void 0,\n key = void 0;\n\n if ((typeof suggestion === 'undefined' ? 'undefined' : _typeof(suggestion)) === 'object') {\n inner = _jsx(AutosuggestEmoji, {\n emoji: suggestion\n });\n key = suggestion.id;\n } else {\n inner = _jsx(AutosuggestAccountContainer, {\n id: suggestion\n });\n key = suggestion;\n }\n\n return _jsx('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': i,\n className: classNames('autosuggest-textarea__suggestions__item', { selected: i === selectedSuggestion }),\n onMouseDown: _this.onSuggestionClick\n }, key, inner);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n AutosuggestTextarea.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n this.setState({ suggestionsHidden: false });\n }\n };\n\n AutosuggestTextarea.prototype.render = function render() {\n var _props = this.props,\n value = _props.value,\n suggestions = _props.suggestions,\n disabled = _props.disabled,\n placeholder = _props.placeholder,\n autoFocus = _props.autoFocus;\n var suggestionsHidden = this.state.suggestionsHidden;\n\n var style = { direction: 'ltr' };\n\n if (isRtl(value)) {\n style.direction = 'rtl';\n }\n\n return _jsx('div', {\n className: 'autosuggest-textarea'\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, placeholder), _jsx(Textarea, {\n inputRef: this.setTextarea,\n className: 'autosuggest-textarea__textarea',\n disabled: disabled,\n placeholder: placeholder,\n autoFocus: autoFocus,\n value: value,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n onKeyUp: this.onKeyUp,\n onBlur: this.onBlur,\n onPaste: this.onPaste,\n style: style\n })), _jsx('div', {\n className: 'autosuggest-textarea__suggestions ' + (suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible')\n }, void 0, suggestions.map(this.renderSuggestion)));\n };\n\n return AutosuggestTextarea;\n}(ImmutablePureComponent), _class.propTypes = {\n value: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n onSuggestionSelected: PropTypes.func.isRequired,\n onSuggestionsClearRequested: PropTypes.func.isRequired,\n onSuggestionsFetchRequested: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n onPaste: PropTypes.func.isRequired,\n autoFocus: PropTypes.bool\n}, _class.defaultProps = {\n autoFocus: true\n}, _temp2);\nexport { AutosuggestTextarea as default };" + }, + { + "id": 291, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "index": 468, + "index2": 457, + "size": 501, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "issuerId": 290, + "issuerName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "../features/compose/containers/autosuggest_account_container", + "loc": "10:0-103" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport AutosuggestAccount from '../components/autosuggest_account';\nimport { makeGetAccount } from '../../../selectors';\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n account: getAccount(state, id)\n };\n };\n\n return mapStateToProps;\n};\n\nexport default connect(makeMapStateToProps)(AutosuggestAccount);" + }, + { + "id": 292, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "name": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "index": 469, + "index2": 456, + "size": 1407, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "issuerId": 291, + "issuerName": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 291, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "type": "harmony import", + "userRequest": "../components/autosuggest_account", + "loc": "2:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar AutosuggestAccount = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(AutosuggestAccount, _ImmutablePureCompone);\n\n function AutosuggestAccount() {\n _classCallCheck(this, AutosuggestAccount);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n AutosuggestAccount.prototype.render = function render() {\n var account = this.props.account;\n\n\n return _jsx('div', {\n className: 'autosuggest-account'\n }, void 0, _jsx('div', {\n className: 'autosuggest-account-icon'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 18\n })), _jsx(DisplayName, {\n account: account\n }));\n };\n\n return AutosuggestAccount;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map.isRequired\n}, _temp);\nexport { AutosuggestAccount as default };" + }, + { + "id": 293, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_emoji.js", + "name": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "index": 470, + "index2": 458, + "size": 1399, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "issuerId": 290, + "issuerName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "./autosuggest_emoji", + "loc": "11:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport unicodeMapping from '../features/emoji/emoji_unicode_mapping_light';\n\nvar assetHost = process.env.CDN_HOST || '';\n\nvar AutosuggestEmoji = function (_React$PureComponent) {\n _inherits(AutosuggestEmoji, _React$PureComponent);\n\n function AutosuggestEmoji() {\n _classCallCheck(this, AutosuggestEmoji);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n AutosuggestEmoji.prototype.render = function render() {\n var emoji = this.props.emoji;\n\n var url = void 0;\n\n if (emoji.custom) {\n url = emoji.imageUrl;\n } else {\n var mapping = unicodeMapping[emoji.native] || unicodeMapping[emoji.native.replace(/\\uFE0F$/, '')];\n\n if (!mapping) {\n return null;\n }\n\n url = assetHost + '/emoji/' + mapping.filename + '.svg';\n }\n\n return _jsx('div', {\n className: 'autosuggest-emoji'\n }, void 0, _jsx('img', {\n className: 'emojione',\n src: url,\n alt: emoji.native || emoji.colons\n }), emoji.colons);\n };\n\n return AutosuggestEmoji;\n}(React.PureComponent);\n\nexport { AutosuggestEmoji as default };" + }, + { + "id": 294, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-textarea-autosize/es/index.js", + "name": "./node_modules/react-textarea-autosize/es/index.js", + "index": 471, + "index2": 459, + "size": 11171, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "issuerId": 290, + "issuerName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "react-textarea-autosize", + "loc": "16:0-47" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import React from 'react';\nimport PropTypes from 'prop-types';\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n if (nodeStyling === null) {\n return null;\n }\n\n var paddingSize = nodeStyling.paddingSize,\n borderSize = nodeStyling.borderSize,\n boxSizing = nodeStyling.boxSizing,\n sizingStyle = nodeStyling.sizingStyle;\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n Object.keys(sizingStyle).forEach(function (key) {\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n\n var minHeight = -Infinity;\n var maxHeight = Infinity;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n }\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null || maxRows !== null) {\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (useCache && computedStyleCache[uid]) {\n return computedStyleCache[uid];\n }\n\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n obj[name] = style.getPropertyValue(name);\n return obj;\n }, {});\n\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache) {\n computedStyleCache[uid] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n return delete computedStyleCache[uid];\n};\n\nfunction autoInc() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * \n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this._resizeLock = false;\n\n _this._onRootDOMNode = function (node) {\n _this._rootDOMNode = node;\n\n if (_this.props.inputRef) {\n _this.props.inputRef(node);\n }\n };\n\n _this._onChange = function (event) {\n if (!_this._controlled) {\n _this._resizeComponent();\n }\n _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (typeof _this._rootDOMNode === 'undefined') {\n callback();\n return;\n }\n\n var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n if (nodeHeight === null) {\n callback();\n return;\n }\n\n var height = nodeHeight.height,\n minHeight = nodeHeight.minHeight,\n maxHeight = nodeHeight.maxHeight,\n rowCount = nodeHeight.rowCount;\n\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\n return;\n }\n\n callback();\n };\n\n _this.state = {\n height: props.style && props.style.height || 0,\n minHeight: -Infinity,\n maxHeight: Infinity\n };\n\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.render = function render() {\n var _props = this.props,\n _minRows = _props.minRows,\n _maxRows = _props.maxRows,\n _onHeightChange = _props.onHeightChange,\n _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n _inputRef = _props.inputRef,\n props = objectWithoutProperties(_props, ['minRows', 'maxRows', 'onHeightChange', 'useCacheForDOMMeasurements', 'inputRef']);\n\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\n\n var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n if (maxHeight < this.state.height) {\n props.style.overflow = 'hidden';\n }\n\n return React.createElement('textarea', _extends({}, props, {\n onChange: this._onChange,\n ref: this._onRootDOMNode\n }));\n };\n\n TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n // causing competing rerenders (due to setState in the listener) in React.\n // More can be found here - facebook/react#6324\n this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._clearNextFrame = function _clearNextFrame() {\n clearNextFrameAction(this._onNextFrameActionId);\n };\n\n return TextareaAutosize;\n}(React.Component);\n\nTextareaAutosize.defaultProps = {\n onChange: noop,\n onHeightChange: noop,\n useCacheForDOMMeasurements: false\n};\n\nexport default TextareaAutosize;" + }, + { + "id": 295, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "index": 472, + "index2": 462, + "size": 771, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_button_container", + "loc": "15:0-74" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport UploadButton from '../components/upload_button';\nimport { uploadCompose } from '../../../actions/compose';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n disabled: state.getIn(['compose', 'is_uploading']) || state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(function (m) {\n return m.get('type') === 'video';\n }),\n resetFileKey: state.getIn(['compose', 'resetFileKey'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onSelectFile: function onSelectFile(files) {\n dispatch(uploadCompose(files));\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadButton);" + }, + { + "id": 296, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "name": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "index": 473, + "index2": 461, + "size": 3411, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "issuerId": 295, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 295, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "type": "harmony import", + "userRequest": "../components/upload_button", + "loc": "2:0-55" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport IconButton from '../../../components/icon_button';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\n\nvar messages = defineMessages({\n upload: {\n 'id': 'upload_button.label',\n 'defaultMessage': 'Add media'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var mapStateToProps = function mapStateToProps(state) {\n return {\n acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar iconStyle = {\n height: null,\n lineHeight: '27px'\n};\n\nvar UploadButton = (_dec = connect(makeMapStateToProps), _dec(_class = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(UploadButton, _ImmutablePureCompone);\n\n function UploadButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, UploadButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n if (e.target.files.length > 0) {\n _this.props.onSelectFile(e.target.files);\n }\n }, _this.handleClick = function () {\n _this.fileElement.click();\n }, _this.setRef = function (c) {\n _this.fileElement = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n UploadButton.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n resetFileKey = _props.resetFileKey,\n disabled = _props.disabled,\n acceptContentTypes = _props.acceptContentTypes;\n\n\n return _jsx('div', {\n className: 'compose-form__upload-button'\n }, void 0, _jsx(IconButton, {\n icon: 'camera',\n title: intl.formatMessage(messages.upload),\n disabled: disabled,\n onClick: this.handleClick,\n className: 'compose-form__upload-button-icon',\n size: 18,\n inverted: true,\n style: iconStyle\n }), _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.upload)), React.createElement('input', {\n key: resetFileKey,\n ref: this.setRef,\n type: 'file',\n multiple: false,\n accept: acceptContentTypes.toArray().join(','),\n onChange: this.handleChange,\n disabled: disabled,\n style: { display: 'none' }\n })));\n };\n\n return UploadButton;\n}(ImmutablePureComponent), _class2.propTypes = {\n disabled: PropTypes.bool,\n onSelectFile: PropTypes.func.isRequired,\n style: PropTypes.object,\n resetFileKey: PropTypes.number,\n acceptContentTypes: ImmutablePropTypes.listOf(PropTypes.string).isRequired,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class) || _class);\nexport { UploadButton as default };" + }, + { + "id": 297, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/collapsable.js", + "name": "./app/javascript/mastodon/components/collapsable.js", + "index": 474, + "index2": 463, + "size": 861, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../../../components/collapsable", + "loc": "17:0-58" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport Motion from '../features/ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\n\nvar Collapsable = function Collapsable(_ref) {\n var fullHeight = _ref.fullHeight,\n isVisible = _ref.isVisible,\n children = _ref.children;\n return _jsx(Motion, {\n defaultStyle: { opacity: !isVisible ? 0 : 100, height: isVisible ? fullHeight : 0 },\n style: { opacity: spring(!isVisible ? 0 : 100), height: spring(!isVisible ? 0 : fullHeight) }\n }, void 0, function (_ref2) {\n var opacity = _ref2.opacity,\n height = _ref2.height;\n return _jsx('div', {\n style: { height: height + 'px', overflow: 'hidden', opacity: opacity / 100, display: Math.floor(opacity) === 0 ? 'none' : 'block' }\n }, void 0, children);\n });\n};\n\nexport default Collapsable;" + }, + { + "id": 298, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "index": 475, + "index2": 465, + "size": 875, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/spoiler_button_container", + "loc": "18:0-76" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport TextIconButton from '../components/text_icon_button';\nimport { changeComposeSpoilerness } from '../../../actions/compose';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nvar messages = defineMessages({\n title: {\n 'id': 'compose_form.spoiler',\n 'defaultMessage': 'Hide text behind warning'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var intl = _ref.intl;\n return {\n label: 'CW',\n title: intl.formatMessage(messages.title),\n active: state.getIn(['compose', 'spoiler']),\n ariaControls: 'cw-spoiler-input'\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(changeComposeSpoilerness());\n }\n };\n};\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(TextIconButton));" + }, + { + "id": 299, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/text_icon_button.js", + "name": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "index": 476, + "index2": 464, + "size": 1516, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "issuerId": 298, + "issuerName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 298, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "type": "harmony import", + "userRequest": "../components/text_icon_button", + "loc": "2:0-60" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar TextIconButton = function (_React$PureComponent) {\n _inherits(TextIconButton, _React$PureComponent);\n\n function TextIconButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, TextIconButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n e.preventDefault();\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n TextIconButton.prototype.render = function render() {\n var _props = this.props,\n label = _props.label,\n title = _props.title,\n active = _props.active,\n ariaControls = _props.ariaControls;\n\n\n return _jsx('button', {\n title: title,\n 'aria-label': title,\n className: 'text-icon-button ' + (active ? 'active' : ''),\n 'aria-expanded': active,\n onClick: this.handleClick,\n 'aria-controls': ariaControls\n }, void 0, label);\n };\n\n return TextIconButton;\n}(React.PureComponent);\n\nexport { TextIconButton as default };" + }, + { + "id": 300, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "index": 477, + "index2": 467, + "size": 961, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/privacy_dropdown_container", + "loc": "19:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport PrivacyDropdown from '../components/privacy_dropdown';\nimport { changeComposeVisibility } from '../../../actions/compose';\nimport { openModal, closeModal } from '../../../actions/modal';\nimport { isUserTouching } from '../../../is_mobile';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n isModalOpen: state.get('modal').modalType === 'ACTIONS',\n value: state.getIn(['compose', 'privacy'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(changeComposeVisibility(value));\n },\n\n\n isUserTouching: isUserTouching,\n onModalOpen: function onModalOpen(props) {\n return dispatch(openModal('ACTIONS', props));\n },\n onModalClose: function onModalClose() {\n return dispatch(closeModal());\n }\n\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PrivacyDropdown);" + }, + { + "id": 301, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "name": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "index": 478, + "index2": 466, + "size": 8605, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "issuerId": 300, + "issuerName": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 300, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "type": "harmony import", + "userRequest": "../components/privacy_dropdown", + "loc": "2:0-61" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class2;\n\nimport React from 'react';\n\nimport { injectIntl, defineMessages } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport detectPassiveEvents from 'detect-passive-events';\nimport classNames from 'classnames';\n\nvar messages = defineMessages({\n public_short: {\n 'id': 'privacy.public.short',\n 'defaultMessage': 'Public'\n },\n public_long: {\n 'id': 'privacy.public.long',\n 'defaultMessage': 'Post to public timelines'\n },\n unlisted_short: {\n 'id': 'privacy.unlisted.short',\n 'defaultMessage': 'Unlisted'\n },\n unlisted_long: {\n 'id': 'privacy.unlisted.long',\n 'defaultMessage': 'Do not show in public timelines'\n },\n private_short: {\n 'id': 'privacy.private.short',\n 'defaultMessage': 'Followers-only'\n },\n private_long: {\n 'id': 'privacy.private.long',\n 'defaultMessage': 'Post to followers only'\n },\n direct_short: {\n 'id': 'privacy.direct.short',\n 'defaultMessage': 'Direct'\n },\n direct_long: {\n 'id': 'privacy.direct.long',\n 'defaultMessage': 'Post to mentioned users only'\n },\n change_privacy: {\n 'id': 'privacy.change',\n 'defaultMessage': 'Adjust status privacy'\n }\n});\n\nvar listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nvar PrivacyDropdownMenu = function (_React$PureComponent) {\n _inherits(PrivacyDropdownMenu, _React$PureComponent);\n\n function PrivacyDropdownMenu() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, PrivacyDropdownMenu);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.handleClick = function (e) {\n if (e.key === 'Escape') {\n _this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\n var value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n _this.props.onClose();\n _this.props.onChange(value);\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n PrivacyDropdownMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n style = _props.style,\n items = _props.items,\n value = _props.value;\n\n\n return _jsx(Motion, {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return React.createElement(\n 'div',\n { className: 'privacy-dropdown__dropdown', style: Object.assign({}, style, { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }), ref: _this2.setRef },\n items.map(function (item) {\n return _jsx('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': item.value,\n onKeyDown: _this2.handleClick,\n onClick: _this2.handleClick,\n className: classNames('privacy-dropdown__option', { active: item.value === value })\n }, item.value, _jsx('div', {\n className: 'privacy-dropdown__option__icon'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-' + item.icon\n })), _jsx('div', {\n className: 'privacy-dropdown__option__content'\n }, void 0, _jsx('strong', {}, void 0, item.text), item.meta));\n })\n );\n });\n };\n\n return PrivacyDropdownMenu;\n}(React.PureComponent);\n\nvar PrivacyDropdown = injectIntl(_class2 = function (_React$PureComponent2) {\n _inherits(PrivacyDropdown, _React$PureComponent2);\n\n function PrivacyDropdown() {\n var _temp2, _this3, _ret2;\n\n _classCallCheck(this, PrivacyDropdown);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this3 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this3), _this3.state = {\n open: false\n }, _this3.handleToggle = function () {\n if (_this3.props.isUserTouching()) {\n if (_this3.state.open) {\n _this3.props.onModalClose();\n } else {\n _this3.props.onModalOpen({\n actions: _this3.options.map(function (option) {\n return Object.assign({}, option, { active: option.value === _this3.props.value });\n }),\n onClick: _this3.handleModalActionClick\n });\n }\n } else {\n _this3.setState({ open: !_this3.state.open });\n }\n }, _this3.handleModalActionClick = function (e) {\n e.preventDefault();\n\n var value = _this3.options[e.currentTarget.getAttribute('data-index')].value;\n\n _this3.props.onModalClose();\n _this3.props.onChange(value);\n }, _this3.handleKeyDown = function (e) {\n switch (e.key) {\n case 'Enter':\n _this3.handleToggle();\n break;\n case 'Escape':\n _this3.handleClose();\n break;\n }\n }, _this3.handleClose = function () {\n _this3.setState({ open: false });\n }, _this3.handleChange = function (value) {\n _this3.props.onChange(value);\n }, _temp2), _possibleConstructorReturn(_this3, _ret2);\n }\n\n PrivacyDropdown.prototype.componentWillMount = function componentWillMount() {\n var formatMessage = this.props.intl.formatMessage;\n\n\n this.options = [{ icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) }, { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) }, { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) }, { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) }];\n };\n\n PrivacyDropdown.prototype.render = function render() {\n var _props2 = this.props,\n value = _props2.value,\n intl = _props2.intl;\n var open = this.state.open;\n\n\n var valueOption = this.options.find(function (item) {\n return item.value === value;\n });\n\n return _jsx('div', {\n className: classNames('privacy-dropdown', { active: open }),\n onKeyDown: this.handleKeyDown\n }, void 0, _jsx('div', {\n className: classNames('privacy-dropdown__value', { active: this.options.indexOf(valueOption) === 0 })\n }, void 0, _jsx(IconButton, {\n className: 'privacy-dropdown__value-icon',\n icon: valueOption.icon,\n title: intl.formatMessage(messages.change_privacy),\n size: 18,\n expanded: open,\n active: open,\n inverted: true,\n onClick: this.handleToggle,\n style: { height: null, lineHeight: '27px' }\n })), _jsx(Overlay, {\n show: open,\n placement: 'bottom',\n target: this\n }, void 0, _jsx(PrivacyDropdownMenu, {\n items: this.options,\n value: value,\n onClose: this.handleClose,\n onChange: this.handleChange\n })));\n };\n\n return PrivacyDropdown;\n}(React.PureComponent)) || _class2;\n\nexport { PrivacyDropdown as default };" + }, + { + "id": 302, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "index": 479, + "index2": 468, + "size": 2736, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/sensitive_button_container", + "loc": "20:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport classNames from 'classnames';\nimport IconButton from '../../../components/icon_button';\nimport { changeComposeSensitivity } from '../../../actions/compose';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nvar messages = defineMessages({\n title: {\n 'id': 'compose_form.sensitive',\n 'defaultMessage': 'Mark media as sensitive'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n visible: state.getIn(['compose', 'media_attachments']).size > 0,\n active: state.getIn(['compose', 'sensitive']),\n disabled: state.getIn(['compose', 'spoiler'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(changeComposeSensitivity());\n }\n };\n};\n\nvar SensitiveButton = function (_React$PureComponent) {\n _inherits(SensitiveButton, _React$PureComponent);\n\n function SensitiveButton() {\n _classCallCheck(this, SensitiveButton);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n SensitiveButton.prototype.render = function render() {\n var _props = this.props,\n visible = _props.visible,\n active = _props.active,\n disabled = _props.disabled,\n onClick = _props.onClick,\n intl = _props.intl;\n\n\n return _jsx(Motion, {\n defaultStyle: { scale: 0.87 },\n style: { scale: spring(visible ? 1 : 0.87, { stiffness: 200, damping: 3 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n\n var icon = active ? 'eye-slash' : 'eye';\n var className = classNames('compose-form__sensitive-button', {\n 'compose-form__sensitive-button--visible': visible\n });\n return _jsx('div', {\n className: className,\n style: { transform: 'scale(' + scale + ')' }\n }, void 0, _jsx(IconButton, {\n className: 'compose-form__sensitive-button__icon',\n title: intl.formatMessage(messages.title),\n icon: icon,\n onClick: onClick,\n size: 18,\n active: active,\n disabled: disabled,\n style: { lineHeight: null, height: null },\n inverted: true\n }));\n });\n };\n\n return SensitiveButton;\n}(React.PureComponent);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(injectIntl(SensitiveButton));" + }, + { + "id": 303, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "index": 480, + "index2": 470, + "size": 2227, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/emoji_picker_dropdown_container", + "loc": "21:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport EmojiPickerDropdown from '../components/emoji_picker_dropdown';\nimport { changeSetting } from '../../../actions/settings';\nimport { createSelector } from 'reselect';\nimport { Map as ImmutableMap } from 'immutable';\nimport { useEmoji } from '../../../actions/emojis';\n\nvar perLine = 8;\nvar lines = 2;\n\nvar DEFAULTS = ['+1', 'grinning', 'kissing_heart', 'heart_eyes', 'laughing', 'stuck_out_tongue_winking_eye', 'sweat_smile', 'joy', 'yum', 'disappointed', 'thinking_face', 'weary', 'sob', 'sunglasses', 'heart', 'ok_hand'];\n\nvar getFrequentlyUsedEmojis = createSelector([function (state) {\n return state.getIn(['settings', 'frequentlyUsedEmojis'], ImmutableMap());\n}], function (emojiCounters) {\n var emojis = emojiCounters.keySeq().sort(function (a, b) {\n return emojiCounters.get(a) - emojiCounters.get(b);\n }).reverse().slice(0, perLine * lines).toArray();\n\n if (emojis.length < DEFAULTS.length) {\n emojis = emojis.concat(DEFAULTS.slice(0, DEFAULTS.length - emojis.length));\n }\n\n return emojis;\n});\n\nvar getCustomEmojis = createSelector([function (state) {\n return state.get('custom_emojis');\n}], function (emojis) {\n return emojis.filter(function (e) {\n return e.get('visible_in_picker');\n }).sort(function (a, b) {\n var aShort = a.get('shortcode').toLowerCase();\n var bShort = b.get('shortcode').toLowerCase();\n\n if (aShort < bShort) {\n return -1;\n } else if (aShort > bShort) {\n return 1;\n } else {\n return 0;\n }\n });\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n custom_emojis: getCustomEmojis(state),\n skinTone: state.getIn(['settings', 'skinTone']),\n frequentlyUsedEmojis: getFrequentlyUsedEmojis(state)\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var _onPickEmoji = _ref.onPickEmoji;\n return {\n onSkinTone: function onSkinTone(skinTone) {\n dispatch(changeSetting(['skinTone'], skinTone));\n },\n\n onPickEmoji: function onPickEmoji(emoji) {\n dispatch(useEmoji(emoji));\n\n if (_onPickEmoji) {\n _onPickEmoji(emoji);\n }\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EmojiPickerDropdown);" + }, + { + "id": 304, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "name": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "index": 481, + "index2": 469, + "size": 15197, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "issuerId": 303, + "issuerName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 303, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "type": "harmony import", + "userRequest": "../components/emoji_picker_dropdown", + "loc": "2:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class3, _class4, _temp4, _class5;\n\nimport React from 'react';\n\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport classNames from 'classnames';\n\nimport detectPassiveEvents from 'detect-passive-events';\nimport { buildCustomEmojis } from '../../emoji/emoji';\n\nvar messages = defineMessages({\n emoji: {\n 'id': 'emoji_button.label',\n 'defaultMessage': 'Insert emoji'\n },\n emoji_search: {\n 'id': 'emoji_button.search',\n 'defaultMessage': 'Search...'\n },\n emoji_not_found: {\n 'id': 'emoji_button.not_found',\n 'defaultMessage': 'No emojos!! (\\u256F\\xB0\\u25A1\\xB0\\uFF09\\u256F\\uFE35 \\u253B\\u2501\\u253B'\n },\n custom: {\n 'id': 'emoji_button.custom',\n 'defaultMessage': 'Custom'\n },\n recent: {\n 'id': 'emoji_button.recent',\n 'defaultMessage': 'Frequently used'\n },\n search_results: {\n 'id': 'emoji_button.search_results',\n 'defaultMessage': 'Search results'\n },\n people: {\n 'id': 'emoji_button.people',\n 'defaultMessage': 'People'\n },\n nature: {\n 'id': 'emoji_button.nature',\n 'defaultMessage': 'Nature'\n },\n food: {\n 'id': 'emoji_button.food',\n 'defaultMessage': 'Food & Drink'\n },\n activity: {\n 'id': 'emoji_button.activity',\n 'defaultMessage': 'Activity'\n },\n travel: {\n 'id': 'emoji_button.travel',\n 'defaultMessage': 'Travel & Places'\n },\n objects: {\n 'id': 'emoji_button.objects',\n 'defaultMessage': 'Objects'\n },\n symbols: {\n 'id': 'emoji_button.symbols',\n 'defaultMessage': 'Symbols'\n },\n flags: {\n 'id': 'emoji_button.flags',\n 'defaultMessage': 'Flags'\n }\n});\n\nvar assetHost = process.env.CDN_HOST || '';\nvar EmojiPicker = void 0,\n Emoji = void 0; // load asynchronously\n\nvar backgroundImageFn = function backgroundImageFn() {\n return assetHost + '/emoji/sheet.png';\n};\nvar listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nvar categoriesSort = ['recent', 'custom', 'people', 'nature', 'foods', 'activity', 'places', 'objects', 'symbols', 'flags'];\n\nvar ModifierPickerMenu = function (_React$PureComponent) {\n _inherits(ModifierPickerMenu, _React$PureComponent);\n\n function ModifierPickerMenu() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ModifierPickerMenu);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n _this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n }, _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ModifierPickerMenu.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.active) {\n this.attachListeners();\n } else {\n this.removeListeners();\n }\n };\n\n ModifierPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n this.removeListeners();\n };\n\n ModifierPickerMenu.prototype.attachListeners = function attachListeners() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.removeListeners = function removeListeners() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.render = function render() {\n var active = this.props.active;\n\n\n return React.createElement(\n 'div',\n { className: 'emoji-picker-dropdown__modifiers__menu', style: { display: active ? 'block' : 'none' }, ref: this.setRef },\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 1\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 1,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 2\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 2,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 3\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 3,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 4\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 4,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 5\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 5,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 6\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 6,\n backgroundImageFn: backgroundImageFn\n }))\n );\n };\n\n return ModifierPickerMenu;\n}(React.PureComponent);\n\nvar ModifierPicker = function (_React$PureComponent2) {\n _inherits(ModifierPicker, _React$PureComponent2);\n\n function ModifierPicker() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, ModifierPicker);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.handleClick = function () {\n if (_this2.props.active) {\n _this2.props.onClose();\n } else {\n _this2.props.onOpen();\n }\n }, _this2.handleSelect = function (modifier) {\n _this2.props.onChange(modifier);\n _this2.props.onClose();\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n ModifierPicker.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n modifier = _props.modifier;\n\n\n return _jsx('div', {\n className: 'emoji-picker-dropdown__modifiers'\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: modifier,\n onClick: this.handleClick,\n backgroundImageFn: backgroundImageFn\n }), _jsx(ModifierPickerMenu, {\n active: active,\n onSelect: this.handleSelect,\n onClose: this.props.onClose\n }));\n };\n\n return ModifierPicker;\n}(React.PureComponent);\n\nvar EmojiPickerMenu = injectIntl(_class3 = (_temp4 = _class4 = function (_React$PureComponent3) {\n _inherits(EmojiPickerMenu, _React$PureComponent3);\n\n function EmojiPickerMenu() {\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, EmojiPickerMenu);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, _React$PureComponent3.call.apply(_React$PureComponent3, [this].concat(args))), _this3), _this3.state = {\n modifierOpen: false\n }, _this3.handleDocumentClick = function (e) {\n if (_this3.node && !_this3.node.contains(e.target)) {\n _this3.props.onClose();\n }\n }, _this3.setRef = function (c) {\n _this3.node = c;\n }, _this3.getI18n = function () {\n var intl = _this3.props.intl;\n\n\n return {\n search: intl.formatMessage(messages.emoji_search),\n notfound: intl.formatMessage(messages.emoji_not_found),\n categories: {\n search: intl.formatMessage(messages.search_results),\n recent: intl.formatMessage(messages.recent),\n people: intl.formatMessage(messages.people),\n nature: intl.formatMessage(messages.nature),\n foods: intl.formatMessage(messages.food),\n activity: intl.formatMessage(messages.activity),\n places: intl.formatMessage(messages.travel),\n objects: intl.formatMessage(messages.objects),\n symbols: intl.formatMessage(messages.symbols),\n flags: intl.formatMessage(messages.flags),\n custom: intl.formatMessage(messages.custom)\n }\n };\n }, _this3.handleClick = function (emoji) {\n if (!emoji.native) {\n emoji.native = emoji.colons;\n }\n\n _this3.props.onClose();\n _this3.props.onPick(emoji);\n }, _this3.handleModifierOpen = function () {\n _this3.setState({ modifierOpen: true });\n }, _this3.handleModifierClose = function () {\n _this3.setState({ modifierOpen: false });\n }, _this3.handleModifierChange = function (modifier) {\n _this3.props.onSkinTone(modifier);\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n EmojiPickerMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.render = function render() {\n var _props2 = this.props,\n loading = _props2.loading,\n style = _props2.style,\n intl = _props2.intl,\n custom_emojis = _props2.custom_emojis,\n skinTone = _props2.skinTone,\n frequentlyUsedEmojis = _props2.frequentlyUsedEmojis;\n\n\n if (loading) {\n return _jsx('div', {\n style: { width: 299 }\n });\n }\n\n var title = intl.formatMessage(messages.emoji);\n var modifierOpen = this.state.modifierOpen;\n\n\n return React.createElement(\n 'div',\n { className: classNames('emoji-picker-dropdown__menu', { selecting: modifierOpen }), style: style, ref: this.setRef },\n _jsx(EmojiPicker, {\n perLine: 8,\n emojiSize: 22,\n sheetSize: 32,\n custom: buildCustomEmojis(custom_emojis),\n color: '',\n emoji: '',\n set: 'twitter',\n title: title,\n i18n: this.getI18n(),\n onClick: this.handleClick,\n include: categoriesSort,\n recent: frequentlyUsedEmojis,\n skin: skinTone,\n showPreview: false,\n backgroundImageFn: backgroundImageFn,\n emojiTooltip: true\n }),\n _jsx(ModifierPicker, {\n active: modifierOpen,\n modifier: skinTone,\n onOpen: this.handleModifierOpen,\n onClose: this.handleModifierClose,\n onChange: this.handleModifierChange\n })\n );\n };\n\n return EmojiPickerMenu;\n}(React.PureComponent), _class4.defaultProps = {\n style: {},\n loading: true,\n placement: 'bottom',\n frequentlyUsedEmojis: []\n}, _temp4)) || _class3;\n\nvar EmojiPickerDropdown = injectIntl(_class5 = function (_React$PureComponent4) {\n _inherits(EmojiPickerDropdown, _React$PureComponent4);\n\n function EmojiPickerDropdown() {\n var _temp5, _this4, _ret4;\n\n _classCallCheck(this, EmojiPickerDropdown);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp5 = (_this4 = _possibleConstructorReturn(this, _React$PureComponent4.call.apply(_React$PureComponent4, [this].concat(args))), _this4), _this4.state = {\n active: false,\n loading: false\n }, _this4.setRef = function (c) {\n _this4.dropdown = c;\n }, _this4.onShowDropdown = function () {\n _this4.setState({ active: true });\n\n if (!EmojiPicker) {\n _this4.setState({ loading: true });\n\n EmojiPickerAsync().then(function (EmojiMart) {\n EmojiPicker = EmojiMart.Picker;\n Emoji = EmojiMart.Emoji;\n\n _this4.setState({ loading: false });\n }).catch(function () {\n _this4.setState({ loading: false });\n });\n }\n }, _this4.onHideDropdown = function () {\n _this4.setState({ active: false });\n }, _this4.onToggle = function (e) {\n if (!_this4.state.loading && (!e.key || e.key === 'Enter')) {\n if (_this4.state.active) {\n _this4.onHideDropdown();\n } else {\n _this4.onShowDropdown();\n }\n }\n }, _this4.handleKeyDown = function (e) {\n if (e.key === 'Escape') {\n _this4.onHideDropdown();\n }\n }, _this4.setTargetRef = function (c) {\n _this4.target = c;\n }, _this4.findTarget = function () {\n return _this4.target;\n }, _temp5), _possibleConstructorReturn(_this4, _ret4);\n }\n\n EmojiPickerDropdown.prototype.render = function render() {\n var _props3 = this.props,\n intl = _props3.intl,\n onPickEmoji = _props3.onPickEmoji,\n onSkinTone = _props3.onSkinTone,\n skinTone = _props3.skinTone,\n frequentlyUsedEmojis = _props3.frequentlyUsedEmojis;\n\n var title = intl.formatMessage(messages.emoji);\n var _state = this.state,\n active = _state.active,\n loading = _state.loading;\n\n\n return _jsx('div', {\n className: 'emoji-picker-dropdown',\n onKeyDown: this.handleKeyDown\n }, void 0, React.createElement(\n 'div',\n { ref: this.setTargetRef, className: 'emoji-button', title: title, 'aria-label': title, 'aria-expanded': active, role: 'button', onClick: this.onToggle, onKeyDown: this.onToggle, tabIndex: 0 },\n _jsx('img', {\n className: classNames('emojione', { 'pulse-loading': active && loading }),\n alt: '\\uD83D\\uDE42',\n src: assetHost + '/emoji/1f602.svg'\n })\n ), _jsx(Overlay, {\n show: active,\n placement: 'bottom',\n target: this.findTarget\n }, void 0, _jsx(EmojiPickerMenu, {\n custom_emojis: this.props.custom_emojis,\n loading: loading,\n onClose: this.onHideDropdown,\n onPick: onPickEmoji,\n onSkinTone: onSkinTone,\n skinTone: skinTone,\n frequentlyUsedEmojis: frequentlyUsedEmojis\n })));\n };\n\n return EmojiPickerDropdown;\n}(React.PureComponent)) || _class5;\n\nexport { EmojiPickerDropdown as default };" + }, + { + "id": 305, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "index": 482, + "index2": 476, + "size": 338, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_form_container", + "loc": "22:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport UploadForm from '../components/upload_form';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n mediaIds: state.getIn(['compose', 'media_attachments']).map(function (item) {\n return item.get('id');\n })\n };\n};\n\nexport default connect(mapStateToProps)(UploadForm);" + }, + { + "id": 306, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "name": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "index": 483, + "index2": 475, + "size": 1426, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "issuerId": 305, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 305, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "type": "harmony import", + "userRequest": "../components/upload_form", + "loc": "2:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport UploadProgressContainer from '../containers/upload_progress_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport UploadContainer from '../containers/upload_container';\n\nvar UploadForm = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(UploadForm, _ImmutablePureCompone);\n\n function UploadForm() {\n _classCallCheck(this, UploadForm);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n UploadForm.prototype.render = function render() {\n var mediaIds = this.props.mediaIds;\n\n\n return _jsx('div', {\n className: 'compose-form__upload-wrapper'\n }, void 0, _jsx(UploadProgressContainer, {}), _jsx('div', {\n className: 'compose-form__uploads-wrapper'\n }, void 0, mediaIds.map(function (id) {\n return _jsx(UploadContainer, {\n id: id\n }, id);\n })));\n };\n\n return UploadForm;\n}(ImmutablePureComponent), _class.propTypes = {\n mediaIds: ImmutablePropTypes.list.isRequired\n}, _temp);\nexport { UploadForm as default };" + }, + { + "id": 307, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "index": 484, + "index2": 472, + "size": 337, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "issuerId": 306, + "issuerName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_progress_container", + "loc": "10:0-78" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import { connect } from 'react-redux';\nimport UploadProgress from '../components/upload_progress';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n active: state.getIn(['compose', 'is_uploading']),\n progress: state.getIn(['compose', 'progress'])\n };\n};\n\nexport default connect(mapStateToProps)(UploadProgress);" + }, + { + "id": 308, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "name": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "index": 485, + "index2": 471, + "size": 1739, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "issuerId": 307, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 307, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "type": "harmony import", + "userRequest": "../components/upload_progress", + "loc": "2:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { FormattedMessage } from 'react-intl';\n\nvar UploadProgress = function (_React$PureComponent) {\n _inherits(UploadProgress, _React$PureComponent);\n\n function UploadProgress() {\n _classCallCheck(this, UploadProgress);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n UploadProgress.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n progress = _props.progress;\n\n\n if (!active) {\n return null;\n }\n\n return _jsx('div', {\n className: 'upload-progress'\n }, void 0, _jsx('div', {\n className: 'upload-progress__icon'\n }, void 0, _jsx('i', {\n className: 'fa fa-upload'\n })), _jsx('div', {\n className: 'upload-progress__message'\n }, void 0, _jsx(FormattedMessage, {\n id: 'upload_progress.label',\n defaultMessage: 'Uploading...'\n }), _jsx('div', {\n className: 'upload-progress__backdrop'\n }, void 0, _jsx(Motion, {\n defaultStyle: { width: 0 },\n style: { width: spring(progress) }\n }, void 0, function (_ref) {\n var width = _ref.width;\n return _jsx('div', {\n className: 'upload-progress__tracker',\n style: { width: width + '%' }\n });\n }))));\n };\n\n return UploadProgress;\n}(React.PureComponent);\n\nexport { UploadProgress as default };" + }, + { + "id": 309, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "index": 486, + "index2": 474, + "size": 760, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "issuerId": 306, + "issuerName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_container", + "loc": "12:0-61" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import { connect } from 'react-redux';\nimport Upload from '../components/upload';\nimport { undoUploadCompose, changeUploadCompose } from '../../../actions/compose';\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n media: state.getIn(['compose', 'media_attachments']).find(function (item) {\n return item.get('id') === id;\n })\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n\n onUndo: function onUndo(id) {\n dispatch(undoUploadCompose(id));\n },\n\n onDescriptionChange: function onDescriptionChange(id, description) {\n dispatch(changeUploadCompose(id, description));\n }\n\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Upload);" + }, + { + "id": 310, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "name": "./app/javascript/mastodon/features/compose/components/upload.js", + "index": 487, + "index2": 473, + "size": 4265, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "issuerId": 309, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 309, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "type": "harmony import", + "userRequest": "../components/upload", + "loc": "2:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport classNames from 'classnames';\n\nvar messages = defineMessages({\n undo: {\n 'id': 'upload_form.undo',\n 'defaultMessage': 'Undo'\n },\n description: {\n 'id': 'upload_form.description',\n 'defaultMessage': 'Describe for the visually impaired'\n }\n});\n\nvar Upload = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Upload, _ImmutablePureCompone);\n\n function Upload() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Upload);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n hovered: false,\n focused: false,\n dirtyDescription: null\n }, _this.handleUndoClick = function () {\n _this.props.onUndo(_this.props.media.get('id'));\n }, _this.handleInputChange = function (e) {\n _this.setState({ dirtyDescription: e.target.value });\n }, _this.handleMouseEnter = function () {\n _this.setState({ hovered: true });\n }, _this.handleMouseLeave = function () {\n _this.setState({ hovered: false });\n }, _this.handleInputFocus = function () {\n _this.setState({ focused: true });\n }, _this.handleInputBlur = function () {\n var dirtyDescription = _this.state.dirtyDescription;\n\n\n _this.setState({ focused: false, dirtyDescription: null });\n\n if (dirtyDescription !== null) {\n _this.props.onDescriptionChange(_this.props.media.get('id'), dirtyDescription);\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Upload.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n intl = _props.intl,\n media = _props.media;\n\n var active = this.state.hovered || this.state.focused;\n var description = this.state.dirtyDescription || media.get('description') || '';\n\n return _jsx('div', {\n className: 'compose-form__upload',\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave\n }, void 0, _jsx(Motion, {\n defaultStyle: { scale: 0.8 },\n style: { scale: spring(1, { stiffness: 180, damping: 12 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n return _jsx('div', {\n className: 'compose-form__upload-thumbnail',\n style: { transform: 'scale(' + scale + ')', backgroundImage: 'url(' + media.get('preview_url') + ')' }\n }, void 0, _jsx(IconButton, {\n icon: 'times',\n title: intl.formatMessage(messages.undo),\n size: 36,\n onClick: _this2.handleUndoClick\n }), _jsx('div', {\n className: classNames('compose-form__upload-description', { active: active })\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.description)), _jsx('input', {\n placeholder: intl.formatMessage(messages.description),\n type: 'text',\n value: description,\n maxLength: 420,\n onFocus: _this2.handleInputFocus,\n onChange: _this2.handleInputChange,\n onBlur: _this2.handleInputBlur\n }))));\n }));\n };\n\n return Upload;\n}(ImmutablePureComponent), _class2.propTypes = {\n media: ImmutablePropTypes.map.isRequired,\n intl: PropTypes.object.isRequired,\n onUndo: PropTypes.func.isRequired,\n onDescriptionChange: PropTypes.func.isRequired\n}, _temp2)) || _class;\n\nexport { Upload as default };" + }, + { + "id": 311, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "index": 488, + "index2": 478, + "size": 1120, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/warning_container", + "loc": "23:0-63" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Warning from '../components/warning';\n\nimport { FormattedMessage } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked'])\n };\n};\n\nvar WarningWrapper = function WarningWrapper(_ref) {\n var needsLockWarning = _ref.needsLockWarning;\n\n if (needsLockWarning) {\n return _jsx(Warning, {\n message: _jsx(FormattedMessage, {\n id: 'compose_form.lock_disclaimer',\n defaultMessage: 'Your account is not {locked}. Anyone can follow you to view your follower-only posts.',\n values: { locked: _jsx('a', {\n href: '/settings/profile'\n }, void 0, _jsx(FormattedMessage, {\n id: 'compose_form.lock_disclaimer.lock',\n defaultMessage: 'locked'\n })) }\n })\n });\n }\n\n return null;\n};\n\nexport default connect(mapStateToProps)(WarningWrapper);" + }, + { + "id": 312, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/warning.js", + "name": "./app/javascript/mastodon/features/compose/components/warning.js", + "index": 489, + "index2": 477, + "size": 1391, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "issuerId": 311, + "issuerName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "../components/warning", + "loc": "4:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nvar Warning = function (_React$PureComponent) {\n _inherits(Warning, _React$PureComponent);\n\n function Warning() {\n _classCallCheck(this, Warning);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n Warning.prototype.render = function render() {\n var message = this.props.message;\n\n\n return _jsx(Motion, {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return _jsx('div', {\n className: 'compose-form__warning',\n style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n }, void 0, message);\n });\n };\n\n return Warning;\n}(React.PureComponent);\n\nexport { Warning as default };" + }, + { + "id": 313, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/counter.js", + "name": "./app/javascript/mastodon/features/compose/util/counter.js", + "index": 490, + "index2": 480, + "size": 261, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../util/counter", + "loc": "27:0-48" + } + ], + "usedExports": [ + "countableText" + ], + "providedExports": [ + "countableText" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { urlRegex } from './url_regex';\n\nvar urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nexport function countableText(inputText) {\n return inputText.replace(urlRegex, urlPlaceholder).replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\n};" + }, + { + "id": 314, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/url_regex.js", + "name": "./app/javascript/mastodon/features/compose/util/url_regex.js", + "index": 491, + "index2": 479, + "size": 13599, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/counter.js", + "issuerId": 313, + "issuerName": "./app/javascript/mastodon/features/compose/util/counter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 313, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/counter.js", + "module": "./app/javascript/mastodon/features/compose/util/counter.js", + "moduleName": "./app/javascript/mastodon/features/compose/util/counter.js", + "type": "harmony import", + "userRequest": "./url_regex", + "loc": "1:0-39" + } + ], + "usedExports": [ + "urlRegex" + ], + "providedExports": [ + "urlRegex" + ], + "optimizationBailout": [], + "depth": 6, + "source": "var regexen = {};\n\nvar regexSupplant = function regexSupplant(regex, flags) {\n flags = flags || '';\n if (typeof regex !== 'string') {\n if (regex.global && flags.indexOf('g') < 0) {\n flags += 'g';\n }\n if (regex.ignoreCase && flags.indexOf('i') < 0) {\n flags += 'i';\n }\n if (regex.multiline && flags.indexOf('m') < 0) {\n flags += 'm';\n }\n\n regex = regex.source;\n }\n return new RegExp(regex.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n var newRegex = regexen[name] || '';\n if (typeof newRegex !== 'string') {\n newRegex = newRegex.source;\n }\n return newRegex;\n }), flags);\n};\n\nvar stringSupplant = function stringSupplant(str, values) {\n return str.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n return values[name] || '';\n });\n};\n\nexport var urlRegex = function () {\n regexen.spaces_group = /\\x09-\\x0D\\x20\\x85\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000/;\n regexen.invalid_chars_group = /\\uFFFE\\uFEFF\\uFFFF\\u202A-\\u202E/;\n regexen.punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/;\n regexen.validUrlPrecedingChars = regexSupplant(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/);\n regexen.invalidDomainChars = stringSupplant('#{punct}#{spaces_group}#{invalid_chars_group}', regexen);\n regexen.validDomainChars = regexSupplant(/[^#{invalidDomainChars}]/);\n regexen.validSubdomain = regexSupplant(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validDomainName = regexSupplant(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validGTLD = regexSupplant(RegExp('(?:(?:' + '삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|' + '政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|' + 'ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|' + 'بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|' + 'zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|' + 'yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|' + 'wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|' + 'website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|' + 'wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|' + 'vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|' + 'vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|' + 'university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|' + 'travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|' + 'toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|' + 'tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|' + 'tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|' + 'swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|' + 'stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|' + 'stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|' + 'softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|' + 'showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|' + 'sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|' + 'science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|' + 'sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|' + 'saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|' + 'rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|' + 'repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|' + 'realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|' + 'protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|' + 'pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|' + 'pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|' + 'pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|' + 'pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|' + 'onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|' + 'obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|' + 'nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|' + 'net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|' + 'msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|' + 'monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|' + 'miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|' + 'mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|' + 'makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|' + 'lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|' + 'limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|' + 'lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|' + 'lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|' + 'komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|' + 'kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|' + 'jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|' + 'investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|' + 'industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|' + 'hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|' + 'honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|' + 'hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|' + 'hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|' + 'gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|' + 'globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|' + 'garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|' + 'ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|' + 'football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|' + 'fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|' + 'ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|' + 'extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|' + 'estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|' + 'email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|' + 'download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|' + 'direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|' + 'delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|' + 'cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|' + 'coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|' + 'construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|' + 'college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|' + 'cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|' + 'chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|' + 'catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|' + 'capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|' + 'bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|' + 'bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|' + 'boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|' + 'black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|' + 'beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|' + 'barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|' + 'autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|' + 'art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|' + 'amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|' + 'alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|' + 'afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|' + 'academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion' + ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validCCTLD = regexSupplant(RegExp('(?:(?:' + '한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|' + 'ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|' + 'بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|' + 'zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|' + 'tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|' + 're|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|' + 'mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|' + 'ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|' + 'gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|' + 'do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|' + 'bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac' + ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validPunycode = /(?:xn--[0-9a-z]+)/;\n regexen.validSpecialCCTLD = /(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/;\n regexen.validDomain = regexSupplant(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/);\n regexen.validPortNumber = /[0-9]+/;\n regexen.pd = /\\u002d\\u058a\\u05be\\u1400\\u1806\\u2010-\\u2015\\u2e17\\u2e1a\\u2e3a\\u2e40\\u301c\\u3030\\u30a0\\ufe31\\ufe58\\ufe63\\uff0d/;\n regexen.validGeneralUrlPathChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?]/i);\n // Allow URL paths to contain up to two nested levels of balanced parens\n // 1. Used in Wikipedia URLs like /Primer_(film)\n // 2. Used in IIS sessions like /S(dfd346)/\n // 3. Used in Rdio URLs like /track/We_Up_(Album_Version_(Edited))/\n regexen.validUrlBalancedParens = regexSupplant('\\\\(' + '(?:' + '#{validGeneralUrlPathChars}+' + '|' +\n // allow one nested level of balanced parentheses\n '(?:' + '#{validGeneralUrlPathChars}*' + '\\\\(' + '#{validGeneralUrlPathChars}+' + '\\\\)' + '#{validGeneralUrlPathChars}*' + ')' + ')' + '\\\\)', 'i');\n // Valid end-of-path chracters (so /foo. does not gobble the period).\n // 1. Allow =&# for empty URL parameters and other URL-join artifacts\n regexen.validUrlPathEndingChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?!\\*';:=\\,\\.\\$%\\[\\]#{pd}~&\\|@]|(?:#{validUrlBalancedParens})/i);\n // Allow @ in a url, but only in the middle. Catch things like http://example.com/@user/\n regexen.validUrlPath = regexSupplant('(?:' + '(?:' + '#{validGeneralUrlPathChars}*' + '(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*' + '#{validUrlPathEndingChars}' + ')|(?:@#{validGeneralUrlPathChars}+\\/)' + ')', 'i');\n regexen.validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i;\n regexen.validUrlQueryEndingChars = /[a-z0-9_&=#\\/]/i;\n regexen.validUrl = regexSupplant('(' + // $1 URL\n '(https?:\\\\/\\\\/)' + // $2 Protocol\n '(#{validDomain})' + // $3 Domain(s)\n '(?::(#{validPortNumber}))?' + // $4 Port number (optional)\n '(\\\\/#{validUrlPath}*)?' + // $5 URL Path\n '(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?' + // $6 Query String\n ')', 'gi');\n return regexen.validUrl;\n}();" + }, + { + "id": 772, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "name": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "index": 737, + "index2": 744, + "size": 13830, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../components/onboarding_modal", + "loc": "86:9-99" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _jsx from 'babel-runtime/helpers/jsx';\n\nvar _dec, _class;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ReactSwipeableViews from 'react-swipeable-views';\nimport classNames from 'classnames';\nimport Permalink from '../../../components/permalink';\nimport ComposeForm from '../../compose/components/compose_form';\nimport Search from '../../compose/components/search';\nimport NavigationBar from '../../compose/components/navigation_bar';\nimport ColumnHeader from './column_header';\nimport { List as ImmutableList } from 'immutable';\nimport { me } from '../../../initial_state';\n\nvar noop = function noop() {};\n\nvar messages = defineMessages({\n home_title: {\n 'id': 'column.home',\n 'defaultMessage': 'Home'\n },\n notifications_title: {\n 'id': 'column.notifications',\n 'defaultMessage': 'Notifications'\n },\n local_title: {\n 'id': 'column.community',\n 'defaultMessage': 'Local timeline'\n },\n federated_title: {\n 'id': 'column.public',\n 'defaultMessage': 'Federated timeline'\n }\n});\n\nvar PageOne = function PageOne(_ref) {\n var acct = _ref.acct,\n domain = _ref.domain;\n return _jsx('div', {\n className: 'onboarding-modal__page onboarding-modal__page-one'\n }, void 0, _jsx('div', {\n style: { flex: '0 0 auto' }\n }, void 0, _jsx('div', {\n className: 'onboarding-modal__page-one__elephant-friend'\n })), _jsx('div', {}, void 0, _jsx('h1', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_one.welcome',\n defaultMessage: 'Welcome to Mastodon!'\n })), _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_one.federation',\n defaultMessage: 'Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.'\n })), _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_one.handle',\n defaultMessage: 'You are on {domain}, so your full handle is {handle}',\n values: { domain: domain, handle: _jsx('strong', {}, void 0, '@', acct, '@', domain) }\n }))));\n};\n\nvar PageTwo = function PageTwo(_ref2) {\n var myAccount = _ref2.myAccount;\n return _jsx('div', {\n className: 'onboarding-modal__page onboarding-modal__page-two'\n }, void 0, _jsx('div', {\n className: 'figure non-interactive'\n }, void 0, _jsx('div', {\n className: 'pseudo-drawer'\n }, void 0, _jsx(NavigationBar, {\n account: myAccount\n })), _jsx(ComposeForm, {\n text: 'Awoo! #introductions',\n suggestions: ImmutableList(),\n mentionedDomains: [],\n spoiler: false,\n onChange: noop,\n onSubmit: noop,\n onPaste: noop,\n onPickEmoji: noop,\n onChangeSpoilerText: noop,\n onClearSuggestions: noop,\n onFetchSuggestions: noop,\n onSuggestionSelected: noop,\n showSearch: true\n })), _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_two.compose',\n defaultMessage: 'Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.'\n })));\n};\n\nvar PageThree = function PageThree(_ref3) {\n var myAccount = _ref3.myAccount;\n return _jsx('div', {\n className: 'onboarding-modal__page onboarding-modal__page-three'\n }, void 0, _jsx('div', {\n className: 'figure non-interactive'\n }, void 0, _jsx(Search, {\n value: '',\n onChange: noop,\n onSubmit: noop,\n onClear: noop,\n onShow: noop\n }), _jsx('div', {\n className: 'pseudo-drawer'\n }, void 0, _jsx(NavigationBar, {\n account: myAccount\n }))), _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_three.search',\n defaultMessage: 'Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.',\n values: { illustration: _jsx(Permalink, {\n to: '/timelines/tag/illustration',\n href: '/tags/illustration'\n }, void 0, '#illustration'), introductions: _jsx(Permalink, {\n to: '/timelines/tag/introductions',\n href: '/tags/introductions'\n }, void 0, '#introductions') }\n })), _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_three.profile',\n defaultMessage: 'Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.'\n })));\n};\n\nvar PageFour = function PageFour(_ref4) {\n var domain = _ref4.domain,\n intl = _ref4.intl;\n return _jsx('div', {\n className: 'onboarding-modal__page onboarding-modal__page-four'\n }, void 0, _jsx('div', {\n className: 'onboarding-modal__page-four__columns'\n }, void 0, _jsx('div', {\n className: 'row'\n }, void 0, _jsx('div', {}, void 0, _jsx('div', {\n className: 'figure non-interactive'\n }, void 0, _jsx(ColumnHeader, {\n icon: 'home',\n type: intl.formatMessage(messages.home_title)\n })), _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_four.home',\n defaultMessage: 'The home timeline shows posts from people you follow.'\n }))), _jsx('div', {}, void 0, _jsx('div', {\n className: 'figure non-interactive'\n }, void 0, _jsx(ColumnHeader, {\n icon: 'bell',\n type: intl.formatMessage(messages.notifications_title)\n })), _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_four.notifications',\n defaultMessage: 'The notifications column shows when someone interacts with you.'\n })))), _jsx('div', {\n className: 'row'\n }, void 0, _jsx('div', {}, void 0, _jsx('div', {\n className: 'figure non-interactive',\n style: { marginBottom: 0 }\n }, void 0, _jsx(ColumnHeader, {\n icon: 'users',\n type: intl.formatMessage(messages.local_title)\n }))), _jsx('div', {}, void 0, _jsx('div', {\n className: 'figure non-interactive',\n style: { marginBottom: 0 }\n }, void 0, _jsx(ColumnHeader, {\n icon: 'globe',\n type: intl.formatMessage(messages.federated_title)\n })))), _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_five.public_timelines',\n defaultMessage: 'The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.',\n values: { domain: domain }\n }))));\n};\n\nvar PageSix = function PageSix(_ref5) {\n var admin = _ref5.admin,\n domain = _ref5.domain;\n\n var adminSection = '';\n\n if (admin) {\n adminSection = _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_six.admin',\n defaultMessage: 'Your instance\\'s admin is {admin}.',\n values: { admin: _jsx(Permalink, {\n href: admin.get('url'),\n to: '/accounts/' + admin.get('id')\n }, void 0, '@', admin.get('acct')) }\n }), _jsx('br', {}), _jsx(FormattedMessage, {\n id: 'onboarding.page_six.read_guidelines',\n defaultMessage: 'Please read {domain}\\'s {guidelines}!',\n values: { domain: domain, guidelines: _jsx('a', {\n href: '/about/more',\n target: '_blank'\n }, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_six.guidelines',\n defaultMessage: 'community guidelines'\n })) }\n }));\n }\n\n return _jsx('div', {\n className: 'onboarding-modal__page onboarding-modal__page-six'\n }, void 0, _jsx('h1', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_six.almost_done',\n defaultMessage: 'Almost done...'\n })), adminSection, _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_six.github',\n defaultMessage: 'Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.',\n values: { github: _jsx('a', {\n href: 'https://github.com/tootsuite/mastodon',\n target: '_blank',\n rel: 'noopener'\n }, void 0, 'GitHub') }\n })), _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_six.apps_available',\n defaultMessage: 'There are {apps} available for iOS, Android and other platforms.',\n values: { apps: _jsx('a', {\n href: 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md',\n target: '_blank',\n rel: 'noopener'\n }, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_six.various_app',\n defaultMessage: 'mobile apps'\n })) }\n })), _jsx('p', {}, void 0, _jsx('em', {}, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.page_six.appetoot',\n defaultMessage: 'Bon Appetoot!'\n }))));\n};\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n myAccount: state.getIn(['accounts', me]),\n admin: state.getIn(['accounts', state.getIn(['meta', 'admin'])]),\n domain: state.getIn(['meta', 'domain'])\n };\n};\n\nvar OnboardingModal = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = function (_React$PureComponent) {\n _inherits(OnboardingModal, _React$PureComponent);\n\n function OnboardingModal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, OnboardingModal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n currentIndex: 0\n }, _this.handleSkip = function (e) {\n e.preventDefault();\n _this.props.onClose();\n }, _this.handleDot = function (e) {\n var i = Number(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n _this.setState({ currentIndex: i });\n }, _this.handlePrev = function () {\n _this.setState(function (_ref6) {\n var currentIndex = _ref6.currentIndex;\n return {\n currentIndex: Math.max(0, currentIndex - 1)\n };\n });\n }, _this.handleNext = function () {\n var _this2 = _this,\n pages = _this2.pages;\n\n _this.setState(function (_ref7) {\n var currentIndex = _ref7.currentIndex;\n return {\n currentIndex: Math.min(currentIndex + 1, pages.length - 1)\n };\n });\n }, _this.handleSwipe = function (index) {\n _this.setState({ currentIndex: index });\n }, _this.handleKeyUp = function (_ref8) {\n var key = _ref8.key;\n\n switch (key) {\n case 'ArrowLeft':\n _this.handlePrev();\n break;\n case 'ArrowRight':\n _this.handleNext();\n break;\n }\n }, _this.handleClose = function () {\n _this.props.onClose();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n OnboardingModal.prototype.componentWillMount = function componentWillMount() {\n var _props = this.props,\n myAccount = _props.myAccount,\n admin = _props.admin,\n domain = _props.domain,\n intl = _props.intl;\n\n this.pages = [_jsx(PageOne, {\n acct: myAccount.get('acct'),\n domain: domain\n }), _jsx(PageTwo, {\n myAccount: myAccount\n }), _jsx(PageThree, {\n myAccount: myAccount\n }), _jsx(PageFour, {\n domain: domain,\n intl: intl\n }), _jsx(PageSix, {\n admin: admin,\n domain: domain\n })];\n };\n\n OnboardingModal.prototype.componentDidMount = function componentDidMount() {\n window.addEventListener('keyup', this.handleKeyUp);\n };\n\n OnboardingModal.prototype.componentWillUnmount = function componentWillUnmount() {\n window.addEventListener('keyup', this.handleKeyUp);\n };\n\n OnboardingModal.prototype.render = function render() {\n var _this3 = this;\n\n var pages = this.pages;\n var currentIndex = this.state.currentIndex;\n\n var hasMore = currentIndex < pages.length - 1;\n\n var nextOrDoneBtn = hasMore ? _jsx('button', {\n onClick: this.handleNext,\n className: 'onboarding-modal__nav onboarding-modal__next'\n }, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.next',\n defaultMessage: 'Next'\n })) : _jsx('button', {\n onClick: this.handleClose,\n className: 'onboarding-modal__nav onboarding-modal__done'\n }, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.done',\n defaultMessage: 'Done'\n }));\n\n return _jsx('div', {\n className: 'modal-root__modal onboarding-modal'\n }, void 0, _jsx(ReactSwipeableViews, {\n index: currentIndex,\n onChangeIndex: this.handleSwipe,\n className: 'onboarding-modal__pager'\n }, void 0, pages.map(function (page, i) {\n var className = classNames('onboarding-modal__page__wrapper', {\n 'onboarding-modal__page__wrapper--active': i === currentIndex\n });\n return _jsx('div', {\n className: className\n }, i, page);\n })), _jsx('div', {\n className: 'onboarding-modal__paginator'\n }, void 0, _jsx('div', {}, void 0, _jsx('button', {\n onClick: this.handleSkip,\n className: 'onboarding-modal__nav onboarding-modal__skip'\n }, void 0, _jsx(FormattedMessage, {\n id: 'onboarding.skip',\n defaultMessage: 'Skip'\n }))), _jsx('div', {\n className: 'onboarding-modal__dots'\n }, void 0, pages.map(function (_, i) {\n var className = classNames('onboarding-modal__dot', {\n active: i === currentIndex\n });\n return _jsx('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': i,\n onClick: _this3.handleDot,\n className: className\n }, 'dot-' + i);\n })), _jsx('div', {}, void 0, nextOrDoneBtn)));\n };\n\n return OnboardingModal;\n}(React.PureComponent)) || _class) || _class);\nexport { OnboardingModal as default };" + }, + { + "id": 802, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "name": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "index": 493, + "index2": 483, + "size": 2258, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/navigation_container.js", + "issuerId": 879, + "issuerName": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "../../compose/components/navigation_bar", + "loc": "17:0-68" + }, + { + "moduleId": 879, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/navigation_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "type": "harmony import", + "userRequest": "../components/navigation_bar", + "loc": "2:0-57" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport Permalink from '../../../components/permalink';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar NavigationBar = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(NavigationBar, _ImmutablePureCompone);\n\n function NavigationBar() {\n _classCallCheck(this, NavigationBar);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n NavigationBar.prototype.render = function render() {\n return _jsx('div', {\n className: 'navigation-bar'\n }, void 0, _jsx(Permalink, {\n href: this.props.account.get('url'),\n to: '/accounts/' + this.props.account.get('id')\n }, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, this.props.account.get('acct')), _jsx(Avatar, {\n account: this.props.account,\n size: 40\n })), _jsx('div', {\n className: 'navigation-bar__profile'\n }, void 0, _jsx(Permalink, {\n href: this.props.account.get('url'),\n to: '/accounts/' + this.props.account.get('id')\n }, void 0, _jsx('strong', {\n className: 'navigation-bar__profile-account'\n }, void 0, '@', this.props.account.get('acct'))), _jsx('a', {\n href: '/settings/profile',\n className: 'navigation-bar__profile-edit'\n }, void 0, _jsx(FormattedMessage, {\n id: 'navigation_bar.edit_profile',\n defaultMessage: 'Edit profile'\n }))), _jsx(IconButton, {\n title: '',\n icon: 'close',\n onClick: this.props.onClose\n }));\n };\n\n return NavigationBar;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onClose: PropTypes.func.isRequired\n}, _temp);\nexport { NavigationBar as default };" + }, + { + "id": 803, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "name": "./app/javascript/mastodon/features/compose/components/search.js", + "index": 531, + "index2": 521, + "size": 5471, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_container.js", + "issuerId": 880, + "issuerName": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "../../compose/components/search", + "loc": "16:0-53" + }, + { + "moduleId": 880, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "type": "harmony import", + "userRequest": "../components/search", + "loc": "3:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\n\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nvar messages = defineMessages({\n placeholder: {\n 'id': 'search.placeholder',\n 'defaultMessage': 'Search'\n }\n});\n\nvar SearchPopout = function (_React$PureComponent) {\n _inherits(SearchPopout, _React$PureComponent);\n\n function SearchPopout() {\n _classCallCheck(this, SearchPopout);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n SearchPopout.prototype.render = function render() {\n var style = this.props.style;\n\n\n return _jsx('div', {\n style: Object.assign({}, style, { position: 'absolute', width: 285 })\n }, void 0, _jsx(Motion, {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return _jsx('div', {\n className: 'search-popout',\n style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n }, void 0, _jsx('h4', {}, void 0, _jsx(FormattedMessage, {\n id: 'search_popout.search_format',\n defaultMessage: 'Advanced search format'\n })), _jsx('ul', {}, void 0, _jsx('li', {}, void 0, _jsx('em', {}, void 0, '#example'), ' ', _jsx(FormattedMessage, {\n id: 'search_popout.tips.hashtag',\n defaultMessage: 'hashtag'\n })), _jsx('li', {}, void 0, _jsx('em', {}, void 0, '@username@domain'), ' ', _jsx(FormattedMessage, {\n id: 'search_popout.tips.user',\n defaultMessage: 'user'\n })), _jsx('li', {}, void 0, _jsx('em', {}, void 0, 'URL'), ' ', _jsx(FormattedMessage, {\n id: 'search_popout.tips.user',\n defaultMessage: 'user'\n })), _jsx('li', {}, void 0, _jsx('em', {}, void 0, 'URL'), ' ', _jsx(FormattedMessage, {\n id: 'search_popout.tips.status',\n defaultMessage: 'status'\n }))), _jsx(FormattedMessage, {\n id: 'search_popout.tips.text',\n defaultMessage: 'Simple text returns matching display names, usernames and hashtags'\n }));\n }));\n };\n\n return SearchPopout;\n}(React.PureComponent);\n\nvar Search = injectIntl(_class = function (_React$PureComponent2) {\n _inherits(Search, _React$PureComponent2);\n\n function Search() {\n var _temp, _this2, _ret;\n\n _classCallCheck(this, Search);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this2 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n expanded: false\n }, _this2.handleChange = function (e) {\n _this2.props.onChange(e.target.value);\n }, _this2.handleClear = function (e) {\n e.preventDefault();\n\n if (_this2.props.value.length > 0 || _this2.props.submitted) {\n _this2.props.onClear();\n }\n }, _this2.handleKeyDown = function (e) {\n if (e.key === 'Enter') {\n e.preventDefault();\n _this2.props.onSubmit();\n } else if (e.key === 'Escape') {\n document.querySelector('.ui').parentElement.focus();\n }\n }, _this2.handleFocus = function () {\n _this2.setState({ expanded: true });\n _this2.props.onShow();\n }, _this2.handleBlur = function () {\n _this2.setState({ expanded: false });\n }, _temp), _possibleConstructorReturn(_this2, _ret);\n }\n\n Search.prototype.noop = function noop() {};\n\n Search.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n value = _props.value,\n submitted = _props.submitted;\n var expanded = this.state.expanded;\n\n var hasValue = value.length > 0 || submitted;\n\n return _jsx('div', {\n className: 'search'\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.placeholder)), _jsx('input', {\n className: 'search__input',\n type: 'text',\n placeholder: intl.formatMessage(messages.placeholder),\n value: value,\n onChange: this.handleChange,\n onKeyUp: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n })), _jsx('div', {\n role: 'button',\n tabIndex: '0',\n className: 'search__icon',\n onClick: this.handleClear\n }, void 0, _jsx('i', {\n className: 'fa fa-search ' + (hasValue ? '' : 'active')\n }), _jsx('i', {\n 'aria-label': intl.formatMessage(messages.placeholder),\n className: 'fa fa-times-circle ' + (hasValue ? 'active' : '')\n })), _jsx(Overlay, {\n show: expanded && !hasValue,\n placement: 'bottom',\n target: this\n }, void 0, _jsx(SearchPopout, {})));\n };\n\n return Search;\n}(React.PureComponent)) || _class;\n\nexport { Search as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "86:9-99", + "name": "modals/onboarding_modal", + "reasons": [] + } + ] + }, + { + "id": 4, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 94079, + "names": [ + "features/public_timeline" + ], + "files": [ + "features/public_timeline-d6e6bc704f49ebf922be.js", + "features/public_timeline-d6e6bc704f49ebf922be.js.map" + ], + "hash": "d6e6bc704f49ebf922be", + "parents": [ + 2, + 3, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 32, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "name": "./node_modules/util/util.js", + "index": 689, + "index2": 675, + "size": 15214, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 156, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "module": "./node_modules/backoff/lib/strategy/strategy.js", + "moduleName": "./node_modules/backoff/lib/strategy/strategy.js", + "type": "cjs require", + "userRequest": "util", + "loc": "5:11-26" + }, + { + "moduleId": 157, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "module": "./node_modules/backoff/lib/strategy/fibonacci.js", + "moduleName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "type": "cjs require", + "userRequest": "util", + "loc": "4:11-26" + }, + { + "moduleId": 278, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "module": "./node_modules/precond/lib/checks.js", + "moduleName": "./node_modules/precond/lib/checks.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 281, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/errors.js", + "module": "./node_modules/precond/lib/errors.js", + "moduleName": "./node_modules/precond/lib/errors.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "util", + "loc": "4:11-26" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function (f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function (fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function () {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function (set) {\n if (isUndefined(debugEnviron)) debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function () {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function () {};\n }\n }\n return debugs[set];\n};\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold': [1, 22],\n 'italic': [3, 23],\n 'underline': [4, 24],\n 'inverse': [7, 27],\n 'white': [37, 39],\n 'grey': [90, 39],\n 'black': [30, 39],\n 'blue': [34, 39],\n 'cyan': [36, 39],\n 'green': [32, 39],\n 'magenta': [35, 39],\n 'red': [31, 39],\n 'yellow': [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str + '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function (val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect && value && isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '',\n array = false,\n braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function (key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '').replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value)) return ctx.stylize('' + value, 'number');\n if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value)) return ctx.stylize('null', 'null');\n}\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function (key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n }\n });\n return output;\n}\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function (prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] + (base === '' ? '' : base + '\\n ') + ' ' + output.join(',\\n ') + ' ' + braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function () {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function (origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}" + }, + { + "id": 92, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/events/events.js", + "name": "./node_modules/events/events.js", + "index": 686, + "index2": 672, + "size": 8089, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + }, + { + "moduleId": 156, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "module": "./node_modules/backoff/lib/strategy/strategy.js", + "moduleName": "./node_modules/backoff/lib/strategy/strategy.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function (n) {\n if (!isNumber(n) || n < 0 || isNaN(n)) throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function (type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events) this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error || isObject(this._events.error) && !this._events.error.length) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler)) return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n args = Array.prototype.slice.call(arguments, 1);\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n args = Array.prototype.slice.call(arguments, 1);\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++) listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function (type, listener) {\n var m;\n\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n if (!this._events) this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener) this.emit('newListener', type, isFunction(listener.listener) ? listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' + 'leak detected. %d listeners added. ' + 'Use emitter.setMaxListeners() to increase limit.', this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function (type, listener) {\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function (type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type]) return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener || isFunction(list.listener) && list.listener === listener) {\n delete this._events[type];\n if (this._events.removeListener) this.emit('removeListener', type, listener);\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener || list[i].listener && list[i].listener === listener) {\n position = i;\n break;\n }\n }\n\n if (position < 0) return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener) this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function (type) {\n var key, listeners;\n\n if (!this._events) return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0) this._events = {};else if (this._events[type]) delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n while (listeners.length) this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function (type) {\n var ret;\n if (!this._events || !this._events[type]) ret = [];else if (isFunction(this._events[type])) ret = [this._events[type]];else ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.prototype.listenerCount = function (type) {\n if (this._events) {\n var evlistener = this._events[type];\n\n if (isFunction(evlistener)) return 1;else if (evlistener) return evlistener.length;\n }\n return 0;\n};\n\nEventEmitter.listenerCount = function (emitter, type) {\n return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}" + }, + { + "id": 93, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "name": "./node_modules/precond/index.js", + "index": 687, + "index2": 678, + "size": 123, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nmodule.exports = require('./lib/checks');" + }, + { + "id": 155, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "name": "./node_modules/backoff/lib/backoff.js", + "index": 685, + "index2": 679, + "size": 2107, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/backoff", + "loc": "4:14-38" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "./backoff", + "loc": "8:14-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar precond = require('precond');\nvar util = require('util');\n\n// A class to hold the state of a backoff operation. Accepts a backoff strategy\n// to generate the backoff delays.\nfunction Backoff(backoffStrategy) {\n events.EventEmitter.call(this);\n\n this.backoffStrategy_ = backoffStrategy;\n this.maxNumberOfRetry_ = -1;\n this.backoffNumber_ = 0;\n this.backoffDelay_ = 0;\n this.timeoutID_ = -1;\n\n this.handlers = {\n backoff: this.onBackoff_.bind(this)\n };\n}\nutil.inherits(Backoff, events.EventEmitter);\n\n// Sets a limit, greater than 0, on the maximum number of backoffs. A 'fail'\n// event will be emitted when the limit is reached.\nBackoff.prototype.failAfter = function (maxNumberOfRetry) {\n precond.checkArgument(maxNumberOfRetry > 0, 'Expected a maximum number of retry greater than 0 but got %s.', maxNumberOfRetry);\n\n this.maxNumberOfRetry_ = maxNumberOfRetry;\n};\n\n// Starts a backoff operation. Accepts an optional parameter to let the\n// listeners know why the backoff operation was started.\nBackoff.prototype.backoff = function (err) {\n precond.checkState(this.timeoutID_ === -1, 'Backoff in progress.');\n\n if (this.backoffNumber_ === this.maxNumberOfRetry_) {\n this.emit('fail', err);\n this.reset();\n } else {\n this.backoffDelay_ = this.backoffStrategy_.next();\n this.timeoutID_ = setTimeout(this.handlers.backoff, this.backoffDelay_);\n this.emit('backoff', this.backoffNumber_, this.backoffDelay_, err);\n }\n};\n\n// Handles the backoff timeout completion.\nBackoff.prototype.onBackoff_ = function () {\n this.timeoutID_ = -1;\n this.emit('ready', this.backoffNumber_, this.backoffDelay_);\n this.backoffNumber_++;\n};\n\n// Stops any backoff operation and resets the backoff delay to its inital value.\nBackoff.prototype.reset = function () {\n this.backoffNumber_ = 0;\n this.backoffStrategy_.reset();\n clearTimeout(this.timeoutID_);\n this.timeoutID_ = -1;\n};\n\nmodule.exports = Backoff;" + }, + { + "id": 156, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "name": "./node_modules/backoff/lib/strategy/strategy.js", + "index": 694, + "index2": 680, + "size": 2749, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "issuerId": 157, + "issuerName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 157, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "module": "./node_modules/backoff/lib/strategy/fibonacci.js", + "moduleName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "type": "cjs require", + "userRequest": "./strategy", + "loc": "6:22-43" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "./strategy", + "loc": "7:22-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar util = require('util');\n\nfunction isDef(value) {\n return value !== undefined && value !== null;\n}\n\n// Abstract class defining the skeleton for the backoff strategies. Accepts an\n// object holding the options for the backoff strategy:\n//\n// * `randomisationFactor`: The randomisation factor which must be between 0\n// and 1 where 1 equates to a randomization factor of 100% and 0 to no\n// randomization.\n// * `initialDelay`: The backoff initial delay in milliseconds.\n// * `maxDelay`: The backoff maximal delay in milliseconds.\nfunction BackoffStrategy(options) {\n options = options || {};\n\n if (isDef(options.initialDelay) && options.initialDelay < 1) {\n throw new Error('The initial timeout must be greater than 0.');\n } else if (isDef(options.maxDelay) && options.maxDelay < 1) {\n throw new Error('The maximal timeout must be greater than 0.');\n }\n\n this.initialDelay_ = options.initialDelay || 100;\n this.maxDelay_ = options.maxDelay || 10000;\n\n if (this.maxDelay_ <= this.initialDelay_) {\n throw new Error('The maximal backoff delay must be ' + 'greater than the initial backoff delay.');\n }\n\n if (isDef(options.randomisationFactor) && (options.randomisationFactor < 0 || options.randomisationFactor > 1)) {\n throw new Error('The randomisation factor must be between 0 and 1.');\n }\n\n this.randomisationFactor_ = options.randomisationFactor || 0;\n}\n\n// Gets the maximal backoff delay.\nBackoffStrategy.prototype.getMaxDelay = function () {\n return this.maxDelay_;\n};\n\n// Gets the initial backoff delay.\nBackoffStrategy.prototype.getInitialDelay = function () {\n return this.initialDelay_;\n};\n\n// Template method that computes and returns the next backoff delay in\n// milliseconds.\nBackoffStrategy.prototype.next = function () {\n var backoffDelay = this.next_();\n var randomisationMultiple = 1 + Math.random() * this.randomisationFactor_;\n var randomizedDelay = Math.round(backoffDelay * randomisationMultiple);\n return randomizedDelay;\n};\n\n// Computes and returns the next backoff delay. Intended to be overridden by\n// subclasses.\nBackoffStrategy.prototype.next_ = function () {\n throw new Error('BackoffStrategy.next_() unimplemented.');\n};\n\n// Template method that resets the backoff delay to its initial value.\nBackoffStrategy.prototype.reset = function () {\n this.reset_();\n};\n\n// Resets the backoff delay to its initial value. Intended to be overridden by\n// subclasses.\nBackoffStrategy.prototype.reset_ = function () {\n throw new Error('BackoffStrategy.reset_() unimplemented.');\n};\n\nmodule.exports = BackoffStrategy;" + }, + { + "id": 157, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "name": "./node_modules/backoff/lib/strategy/fibonacci.js", + "index": 695, + "index2": 682, + "size": 856, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/strategy/fibonacci", + "loc": "6:31-66" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "./strategy/fibonacci", + "loc": "9:31-62" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar util = require('util');\n\nvar BackoffStrategy = require('./strategy');\n\n// Fibonacci backoff strategy.\nfunction FibonacciBackoffStrategy(options) {\n BackoffStrategy.call(this, options);\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n}\nutil.inherits(FibonacciBackoffStrategy, BackoffStrategy);\n\nFibonacciBackoffStrategy.prototype.next_ = function () {\n var backoffDelay = Math.min(this.nextBackoffDelay_, this.getMaxDelay());\n this.nextBackoffDelay_ += this.backoffDelay_;\n this.backoffDelay_ = backoffDelay;\n return backoffDelay;\n};\n\nFibonacciBackoffStrategy.prototype.reset_ = function () {\n this.nextBackoffDelay_ = this.getInitialDelay();\n this.backoffDelay_ = 0;\n};\n\nmodule.exports = FibonacciBackoffStrategy;" + }, + { + "id": 158, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "name": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "index": 347, + "index2": 754, + "size": 2869, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "issuerId": 460, + "issuerName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/status_list_container", + "loc": "11:0-76" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/status_list_container", + "loc": "11:0-76" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "12:0-73" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import _debounce from 'lodash/debounce';\nimport { connect } from 'react-redux';\nimport StatusList from '../../../components/status_list';\nimport { scrollTopTimeline } from '../../../actions/timelines';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\nimport { createSelector } from 'reselect';\n\nimport { me } from '../../../initial_state';\n\nvar makeGetStatusIds = function makeGetStatusIds() {\n return createSelector([function (state, _ref) {\n var type = _ref.type;\n return state.getIn(['settings', type], ImmutableMap());\n }, function (state, _ref2) {\n var type = _ref2.type;\n return state.getIn(['timelines', type, 'items'], ImmutableList());\n }, function (state) {\n return state.get('statuses');\n }], function (columnSettings, statusIds, statuses) {\n var rawRegex = columnSettings.getIn(['regex', 'body'], '').trim();\n var regex = null;\n\n try {\n regex = rawRegex && new RegExp(rawRegex, 'i');\n } catch (e) {\n // Bad regex, don't affect filters\n }\n\n return statusIds.filter(function (id) {\n var statusForId = statuses.get(id);\n var showStatus = true;\n\n if (columnSettings.getIn(['shows', 'reblog']) === false) {\n showStatus = showStatus && statusForId.get('reblog') === null;\n }\n\n if (columnSettings.getIn(['shows', 'reply']) === false) {\n showStatus = showStatus && (statusForId.get('in_reply_to_id') === null || statusForId.get('in_reply_to_account_id') === me);\n }\n\n if (showStatus && regex && statusForId.get('account') !== me) {\n var searchIndex = statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'search_index']) : statusForId.get('search_index');\n showStatus = !regex.test(searchIndex);\n }\n\n return showStatus;\n });\n });\n};\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatusIds = makeGetStatusIds();\n\n var mapStateToProps = function mapStateToProps(state, _ref3) {\n var timelineId = _ref3.timelineId;\n return {\n statusIds: getStatusIds(state, { type: timelineId }),\n isLoading: state.getIn(['timelines', timelineId, 'isLoading'], true),\n hasMore: !!state.getIn(['timelines', timelineId, 'next'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref4) {\n var timelineId = _ref4.timelineId,\n loadMore = _ref4.loadMore;\n return {\n\n onScrollToBottom: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, false));\n loadMore();\n }, 300, { leading: true }),\n\n onScrollToTop: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, true));\n }, 100),\n\n onScroll: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, false));\n }, 100)\n\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(StatusList);" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 262, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "name": "./app/javascript/mastodon/components/scrollable_list.js", + "index": 662, + "index2": 664, + "size": 7448, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "./scrollable_list", + "loc": "15:0-47" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/scrollable_list", + "loc": "22:0-62" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _throttle from 'lodash/throttle';\n\nvar _class, _temp2;\n\nimport React, { PureComponent } from 'react';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport PropTypes from 'prop-types';\nimport IntersectionObserverArticleContainer from '../containers/intersection_observer_article_container';\nimport LoadMore from './load_more';\nimport IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';\n\nimport { List as ImmutableList } from 'immutable';\nimport classNames from 'classnames';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';\n\nvar ScrollableList = (_temp2 = _class = function (_PureComponent) {\n _inherits(ScrollableList, _PureComponent);\n\n function ScrollableList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollableList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _PureComponent.call.apply(_PureComponent, [this].concat(args))), _this), _this.state = {\n lastMouseMove: null\n }, _this.intersectionObserverWrapper = new IntersectionObserverWrapper(), _this.handleScroll = _throttle(function () {\n if (_this.node) {\n var _this$node = _this.node,\n scrollTop = _this$node.scrollTop,\n scrollHeight = _this$node.scrollHeight,\n clientHeight = _this$node.clientHeight;\n\n var offset = scrollHeight - scrollTop - clientHeight;\n _this._oldScrollPosition = scrollHeight - scrollTop;\n\n if (400 > offset && _this.props.onScrollToBottom && !_this.props.isLoading) {\n _this.props.onScrollToBottom();\n } else if (scrollTop < 100 && _this.props.onScrollToTop) {\n _this.props.onScrollToTop();\n } else if (_this.props.onScroll) {\n _this.props.onScroll();\n }\n }\n }, 150, {\n trailing: true\n }), _this.handleMouseMove = _throttle(function () {\n _this._lastMouseMove = new Date();\n }, 300), _this.handleMouseLeave = function () {\n _this._lastMouseMove = null;\n }, _this.onFullScreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.onScrollToBottom();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ScrollableList.prototype.componentDidMount = function componentDidMount() {\n this.attachScrollListener();\n this.attachIntersectionObserver();\n attachFullscreenListener(this.onFullScreenChange);\n\n // Handle initial scroll posiiton\n this.handleScroll();\n };\n\n ScrollableList.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var someItemInserted = React.Children.count(prevProps.children) > 0 && React.Children.count(prevProps.children) < React.Children.count(this.props.children) && this.getFirstChildKey(prevProps) !== this.getFirstChildKey(this.props);\n\n // Reset the scroll position when a new child comes in in order not to\n // jerk the scrollbar around if you're already scrolled down the page.\n if (someItemInserted && this._oldScrollPosition && this.node.scrollTop > 0) {\n var newScrollTop = this.node.scrollHeight - this._oldScrollPosition;\n\n if (this.node.scrollTop !== newScrollTop) {\n this.node.scrollTop = newScrollTop;\n }\n } else {\n this._oldScrollPosition = this.node.scrollHeight - this.node.scrollTop;\n }\n };\n\n ScrollableList.prototype.componentWillUnmount = function componentWillUnmount() {\n this.detachScrollListener();\n this.detachIntersectionObserver();\n detachFullscreenListener(this.onFullScreenChange);\n };\n\n ScrollableList.prototype.attachIntersectionObserver = function attachIntersectionObserver() {\n this.intersectionObserverWrapper.connect({\n root: this.node,\n rootMargin: '300% 0px'\n });\n };\n\n ScrollableList.prototype.detachIntersectionObserver = function detachIntersectionObserver() {\n this.intersectionObserverWrapper.disconnect();\n };\n\n ScrollableList.prototype.attachScrollListener = function attachScrollListener() {\n this.node.addEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.detachScrollListener = function detachScrollListener() {\n this.node.removeEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.getFirstChildKey = function getFirstChildKey(props) {\n var children = props.children;\n\n var firstChild = children;\n if (children instanceof ImmutableList) {\n firstChild = children.get(0);\n } else if (Array.isArray(children)) {\n firstChild = children[0];\n }\n return firstChild && firstChild.key;\n };\n\n ScrollableList.prototype._recentlyMoved = function _recentlyMoved() {\n return this._lastMouseMove !== null && new Date() - this._lastMouseMove < 600;\n };\n\n ScrollableList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n scrollKey = _props.scrollKey,\n trackScroll = _props.trackScroll,\n shouldUpdateScroll = _props.shouldUpdateScroll,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore,\n prepend = _props.prepend,\n emptyMessage = _props.emptyMessage;\n var fullscreen = this.state.fullscreen;\n\n var childrenCount = React.Children.count(children);\n\n var loadMore = hasMore && childrenCount > 0 ? _jsx(LoadMore, {\n visible: !isLoading,\n onClick: this.handleLoadMore\n }) : null;\n var scrollableArea = null;\n\n if (isLoading || childrenCount > 0 || !emptyMessage) {\n scrollableArea = React.createElement(\n 'div',\n { className: classNames('scrollable', { fullscreen: fullscreen }), ref: this.setRef, onMouseMove: this.handleMouseMove, onMouseLeave: this.handleMouseLeave },\n _jsx('div', {\n role: 'feed',\n className: 'item-list'\n }, void 0, prepend, React.Children.map(this.props.children, function (child, index) {\n return _jsx(IntersectionObserverArticleContainer, {\n id: child.key,\n index: index,\n listLength: childrenCount,\n intersectionObserverWrapper: _this2.intersectionObserverWrapper,\n saveHeightKey: trackScroll ? _this2.context.router.route.location.key + ':' + scrollKey : null\n }, child.key, child);\n }), loadMore)\n );\n } else {\n scrollableArea = React.createElement(\n 'div',\n { className: 'empty-column-indicator', ref: this.setRef },\n emptyMessage\n );\n }\n\n if (trackScroll) {\n return _jsx(ScrollContainer, {\n scrollKey: scrollKey,\n shouldUpdateScroll: shouldUpdateScroll\n }, void 0, scrollableArea);\n } else {\n return scrollableArea;\n }\n };\n\n return ScrollableList;\n}(PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { ScrollableList as default };" + }, + { + "id": 263, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "name": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "index": 666, + "index2": 660, + "size": 641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../containers/intersection_observer_article_container", + "loc": "12:0-105" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport IntersectionObserverArticle from '../components/intersection_observer_article';\nimport { setHeight } from '../actions/height_cache';\n\nvar makeMapStateToProps = function makeMapStateToProps(state, props) {\n return {\n cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onHeightChange: function onHeightChange(key, id, height) {\n dispatch(setHeight(key, id, height));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(IntersectionObserverArticle);" + }, + { + "id": 264, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "name": "./app/javascript/mastodon/components/intersection_observer_article.js", + "index": 667, + "index2": 659, + "size": 5582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "issuerId": 263, + "issuerName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "../components/intersection_observer_article", + "loc": "2:0-86" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport scheduleIdleTask from '../features/ui/util/schedule_idle_task';\nimport getRectFromEntry from '../features/ui/util/get_rect_from_entry';\nimport { is } from 'immutable';\n\n// Diff these props in the \"rendered\" state\nvar updateOnPropsForRendered = ['id', 'index', 'listLength'];\n// Diff these props in the \"unrendered\" state\nvar updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];\n\nvar IntersectionObserverArticle = function (_React$Component) {\n _inherits(IntersectionObserverArticle, _React$Component);\n\n function IntersectionObserverArticle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, IntersectionObserverArticle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n isHidden: false // set to true in requestIdleCallback to trigger un-render\n }, _this.handleIntersection = function (entry) {\n _this.entry = entry;\n\n scheduleIdleTask(_this.calculateHeight);\n _this.setState(_this.updateStateAfterIntersection);\n }, _this.updateStateAfterIntersection = function (prevState) {\n if (prevState.isIntersecting && !_this.entry.isIntersecting) {\n scheduleIdleTask(_this.hideIfNotIntersecting);\n }\n return {\n isIntersecting: _this.entry.isIntersecting,\n isHidden: false\n };\n }, _this.calculateHeight = function () {\n var _this$props = _this.props,\n onHeightChange = _this$props.onHeightChange,\n saveHeightKey = _this$props.saveHeightKey,\n id = _this$props.id;\n // save the height of the fully-rendered element (this is expensive\n // on Chrome, where we need to fall back to getBoundingClientRect)\n\n _this.height = getRectFromEntry(_this.entry).height;\n\n if (onHeightChange && saveHeightKey) {\n onHeightChange(saveHeightKey, id, _this.height);\n }\n }, _this.hideIfNotIntersecting = function () {\n if (!_this.componentMounted) {\n return;\n }\n\n // When the browser gets a chance, test if we're still not intersecting,\n // and if so, set our isHidden to true to trigger an unrender. The point of\n // this is to save DOM nodes and avoid using up too much memory.\n // See: https://github.com/tootsuite/mastodon/issues/2900\n _this.setState(function (prevState) {\n return { isHidden: !prevState.isIntersecting };\n });\n }, _this.handleRef = function (node) {\n _this.node = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n IntersectionObserverArticle.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n var _this2 = this;\n\n var isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);\n var willBeUnrendered = !nextState.isIntersecting && (nextState.isHidden || nextProps.cachedHeight);\n if (!!isUnrendered !== !!willBeUnrendered) {\n // If we're going from rendered to unrendered (or vice versa) then update\n return true;\n }\n // Otherwise, diff based on props\n var propsToDiff = isUnrendered ? updateOnPropsForUnrendered : updateOnPropsForRendered;\n return !propsToDiff.every(function (prop) {\n return is(nextProps[prop], _this2.props[prop]);\n });\n };\n\n IntersectionObserverArticle.prototype.componentDidMount = function componentDidMount() {\n var _props = this.props,\n intersectionObserverWrapper = _props.intersectionObserverWrapper,\n id = _props.id;\n\n\n intersectionObserverWrapper.observe(id, this.node, this.handleIntersection);\n\n this.componentMounted = true;\n };\n\n IntersectionObserverArticle.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n intersectionObserverWrapper = _props2.intersectionObserverWrapper,\n id = _props2.id;\n\n intersectionObserverWrapper.unobserve(id, this.node);\n\n this.componentMounted = false;\n };\n\n IntersectionObserverArticle.prototype.render = function render() {\n var _props3 = this.props,\n children = _props3.children,\n id = _props3.id,\n index = _props3.index,\n listLength = _props3.listLength,\n cachedHeight = _props3.cachedHeight;\n var _state = this.state,\n isIntersecting = _state.isIntersecting,\n isHidden = _state.isHidden;\n\n\n if (!isIntersecting && (isHidden || cachedHeight)) {\n return React.createElement(\n 'article',\n {\n ref: this.handleRef,\n 'aria-posinset': index,\n 'aria-setsize': listLength,\n style: { height: (this.height || cachedHeight) + 'px', opacity: 0, overflow: 'hidden' },\n 'data-id': id,\n tabIndex: '0'\n },\n children && React.cloneElement(children, { hidden: true })\n );\n }\n\n return React.createElement(\n 'article',\n { ref: this.handleRef, 'aria-posinset': index, 'aria-setsize': listLength, 'data-id': id, tabIndex: '0' },\n children && React.cloneElement(children, { hidden: false })\n );\n };\n\n return IntersectionObserverArticle;\n}(React.Component);\n\nexport { IntersectionObserverArticle as default };" + }, + { + "id": 265, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "name": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "index": 668, + "index2": 657, + "size": 753, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/schedule_idle_task", + "loc": "6:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "// Wrapper to call requestIdleCallback() to schedule low-priority work.\n// See https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API\n// for a good breakdown of the concepts behind this.\n\nimport Queue from 'tiny-queue';\n\nvar taskQueue = new Queue();\nvar runningRequestIdleCallback = false;\n\nfunction runTasks(deadline) {\n while (taskQueue.length && deadline.timeRemaining() > 0) {\n taskQueue.shift()();\n }\n if (taskQueue.length) {\n requestIdleCallback(runTasks);\n } else {\n runningRequestIdleCallback = false;\n }\n}\n\nfunction scheduleIdleTask(task) {\n taskQueue.push(task);\n if (!runningRequestIdleCallback) {\n runningRequestIdleCallback = true;\n requestIdleCallback(runTasks);\n }\n}\n\nexport default scheduleIdleTask;" + }, + { + "id": 266, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/tiny-queue/index.js", + "name": "./node_modules/tiny-queue/index.js", + "index": 669, + "index2": 656, + "size": 941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "issuerId": 265, + "issuerName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 265, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "module": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "type": "harmony import", + "userRequest": "tiny-queue", + "loc": "5:0-31" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\n// Simple FIFO queue implementation to avoid having to do shift()\n// on an array, which is slow.\n\nfunction Queue() {\n this.length = 0;\n}\n\nQueue.prototype.push = function (item) {\n var node = { item: item };\n if (this.last) {\n this.last = this.last.next = node;\n } else {\n this.last = this.first = node;\n }\n this.length++;\n};\n\nQueue.prototype.shift = function () {\n var node = this.first;\n if (node) {\n this.first = node.next;\n if (! --this.length) {\n this.last = undefined;\n }\n return node.item;\n }\n};\n\nQueue.prototype.slice = function (start, end) {\n start = typeof start === 'undefined' ? 0 : start;\n end = typeof end === 'undefined' ? Infinity : end;\n\n var output = [];\n\n var i = 0;\n for (var node = this.first; node; node = node.next) {\n if (--end < 0) {\n break;\n } else if (++i > start) {\n output.push(node.item);\n }\n }\n return output;\n};\n\nmodule.exports = Queue;" + }, + { + "id": 267, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "name": "./app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "index": 670, + "index2": 658, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/get_rect_from_entry", + "loc": "7:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "\n// Get the bounding client rect from an IntersectionObserver entry.\n// This is to work around a bug in Chrome: https://crbug.com/737228\n\nvar hasBoundingRectBug = void 0;\n\nfunction getRectFromEntry(entry) {\n if (typeof hasBoundingRectBug !== 'boolean') {\n var boundingRect = entry.target.getBoundingClientRect();\n var observerRect = entry.boundingClientRect;\n hasBoundingRectBug = boundingRect.height !== observerRect.height || boundingRect.top !== observerRect.top || boundingRect.width !== observerRect.width || boundingRect.bottom !== observerRect.bottom || boundingRect.left !== observerRect.left || boundingRect.right !== observerRect.right;\n }\n return hasBoundingRectBug ? entry.target.getBoundingClientRect() : entry.boundingClientRect;\n}\n\nexport default getRectFromEntry;" + }, + { + "id": 268, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "name": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "index": 672, + "index2": 662, + "size": 2097, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../features/ui/util/intersection_observer_wrapper", + "loc": "14:0-92" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\n\n// Wrapper for IntersectionObserver in order to make working with it\n// a bit easier. We also follow this performance advice:\n// \"If you need to observe multiple elements, it is both possible and\n// advised to observe multiple elements using the same IntersectionObserver\n// instance by calling observe() multiple times.\"\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n\nvar IntersectionObserverWrapper = function () {\n function IntersectionObserverWrapper() {\n _classCallCheck(this, IntersectionObserverWrapper);\n\n this.callbacks = {};\n this.observerBacklog = [];\n this.observer = null;\n }\n\n IntersectionObserverWrapper.prototype.connect = function connect(options) {\n var _this = this;\n\n var onIntersection = function onIntersection(entries) {\n entries.forEach(function (entry) {\n var id = entry.target.getAttribute('data-id');\n if (_this.callbacks[id]) {\n _this.callbacks[id](entry);\n }\n });\n };\n\n this.observer = new IntersectionObserver(onIntersection, options);\n this.observerBacklog.forEach(function (_ref) {\n var id = _ref[0],\n node = _ref[1],\n callback = _ref[2];\n\n _this.observe(id, node, callback);\n });\n this.observerBacklog = null;\n };\n\n IntersectionObserverWrapper.prototype.observe = function observe(id, node, callback) {\n if (!this.observer) {\n this.observerBacklog.push([id, node, callback]);\n } else {\n this.callbacks[id] = callback;\n this.observer.observe(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.unobserve = function unobserve(id, node) {\n if (this.observer) {\n delete this.callbacks[id];\n this.observer.unobserve(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.disconnect = function disconnect() {\n if (this.observer) {\n this.callbacks = {};\n this.observer.disconnect();\n this.observer = null;\n }\n };\n\n return IntersectionObserverWrapper;\n}();\n\nexport default IntersectionObserverWrapper;" + }, + { + "id": 269, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "name": "./app/javascript/mastodon/components/status_list.js", + "index": 348, + "index2": 753, + "size": 3062, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "issuerId": 158, + "issuerName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "../../../components/status_list", + "loc": "3:0-57" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "15:0-54" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "14:0-54" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "16:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport StatusContainer from '../containers/status_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ScrollableList from './scrollable_list';\n\nvar StatusList = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(StatusList, _ImmutablePureCompone);\n\n function StatusList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StatusList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleMoveUp = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) - 1;\n _this._selectChild(elementIndex);\n }, _this.handleMoveDown = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) + 1;\n _this._selectChild(elementIndex);\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StatusList.prototype._selectChild = function _selectChild(index) {\n var element = this.node.node.querySelector('article:nth-of-type(' + (index + 1) + ') .focusable');\n\n if (element) {\n element.focus();\n }\n };\n\n StatusList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n statusIds = _props.statusIds,\n other = _objectWithoutProperties(_props, ['statusIds']);\n\n var isLoading = other.isLoading;\n\n\n var scrollableContent = isLoading || statusIds.size > 0 ? statusIds.map(function (statusId) {\n return _jsx(StatusContainer, {\n id: statusId,\n onMoveUp: _this2.handleMoveUp,\n onMoveDown: _this2.handleMoveDown\n }, statusId);\n }) : null;\n\n return React.createElement(\n ScrollableList,\n _extends({}, other, { ref: this.setRef }),\n scrollableContent\n );\n };\n\n return StatusList;\n}(ImmutablePureComponent), _class.propTypes = {\n scrollKey: PropTypes.string.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n onScrollToBottom: PropTypes.func,\n onScrollToTop: PropTypes.func,\n onScroll: PropTypes.func,\n trackScroll: PropTypes.bool,\n shouldUpdateScroll: PropTypes.func,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n prepend: PropTypes.node,\n emptyMessage: PropTypes.node\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { StatusList as default };" + }, + { + "id": 274, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "name": "./app/javascript/mastodon/actions/streaming.js", + "index": 681, + "index2": 687, + "size": 3116, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "../actions/streaming", + "loc": "14:0-57" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "18:0-62" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "18:0-65" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "17:0-63" + } + ], + "usedExports": [ + "connectCommunityStream", + "connectHashtagStream", + "connectPublicStream", + "connectUserStream" + ], + "providedExports": [ + "connectTimelineStream", + "connectUserStream", + "connectCommunityStream", + "connectMediaStream", + "connectPublicStream", + "connectHashtagStream" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import createStream from '../stream';\nimport { updateTimeline, deleteFromTimelines, refreshHomeTimeline, connectTimeline, disconnectTimeline } from './timelines';\nimport { updateNotifications, refreshNotifications } from './notifications';\nimport { getLocale } from '../locales';\n\nvar _getLocale = getLocale(),\n messages = _getLocale.messages;\n\nexport function connectTimelineStream(timelineId, path) {\n var pollingRefresh = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n return function (dispatch, getState) {\n var streamingAPIBaseURL = getState().getIn(['meta', 'streaming_api_base_url']);\n var accessToken = getState().getIn(['meta', 'access_token']);\n var locale = getState().getIn(['meta', 'locale']);\n var polling = null;\n\n var setupPolling = function setupPolling() {\n polling = setInterval(function () {\n pollingRefresh(dispatch);\n }, 20000);\n };\n\n var clearPolling = function clearPolling() {\n if (polling) {\n clearInterval(polling);\n polling = null;\n }\n };\n\n var subscription = createStream(streamingAPIBaseURL, accessToken, path, {\n connected: function connected() {\n if (pollingRefresh) {\n clearPolling();\n }\n dispatch(connectTimeline(timelineId));\n },\n disconnected: function disconnected() {\n if (pollingRefresh) {\n setupPolling();\n }\n dispatch(disconnectTimeline(timelineId));\n },\n received: function received(data) {\n switch (data.event) {\n case 'update':\n dispatch(updateTimeline(timelineId, JSON.parse(data.payload)));\n break;\n case 'delete':\n dispatch(deleteFromTimelines(data.payload));\n break;\n case 'notification':\n dispatch(updateNotifications(JSON.parse(data.payload), messages, locale));\n break;\n }\n },\n reconnected: function reconnected() {\n if (pollingRefresh) {\n clearPolling();\n pollingRefresh(dispatch);\n }\n dispatch(connectTimeline(timelineId));\n }\n });\n\n var disconnect = function disconnect() {\n if (subscription) {\n subscription.close();\n }\n clearPolling();\n };\n\n return disconnect;\n };\n}\n\nfunction refreshHomeTimelineAndNotification(dispatch) {\n dispatch(refreshHomeTimeline());\n dispatch(refreshNotifications());\n}\n\nexport var connectUserStream = function connectUserStream() {\n return connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification);\n};\nexport var connectCommunityStream = function connectCommunityStream() {\n return connectTimelineStream('community', 'public:local');\n};\nexport var connectMediaStream = function connectMediaStream() {\n return connectTimelineStream('community', 'public:local');\n};\nexport var connectPublicStream = function connectPublicStream() {\n return connectTimelineStream('public', 'public');\n};\nexport var connectHashtagStream = function connectHashtagStream(tag) {\n return connectTimelineStream('hashtag:' + tag, 'hashtag&tag=' + tag);\n};" + }, + { + "id": 275, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "name": "./app/javascript/mastodon/stream.js", + "index": 682, + "index2": 686, + "size": 581, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "issuerId": 274, + "issuerName": "./app/javascript/mastodon/actions/streaming.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 274, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "module": "./app/javascript/mastodon/actions/streaming.js", + "moduleName": "./app/javascript/mastodon/actions/streaming.js", + "type": "harmony import", + "userRequest": "../stream", + "loc": "1:0-37" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import WebSocketClient from 'websocket.js';\n\nexport default function getStream(streamingAPIBaseURL, accessToken, stream, _ref) {\n var connected = _ref.connected,\n received = _ref.received,\n disconnected = _ref.disconnected,\n reconnected = _ref.reconnected;\n\n var ws = new WebSocketClient(streamingAPIBaseURL + '/api/v1/streaming/?access_token=' + accessToken + '&stream=' + stream);\n\n ws.onopen = connected;\n ws.onmessage = function (e) {\n return received(JSON.parse(e.data));\n };\n ws.onclose = disconnected;\n ws.onreconnect = reconnected;\n\n return ws;\n};" + }, + { + "id": 276, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "name": "./node_modules/websocket.js/lib/index.js", + "index": 683, + "index2": 685, + "size": 10253, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "issuerId": 275, + "issuerName": "./app/javascript/mastodon/stream.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 275, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "module": "./app/javascript/mastodon/stream.js", + "moduleName": "./app/javascript/mastodon/stream.js", + "type": "harmony import", + "userRequest": "websocket.js", + "loc": "1:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}var backoff = require('backoff');var WebSocketClient = function () {\n /**\n * @param url DOMString The URL to which to connect; this should be the URL to which the WebSocket server will respond.\n * @param protocols DOMString|DOMString[] Either a single protocol string or an array of protocol strings. These strings are used to indicate sub-protocols, so that a single server can implement multiple WebSocket sub-protocols (for example, you might want one server to be able to handle different types of interactions depending on the specified protocol). If you don't specify a protocol string, an empty string is assumed.\n */function WebSocketClient(url, protocols) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};_classCallCheck(this, WebSocketClient);this.url = url;this.protocols = protocols;this.reconnectEnabled = true;this.listeners = {};this.backoff = backoff[options.backoff || 'fibonacci'](options);this.backoff.on('backoff', this.onBackoffStart.bind(this));this.backoff.on('ready', this.onBackoffReady.bind(this));this.backoff.on('fail', this.onBackoffFail.bind(this));this.open();\n }_createClass(WebSocketClient, [{ key: 'open', value: function open() {\n var reconnect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;this.isReconnect = reconnect;this.ws = new WebSocket(this.url, this.protocols);this.ws.onclose = this.onCloseCallback.bind(this);this.ws.onerror = this.onErrorCallback.bind(this);this.ws.onmessage = this.onMessageCallback.bind(this);this.ws.onopen = this.onOpenCallback.bind(this);\n } /**\n * @ignore\n */ }, { key: 'onBackoffStart', value: function onBackoffStart(number, delay) {} /**\n * @ignore\n */ }, { key: 'onBackoffReady', value: function onBackoffReady(number, delay) {\n // console.log(\"onBackoffReady\", number + ' ' + delay + 'ms');\n this.open(true);\n } /**\n * @ignore\n */ }, { key: 'onBackoffFail', value: function onBackoffFail() {} /**\n * @ignore\n */ }, { key: 'onCloseCallback', value: function onCloseCallback() {\n if (!this.isReconnect && this.listeners['onclose']) this.listeners['onclose'].apply(null, arguments);if (this.reconnectEnabled) {\n this.backoff.backoff();\n }\n } /**\n * @ignore\n */ }, { key: 'onErrorCallback', value: function onErrorCallback() {\n if (this.listeners['onerror']) this.listeners['onerror'].apply(null, arguments);\n } /**\n * @ignore\n */ }, { key: 'onMessageCallback', value: function onMessageCallback() {\n if (this.listeners['onmessage']) this.listeners['onmessage'].apply(null, arguments);\n } /**\n * @ignore\n */ }, { key: 'onOpenCallback', value: function onOpenCallback() {\n if (this.listeners['onopen']) this.listeners['onopen'].apply(null, arguments);if (this.isReconnect && this.listeners['onreconnect']) this.listeners['onreconnect'].apply(null, arguments);this.isReconnect = false;\n } /**\n * The number of bytes of data that have been queued using calls to send()\n * but not yet transmitted to the network. This value does not reset to zero\n * when the connection is closed; if you keep calling send(), this will\n * continue to climb.\n *\n * @type unsigned long\n * @readonly\n */ }, { key: 'close', /**\n * Closes the WebSocket connection or connection attempt, if any. If the\n * connection is already CLOSED, this method does nothing.\n *\n * @param code A numeric value indicating the status code explaining why the connection is being closed. If this parameter is not specified, a default value of 1000 (indicating a normal \"transaction complete\" closure) is assumed. See the list of status codes on the CloseEvent page for permitted values.\n * @param reason A human-readable string explaining why the connection is closing. This string must be no longer than 123 bytes of UTF-8 text (not characters).\n *\n * @return void\n */value: function close(code, reason) {\n if (typeof code == 'undefined') {\n code = 1000;\n }this.reconnectEnabled = false;this.ws.close(code, reason);\n } /**\n * Transmits data to the server over the WebSocket connection.\n * @param data DOMString|ArrayBuffer|Blob\n * @return void\n */ }, { key: 'send', value: function send(data) {\n this.ws.send(data);\n } /**\n * An event listener to be called when the WebSocket connection's readyState changes to CLOSED. The listener receives a CloseEvent named \"close\".\n * @param listener EventListener\n */ }, { key: 'bufferedAmount', get: function get() {\n return this.ws.bufferedAmount;\n } /**\n * The current state of the connection; this is one of the Ready state constants.\n * @type unsigned short\n * @readonly\n */ }, { key: 'readyState', get: function get() {\n return this.ws.readyState;\n } /**\n * A string indicating the type of binary data being transmitted by the\n * connection. This should be either \"blob\" if DOM Blob objects are being\n * used or \"arraybuffer\" if ArrayBuffer objects are being used.\n * @type DOMString\n */ }, { key: 'binaryType', get: function get() {\n return this.ws.binaryType;\n }, set: function set(binaryType) {\n this.ws.binaryType = binaryType;\n } /**\n * The extensions selected by the server. This is currently only the empty\n * string or a list of extensions as negotiated by the connection.\n * @type DOMString\n */ }, { key: 'extensions', get: function get() {\n return this.ws.extensions;\n }, set: function set(extensions) {\n this.ws.extensions = extensions;\n } /**\n * A string indicating the name of the sub-protocol the server selected;\n * this will be one of the strings specified in the protocols parameter when\n * creating the WebSocket object.\n * @type DOMString\n */ }, { key: 'protocol', get: function get() {\n return this.ws.protocol;\n }, set: function set(protocol) {\n this.ws.protocol = protocol;\n } }, { key: 'onclose', set: function set(listener) {\n this.listeners['onclose'] = listener;\n }, get: function get() {\n return this.listeners['onclose'];\n } /**\n * An event listener to be called when an error occurs. This is a simple event named \"error\".\n * @param listener EventListener\n */ }, { key: 'onerror', set: function set(listener) {\n this.listeners['onerror'] = listener;\n }, get: function get() {\n return this.listeners['onerror'];\n } /**\n * An event listener to be called when a message is received from the server. The listener receives a MessageEvent named \"message\".\n * @param listener EventListener\n */ }, { key: 'onmessage', set: function set(listener) {\n this.listeners['onmessage'] = listener;\n }, get: function get() {\n return this.listeners['onmessage'];\n } /**\n * An event listener to be called when the WebSocket connection's readyState changes to OPEN; this indicates that the connection is ready to send and receive data. The event is a simple one with the name \"open\".\n * @param listener EventListener\n */ }, { key: 'onopen', set: function set(listener) {\n this.listeners['onopen'] = listener;\n }, get: function get() {\n return this.listeners['onopen'];\n } /**\n * @param listener EventListener\n */ }, { key: 'onreconnect', set: function set(listener) {\n this.listeners['onreconnect'] = listener;\n }, get: function get() {\n return this.listeners['onreconnect'];\n } }]);return WebSocketClient;\n}(); /**\n * The connection is not yet open.\n */WebSocketClient.CONNECTING = WebSocket.CONNECTING; /**\n * The connection is open and ready to communicate.\n */WebSocketClient.OPEN = WebSocket.OPEN; /**\n * The connection is in the process of closing.\n */WebSocketClient.CLOSING = WebSocket.CLOSING; /**\n * The connection is closed or couldn't be opened.\n */WebSocketClient.CLOSED = WebSocket.CLOSED;exports.default = WebSocketClient;" + }, + { + "id": 277, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "name": "./node_modules/backoff/index.js", + "index": 684, + "index2": 684, + "size": 1160, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "issuerId": 276, + "issuerName": "./node_modules/websocket.js/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 276, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "module": "./node_modules/websocket.js/lib/index.js", + "moduleName": "./node_modules/websocket.js/lib/index.js", + "type": "cjs require", + "userRequest": "backoff", + "loc": "14:15-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar Backoff = require('./lib/backoff');\nvar ExponentialBackoffStrategy = require('./lib/strategy/exponential');\nvar FibonacciBackoffStrategy = require('./lib/strategy/fibonacci');\nvar FunctionCall = require('./lib/function_call.js');\n\nmodule.exports.Backoff = Backoff;\nmodule.exports.FunctionCall = FunctionCall;\nmodule.exports.FibonacciStrategy = FibonacciBackoffStrategy;\nmodule.exports.ExponentialStrategy = ExponentialBackoffStrategy;\n\n// Constructs a Fibonacci backoff.\nmodule.exports.fibonacci = function (options) {\n return new Backoff(new FibonacciBackoffStrategy(options));\n};\n\n// Constructs an exponential backoff.\nmodule.exports.exponential = function (options) {\n return new Backoff(new ExponentialBackoffStrategy(options));\n};\n\n// Constructs a FunctionCall for the given function and arguments.\nmodule.exports.call = function (fn, vargs, callback) {\n var args = Array.prototype.slice.call(arguments);\n fn = args[0];\n vargs = args.slice(1, args.length - 1);\n callback = args[args.length - 1];\n return new FunctionCall(fn, vargs, callback);\n};" + }, + { + "id": 278, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "name": "./node_modules/precond/lib/checks.js", + "index": 688, + "index2": 677, + "size": 2676, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "issuerId": 93, + "issuerName": "./node_modules/precond/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 93, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "module": "./node_modules/precond/index.js", + "moduleName": "./node_modules/precond/index.js", + "type": "cjs require", + "userRequest": "./lib/checks", + "loc": "6:17-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nvar util = require('util');\n\nvar errors = module.exports = require('./errors');\n\nfunction failCheck(ExceptionConstructor, callee, messageFormat, formatArgs) {\n messageFormat = messageFormat || '';\n var message = util.format.apply(this, [messageFormat].concat(formatArgs));\n var error = new ExceptionConstructor(message);\n Error.captureStackTrace(error, callee);\n throw error;\n}\n\nfunction failArgumentCheck(callee, message, formatArgs) {\n failCheck(errors.IllegalArgumentError, callee, message, formatArgs);\n}\n\nfunction failStateCheck(callee, message, formatArgs) {\n failCheck(errors.IllegalStateError, callee, message, formatArgs);\n}\n\nmodule.exports.checkArgument = function (value, message) {\n if (!value) {\n failArgumentCheck(arguments.callee, message, Array.prototype.slice.call(arguments, 2));\n }\n};\n\nmodule.exports.checkState = function (value, message) {\n if (!value) {\n failStateCheck(arguments.callee, message, Array.prototype.slice.call(arguments, 2));\n }\n};\n\nmodule.exports.checkIsDef = function (value, message) {\n if (value !== undefined) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected value to be defined but was undefined.', Array.prototype.slice.call(arguments, 2));\n};\n\nmodule.exports.checkIsDefAndNotNull = function (value, message) {\n // Note that undefined == null.\n if (value != null) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected value to be defined and not null but got \"' + typeOf(value) + '\".', Array.prototype.slice.call(arguments, 2));\n};\n\n// Fixed version of the typeOf operator which returns 'null' for null values\n// and 'array' for arrays.\nfunction typeOf(value) {\n var s = typeof value;\n if (s == 'object') {\n if (!value) {\n return 'null';\n } else if (value instanceof Array) {\n return 'array';\n }\n }\n return s;\n}\n\nfunction typeCheck(expect) {\n return function (value, message) {\n var type = typeOf(value);\n\n if (type == expect) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected \"' + expect + '\" but got \"' + type + '\".', Array.prototype.slice.call(arguments, 2));\n };\n}\n\nmodule.exports.checkIsString = typeCheck('string');\nmodule.exports.checkIsArray = typeCheck('array');\nmodule.exports.checkIsNumber = typeCheck('number');\nmodule.exports.checkIsBoolean = typeCheck('boolean');\nmodule.exports.checkIsFunction = typeCheck('function');\nmodule.exports.checkIsObject = typeCheck('object');" + }, + { + "id": 279, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/support/isBufferBrowser.js", + "name": "./node_modules/util/support/isBufferBrowser.js", + "index": 690, + "index2": 673, + "size": 192, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "issuerId": 32, + "issuerName": "./node_modules/util/util.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 32, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "module": "./node_modules/util/util.js", + "moduleName": "./node_modules/util/util.js", + "type": "cjs require", + "userRequest": "./support/isBuffer", + "loc": "491:19-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function';\n};" + }, + { + "id": 280, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/node_modules/inherits/inherits_browser.js", + "name": "./node_modules/util/node_modules/inherits/inherits_browser.js", + "index": 691, + "index2": 674, + "size": 678, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "issuerId": 32, + "issuerName": "./node_modules/util/util.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 32, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "module": "./node_modules/util/util.js", + "moduleName": "./node_modules/util/util.js", + "type": "cjs require", + "userRequest": "inherits", + "loc": "528:19-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n };\n}" + }, + { + "id": 281, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/errors.js", + "name": "./node_modules/precond/lib/errors.js", + "index": 692, + "index2": 676, + "size": 632, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "issuerId": 278, + "issuerName": "./node_modules/precond/lib/checks.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 278, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "module": "./node_modules/precond/lib/checks.js", + "moduleName": "./node_modules/precond/lib/checks.js", + "type": "cjs require", + "userRequest": "./errors", + "loc": "8:30-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nvar util = require('util');\n\nfunction IllegalArgumentError(message) {\n Error.call(this, message);\n this.message = message;\n}\nutil.inherits(IllegalArgumentError, Error);\n\nIllegalArgumentError.prototype.name = 'IllegalArgumentError';\n\nfunction IllegalStateError(message) {\n Error.call(this, message);\n this.message = message;\n}\nutil.inherits(IllegalStateError, Error);\n\nIllegalStateError.prototype.name = 'IllegalStateError';\n\nmodule.exports.IllegalStateError = IllegalStateError;\nmodule.exports.IllegalArgumentError = IllegalArgumentError;" + }, + { + "id": 282, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "name": "./node_modules/backoff/lib/strategy/exponential.js", + "index": 693, + "index2": 681, + "size": 1397, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/strategy/exponential", + "loc": "5:33-70" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar util = require('util');\nvar precond = require('precond');\n\nvar BackoffStrategy = require('./strategy');\n\n// Exponential backoff strategy.\nfunction ExponentialBackoffStrategy(options) {\n BackoffStrategy.call(this, options);\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n this.factor_ = ExponentialBackoffStrategy.DEFAULT_FACTOR;\n\n if (options && options.factor !== undefined) {\n precond.checkArgument(options.factor > 1, 'Exponential factor should be greater than 1 but got %s.', options.factor);\n this.factor_ = options.factor;\n }\n}\nutil.inherits(ExponentialBackoffStrategy, BackoffStrategy);\n\n// Default multiplication factor used to compute the next backoff delay from\n// the current one. The value can be overridden by passing a custom factor as\n// part of the options.\nExponentialBackoffStrategy.DEFAULT_FACTOR = 2;\n\nExponentialBackoffStrategy.prototype.next_ = function () {\n this.backoffDelay_ = Math.min(this.nextBackoffDelay_, this.getMaxDelay());\n this.nextBackoffDelay_ = this.backoffDelay_ * this.factor_;\n return this.backoffDelay_;\n};\n\nExponentialBackoffStrategy.prototype.reset_ = function () {\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n};\n\nmodule.exports = ExponentialBackoffStrategy;" + }, + { + "id": 283, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "name": "./node_modules/backoff/lib/function_call.js", + "index": 696, + "index2": 683, + "size": 6157, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/function_call.js", + "loc": "7:19-52" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar precond = require('precond');\nvar util = require('util');\n\nvar Backoff = require('./backoff');\nvar FibonacciBackoffStrategy = require('./strategy/fibonacci');\n\n// Wraps a function to be called in a backoff loop.\nfunction FunctionCall(fn, args, callback) {\n events.EventEmitter.call(this);\n\n precond.checkIsFunction(fn, 'Expected fn to be a function.');\n precond.checkIsArray(args, 'Expected args to be an array.');\n precond.checkIsFunction(callback, 'Expected callback to be a function.');\n\n this.function_ = fn;\n this.arguments_ = args;\n this.callback_ = callback;\n this.lastResult_ = [];\n this.numRetries_ = 0;\n\n this.backoff_ = null;\n this.strategy_ = null;\n this.failAfter_ = -1;\n this.retryPredicate_ = FunctionCall.DEFAULT_RETRY_PREDICATE_;\n\n this.state_ = FunctionCall.State_.PENDING;\n}\nutil.inherits(FunctionCall, events.EventEmitter);\n\n// States in which the call can be.\nFunctionCall.State_ = {\n // Call isn't started yet.\n PENDING: 0,\n // Call is in progress.\n RUNNING: 1,\n // Call completed successfully which means that either the wrapped function\n // returned successfully or the maximal number of backoffs was reached.\n COMPLETED: 2,\n // The call was aborted.\n ABORTED: 3\n};\n\n// The default retry predicate which considers any error as retriable.\nFunctionCall.DEFAULT_RETRY_PREDICATE_ = function (err) {\n return true;\n};\n\n// Checks whether the call is pending.\nFunctionCall.prototype.isPending = function () {\n return this.state_ == FunctionCall.State_.PENDING;\n};\n\n// Checks whether the call is in progress.\nFunctionCall.prototype.isRunning = function () {\n return this.state_ == FunctionCall.State_.RUNNING;\n};\n\n// Checks whether the call is completed.\nFunctionCall.prototype.isCompleted = function () {\n return this.state_ == FunctionCall.State_.COMPLETED;\n};\n\n// Checks whether the call is aborted.\nFunctionCall.prototype.isAborted = function () {\n return this.state_ == FunctionCall.State_.ABORTED;\n};\n\n// Sets the backoff strategy to use. Can only be called before the call is\n// started otherwise an exception will be thrown.\nFunctionCall.prototype.setStrategy = function (strategy) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.strategy_ = strategy;\n return this; // Return this for chaining.\n};\n\n// Sets the predicate which will be used to determine whether the errors\n// returned from the wrapped function should be retried or not, e.g. a\n// network error would be retriable while a type error would stop the\n// function call.\nFunctionCall.prototype.retryIf = function (retryPredicate) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.retryPredicate_ = retryPredicate;\n return this;\n};\n\n// Returns all intermediary results returned by the wrapped function since\n// the initial call.\nFunctionCall.prototype.getLastResult = function () {\n return this.lastResult_.concat();\n};\n\n// Returns the number of times the wrapped function call was retried.\nFunctionCall.prototype.getNumRetries = function () {\n return this.numRetries_;\n};\n\n// Sets the backoff limit.\nFunctionCall.prototype.failAfter = function (maxNumberOfRetry) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.failAfter_ = maxNumberOfRetry;\n return this; // Return this for chaining.\n};\n\n// Aborts the call.\nFunctionCall.prototype.abort = function () {\n if (this.isCompleted() || this.isAborted()) {\n return;\n }\n\n if (this.isRunning()) {\n this.backoff_.reset();\n }\n\n this.state_ = FunctionCall.State_.ABORTED;\n this.lastResult_ = [new Error('Backoff aborted.')];\n this.emit('abort');\n this.doCallback_();\n};\n\n// Initiates the call to the wrapped function. Accepts an optional factory\n// function used to create the backoff instance; used when testing.\nFunctionCall.prototype.start = function (backoffFactory) {\n precond.checkState(!this.isAborted(), 'FunctionCall is aborted.');\n precond.checkState(this.isPending(), 'FunctionCall already started.');\n\n var strategy = this.strategy_ || new FibonacciBackoffStrategy();\n\n this.backoff_ = backoffFactory ? backoffFactory(strategy) : new Backoff(strategy);\n\n this.backoff_.on('ready', this.doCall_.bind(this, true /* isRetry */));\n this.backoff_.on('fail', this.doCallback_.bind(this));\n this.backoff_.on('backoff', this.handleBackoff_.bind(this));\n\n if (this.failAfter_ > 0) {\n this.backoff_.failAfter(this.failAfter_);\n }\n\n this.state_ = FunctionCall.State_.RUNNING;\n this.doCall_(false /* isRetry */);\n};\n\n// Calls the wrapped function.\nFunctionCall.prototype.doCall_ = function (isRetry) {\n if (isRetry) {\n this.numRetries_++;\n }\n var eventArgs = ['call'].concat(this.arguments_);\n events.EventEmitter.prototype.emit.apply(this, eventArgs);\n var callback = this.handleFunctionCallback_.bind(this);\n this.function_.apply(null, this.arguments_.concat(callback));\n};\n\n// Calls the wrapped function's callback with the last result returned by the\n// wrapped function.\nFunctionCall.prototype.doCallback_ = function () {\n this.callback_.apply(null, this.lastResult_);\n};\n\n// Handles wrapped function's completion. This method acts as a replacement\n// for the original callback function.\nFunctionCall.prototype.handleFunctionCallback_ = function () {\n if (this.isAborted()) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments);\n this.lastResult_ = args; // Save last callback arguments.\n events.EventEmitter.prototype.emit.apply(this, ['callback'].concat(args));\n\n var err = args[0];\n if (err && this.retryPredicate_(err)) {\n this.backoff_.backoff(err);\n } else {\n this.state_ = FunctionCall.State_.COMPLETED;\n this.doCallback_();\n }\n};\n\n// Handles the backoff event by reemitting it.\nFunctionCall.prototype.handleBackoff_ = function (number, delay, err) {\n this.emit('backoff', number, delay, err);\n};\n\nmodule.exports = FunctionCall;" + }, + { + "id": 755, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "name": "./app/javascript/mastodon/features/public_timeline/index.js", + "index": 678, + "index2": 688, + "size": 4155, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../public_timeline", + "loc": "18:9-91" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport StatusListContainer from '../ui/containers/status_list_container';\nimport Column from '../../components/column';\nimport ColumnHeader from '../../components/column_header';\nimport { refreshPublicTimeline, expandPublicTimeline } from '../../actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { connectPublicStream } from '../../actions/streaming';\n\nvar messages = defineMessages({\n title: {\n 'id': 'column.public',\n 'defaultMessage': 'Federated timeline'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n hasUnread: state.getIn(['timelines', 'public', 'unread']) > 0\n };\n};\n\nvar PublicTimeline = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = function (_React$PureComponent) {\n _inherits(PublicTimeline, _React$PureComponent);\n\n function PublicTimeline() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, PublicTimeline);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handlePin = function () {\n var _this$props = _this.props,\n columnId = _this$props.columnId,\n dispatch = _this$props.dispatch;\n\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('PUBLIC', {}));\n }\n }, _this.handleMove = function (dir) {\n var _this$props2 = _this.props,\n columnId = _this$props2.columnId,\n dispatch = _this$props2.dispatch;\n\n dispatch(moveColumn(columnId, dir));\n }, _this.handleHeaderClick = function () {\n _this.column.scrollTop();\n }, _this.setRef = function (c) {\n _this.column = c;\n }, _this.handleLoadMore = function () {\n _this.props.dispatch(expandPublicTimeline());\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n PublicTimeline.prototype.componentDidMount = function componentDidMount() {\n var dispatch = this.props.dispatch;\n\n\n dispatch(refreshPublicTimeline());\n this.disconnect = dispatch(connectPublicStream());\n };\n\n PublicTimeline.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n };\n\n PublicTimeline.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n columnId = _props.columnId,\n hasUnread = _props.hasUnread,\n multiColumn = _props.multiColumn;\n\n var pinned = !!columnId;\n\n return React.createElement(\n Column,\n { ref: this.setRef },\n _jsx(ColumnHeader, {\n icon: 'globe',\n active: hasUnread,\n title: intl.formatMessage(messages.title),\n onPin: this.handlePin,\n onMove: this.handleMove,\n onClick: this.handleHeaderClick,\n pinned: pinned,\n multiColumn: multiColumn\n }, void 0, _jsx(ColumnSettingsContainer, {})),\n _jsx(StatusListContainer, {\n timelineId: 'public',\n loadMore: this.handleLoadMore,\n trackScroll: !pinned,\n scrollKey: 'public_timeline-' + columnId,\n emptyMessage: _jsx(FormattedMessage, {\n id: 'empty_column.public',\n defaultMessage: 'There is nothing here! Write something publicly, or manually follow users from other instances to fill it up'\n })\n })\n );\n };\n\n return PublicTimeline;\n}(React.PureComponent)) || _class) || _class);\nexport { PublicTimeline as default };" + }, + { + "id": 794, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/setting_text.js", + "name": "./app/javascript/mastodon/components/setting_text.js", + "index": 677, + "index2": 666, + "size": 1483, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 9 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "issuerId": 889, + "issuerName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "../../../components/setting_text", + "loc": "11:0-59" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "../../../components/setting_text", + "loc": "12:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar SettingText = function (_React$PureComponent) {\n _inherits(SettingText, _React$PureComponent);\n\n function SettingText() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, SettingText);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleChange = function (e) {\n _this.props.onChange(_this.props.settingKey, e.target.value);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n SettingText.prototype.render = function render() {\n var _props = this.props,\n settings = _props.settings,\n settingKey = _props.settingKey,\n label = _props.label;\n\n\n return _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, label), _jsx('input', {\n className: 'setting-text',\n value: settings.getIn(settingKey),\n onChange: this.handleChange,\n placeholder: label\n }));\n };\n\n return SettingText;\n}(React.PureComponent);\n\nexport { SettingText as default };" + }, + { + "id": 805, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "name": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "index": 680, + "index2": 670, + "size": 1737, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "issuerId": 890, + "issuerName": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 890, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../../community_timeline/components/column_settings", + "loc": "2:0-81" + }, + { + "moduleId": 891, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../components/column_settings", + "loc": "2:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\n\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport SettingText from '../../../components/setting_text';\n\nvar messages = defineMessages({\n filter_regex: {\n 'id': 'home.column_settings.filter_regex',\n 'defaultMessage': 'Filter out by regular expressions'\n },\n settings: {\n 'id': 'home.settings',\n 'defaultMessage': 'Column settings'\n }\n});\n\nvar ColumnSettings = injectIntl(_class = function (_React$PureComponent) {\n _inherits(ColumnSettings, _React$PureComponent);\n\n function ColumnSettings() {\n _classCallCheck(this, ColumnSettings);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n ColumnSettings.prototype.render = function render() {\n var _props = this.props,\n settings = _props.settings,\n onChange = _props.onChange,\n intl = _props.intl;\n\n\n return _jsx('div', {}, void 0, _jsx('span', {\n className: 'column-settings__section'\n }, void 0, _jsx(FormattedMessage, {\n id: 'home.column_settings.advanced',\n defaultMessage: 'Advanced'\n })), _jsx('div', {\n className: 'column-settings__row'\n }, void 0, _jsx(SettingText, {\n settings: settings,\n settingKey: ['regex', 'body'],\n onChange: onChange,\n label: intl.formatMessage(messages.filter_regex)\n })));\n };\n\n return ColumnSettings;\n}(React.PureComponent)) || _class;\n\nexport { ColumnSettings as default };" + }, + { + "id": 890, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "name": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "index": 679, + "index2": 671, + "size": 586, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "issuerId": 755, + "issuerName": "./app/javascript/mastodon/features/public_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "./containers/column_settings_container", + "loc": "17:0-77" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport ColumnSettings from '../../community_timeline/components/column_settings';\nimport { changeSetting } from '../../../actions/settings';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n settings: state.getIn(['settings', 'public'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(key, checked) {\n dispatch(changeSetting(['public'].concat(key), checked));\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "18:9-91", + "name": "features/public_timeline", + "reasons": [] + } + ] + }, + { + "id": 5, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 94092, + "names": [ + "features/community_timeline" + ], + "files": [ + "features/community_timeline-20bc8a94c08809c127d0.js", + "features/community_timeline-20bc8a94c08809c127d0.js.map" + ], + "hash": "20bc8a94c08809c127d0", + "parents": [ + 2, + 3, + 4, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 32, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "name": "./node_modules/util/util.js", + "index": 689, + "index2": 675, + "size": 15214, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 156, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "module": "./node_modules/backoff/lib/strategy/strategy.js", + "moduleName": "./node_modules/backoff/lib/strategy/strategy.js", + "type": "cjs require", + "userRequest": "util", + "loc": "5:11-26" + }, + { + "moduleId": 157, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "module": "./node_modules/backoff/lib/strategy/fibonacci.js", + "moduleName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "type": "cjs require", + "userRequest": "util", + "loc": "4:11-26" + }, + { + "moduleId": 278, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "module": "./node_modules/precond/lib/checks.js", + "moduleName": "./node_modules/precond/lib/checks.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 281, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/errors.js", + "module": "./node_modules/precond/lib/errors.js", + "moduleName": "./node_modules/precond/lib/errors.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "util", + "loc": "4:11-26" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function (f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function (fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function () {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function (set) {\n if (isUndefined(debugEnviron)) debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function () {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function () {};\n }\n }\n return debugs[set];\n};\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold': [1, 22],\n 'italic': [3, 23],\n 'underline': [4, 24],\n 'inverse': [7, 27],\n 'white': [37, 39],\n 'grey': [90, 39],\n 'black': [30, 39],\n 'blue': [34, 39],\n 'cyan': [36, 39],\n 'green': [32, 39],\n 'magenta': [35, 39],\n 'red': [31, 39],\n 'yellow': [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str + '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function (val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect && value && isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '',\n array = false,\n braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function (key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '').replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value)) return ctx.stylize('' + value, 'number');\n if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value)) return ctx.stylize('null', 'null');\n}\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function (key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n }\n });\n return output;\n}\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function (prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] + (base === '' ? '' : base + '\\n ') + ' ' + output.join(',\\n ') + ' ' + braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function () {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function (origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}" + }, + { + "id": 92, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/events/events.js", + "name": "./node_modules/events/events.js", + "index": 686, + "index2": 672, + "size": 8089, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + }, + { + "moduleId": 156, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "module": "./node_modules/backoff/lib/strategy/strategy.js", + "moduleName": "./node_modules/backoff/lib/strategy/strategy.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function (n) {\n if (!isNumber(n) || n < 0 || isNaN(n)) throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function (type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events) this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error || isObject(this._events.error) && !this._events.error.length) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler)) return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n args = Array.prototype.slice.call(arguments, 1);\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n args = Array.prototype.slice.call(arguments, 1);\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++) listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function (type, listener) {\n var m;\n\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n if (!this._events) this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener) this.emit('newListener', type, isFunction(listener.listener) ? listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' + 'leak detected. %d listeners added. ' + 'Use emitter.setMaxListeners() to increase limit.', this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function (type, listener) {\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function (type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type]) return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener || isFunction(list.listener) && list.listener === listener) {\n delete this._events[type];\n if (this._events.removeListener) this.emit('removeListener', type, listener);\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener || list[i].listener && list[i].listener === listener) {\n position = i;\n break;\n }\n }\n\n if (position < 0) return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener) this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function (type) {\n var key, listeners;\n\n if (!this._events) return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0) this._events = {};else if (this._events[type]) delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n while (listeners.length) this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function (type) {\n var ret;\n if (!this._events || !this._events[type]) ret = [];else if (isFunction(this._events[type])) ret = [this._events[type]];else ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.prototype.listenerCount = function (type) {\n if (this._events) {\n var evlistener = this._events[type];\n\n if (isFunction(evlistener)) return 1;else if (evlistener) return evlistener.length;\n }\n return 0;\n};\n\nEventEmitter.listenerCount = function (emitter, type) {\n return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}" + }, + { + "id": 93, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "name": "./node_modules/precond/index.js", + "index": 687, + "index2": 678, + "size": 123, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nmodule.exports = require('./lib/checks');" + }, + { + "id": 155, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "name": "./node_modules/backoff/lib/backoff.js", + "index": 685, + "index2": 679, + "size": 2107, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/backoff", + "loc": "4:14-38" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "./backoff", + "loc": "8:14-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar precond = require('precond');\nvar util = require('util');\n\n// A class to hold the state of a backoff operation. Accepts a backoff strategy\n// to generate the backoff delays.\nfunction Backoff(backoffStrategy) {\n events.EventEmitter.call(this);\n\n this.backoffStrategy_ = backoffStrategy;\n this.maxNumberOfRetry_ = -1;\n this.backoffNumber_ = 0;\n this.backoffDelay_ = 0;\n this.timeoutID_ = -1;\n\n this.handlers = {\n backoff: this.onBackoff_.bind(this)\n };\n}\nutil.inherits(Backoff, events.EventEmitter);\n\n// Sets a limit, greater than 0, on the maximum number of backoffs. A 'fail'\n// event will be emitted when the limit is reached.\nBackoff.prototype.failAfter = function (maxNumberOfRetry) {\n precond.checkArgument(maxNumberOfRetry > 0, 'Expected a maximum number of retry greater than 0 but got %s.', maxNumberOfRetry);\n\n this.maxNumberOfRetry_ = maxNumberOfRetry;\n};\n\n// Starts a backoff operation. Accepts an optional parameter to let the\n// listeners know why the backoff operation was started.\nBackoff.prototype.backoff = function (err) {\n precond.checkState(this.timeoutID_ === -1, 'Backoff in progress.');\n\n if (this.backoffNumber_ === this.maxNumberOfRetry_) {\n this.emit('fail', err);\n this.reset();\n } else {\n this.backoffDelay_ = this.backoffStrategy_.next();\n this.timeoutID_ = setTimeout(this.handlers.backoff, this.backoffDelay_);\n this.emit('backoff', this.backoffNumber_, this.backoffDelay_, err);\n }\n};\n\n// Handles the backoff timeout completion.\nBackoff.prototype.onBackoff_ = function () {\n this.timeoutID_ = -1;\n this.emit('ready', this.backoffNumber_, this.backoffDelay_);\n this.backoffNumber_++;\n};\n\n// Stops any backoff operation and resets the backoff delay to its inital value.\nBackoff.prototype.reset = function () {\n this.backoffNumber_ = 0;\n this.backoffStrategy_.reset();\n clearTimeout(this.timeoutID_);\n this.timeoutID_ = -1;\n};\n\nmodule.exports = Backoff;" + }, + { + "id": 156, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "name": "./node_modules/backoff/lib/strategy/strategy.js", + "index": 694, + "index2": 680, + "size": 2749, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "issuerId": 157, + "issuerName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 157, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "module": "./node_modules/backoff/lib/strategy/fibonacci.js", + "moduleName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "type": "cjs require", + "userRequest": "./strategy", + "loc": "6:22-43" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "./strategy", + "loc": "7:22-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar util = require('util');\n\nfunction isDef(value) {\n return value !== undefined && value !== null;\n}\n\n// Abstract class defining the skeleton for the backoff strategies. Accepts an\n// object holding the options for the backoff strategy:\n//\n// * `randomisationFactor`: The randomisation factor which must be between 0\n// and 1 where 1 equates to a randomization factor of 100% and 0 to no\n// randomization.\n// * `initialDelay`: The backoff initial delay in milliseconds.\n// * `maxDelay`: The backoff maximal delay in milliseconds.\nfunction BackoffStrategy(options) {\n options = options || {};\n\n if (isDef(options.initialDelay) && options.initialDelay < 1) {\n throw new Error('The initial timeout must be greater than 0.');\n } else if (isDef(options.maxDelay) && options.maxDelay < 1) {\n throw new Error('The maximal timeout must be greater than 0.');\n }\n\n this.initialDelay_ = options.initialDelay || 100;\n this.maxDelay_ = options.maxDelay || 10000;\n\n if (this.maxDelay_ <= this.initialDelay_) {\n throw new Error('The maximal backoff delay must be ' + 'greater than the initial backoff delay.');\n }\n\n if (isDef(options.randomisationFactor) && (options.randomisationFactor < 0 || options.randomisationFactor > 1)) {\n throw new Error('The randomisation factor must be between 0 and 1.');\n }\n\n this.randomisationFactor_ = options.randomisationFactor || 0;\n}\n\n// Gets the maximal backoff delay.\nBackoffStrategy.prototype.getMaxDelay = function () {\n return this.maxDelay_;\n};\n\n// Gets the initial backoff delay.\nBackoffStrategy.prototype.getInitialDelay = function () {\n return this.initialDelay_;\n};\n\n// Template method that computes and returns the next backoff delay in\n// milliseconds.\nBackoffStrategy.prototype.next = function () {\n var backoffDelay = this.next_();\n var randomisationMultiple = 1 + Math.random() * this.randomisationFactor_;\n var randomizedDelay = Math.round(backoffDelay * randomisationMultiple);\n return randomizedDelay;\n};\n\n// Computes and returns the next backoff delay. Intended to be overridden by\n// subclasses.\nBackoffStrategy.prototype.next_ = function () {\n throw new Error('BackoffStrategy.next_() unimplemented.');\n};\n\n// Template method that resets the backoff delay to its initial value.\nBackoffStrategy.prototype.reset = function () {\n this.reset_();\n};\n\n// Resets the backoff delay to its initial value. Intended to be overridden by\n// subclasses.\nBackoffStrategy.prototype.reset_ = function () {\n throw new Error('BackoffStrategy.reset_() unimplemented.');\n};\n\nmodule.exports = BackoffStrategy;" + }, + { + "id": 157, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "name": "./node_modules/backoff/lib/strategy/fibonacci.js", + "index": 695, + "index2": 682, + "size": 856, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/strategy/fibonacci", + "loc": "6:31-66" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "./strategy/fibonacci", + "loc": "9:31-62" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar util = require('util');\n\nvar BackoffStrategy = require('./strategy');\n\n// Fibonacci backoff strategy.\nfunction FibonacciBackoffStrategy(options) {\n BackoffStrategy.call(this, options);\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n}\nutil.inherits(FibonacciBackoffStrategy, BackoffStrategy);\n\nFibonacciBackoffStrategy.prototype.next_ = function () {\n var backoffDelay = Math.min(this.nextBackoffDelay_, this.getMaxDelay());\n this.nextBackoffDelay_ += this.backoffDelay_;\n this.backoffDelay_ = backoffDelay;\n return backoffDelay;\n};\n\nFibonacciBackoffStrategy.prototype.reset_ = function () {\n this.nextBackoffDelay_ = this.getInitialDelay();\n this.backoffDelay_ = 0;\n};\n\nmodule.exports = FibonacciBackoffStrategy;" + }, + { + "id": 158, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "name": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "index": 347, + "index2": 754, + "size": 2869, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "issuerId": 460, + "issuerName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/status_list_container", + "loc": "11:0-76" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/status_list_container", + "loc": "11:0-76" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "12:0-73" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import _debounce from 'lodash/debounce';\nimport { connect } from 'react-redux';\nimport StatusList from '../../../components/status_list';\nimport { scrollTopTimeline } from '../../../actions/timelines';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\nimport { createSelector } from 'reselect';\n\nimport { me } from '../../../initial_state';\n\nvar makeGetStatusIds = function makeGetStatusIds() {\n return createSelector([function (state, _ref) {\n var type = _ref.type;\n return state.getIn(['settings', type], ImmutableMap());\n }, function (state, _ref2) {\n var type = _ref2.type;\n return state.getIn(['timelines', type, 'items'], ImmutableList());\n }, function (state) {\n return state.get('statuses');\n }], function (columnSettings, statusIds, statuses) {\n var rawRegex = columnSettings.getIn(['regex', 'body'], '').trim();\n var regex = null;\n\n try {\n regex = rawRegex && new RegExp(rawRegex, 'i');\n } catch (e) {\n // Bad regex, don't affect filters\n }\n\n return statusIds.filter(function (id) {\n var statusForId = statuses.get(id);\n var showStatus = true;\n\n if (columnSettings.getIn(['shows', 'reblog']) === false) {\n showStatus = showStatus && statusForId.get('reblog') === null;\n }\n\n if (columnSettings.getIn(['shows', 'reply']) === false) {\n showStatus = showStatus && (statusForId.get('in_reply_to_id') === null || statusForId.get('in_reply_to_account_id') === me);\n }\n\n if (showStatus && regex && statusForId.get('account') !== me) {\n var searchIndex = statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'search_index']) : statusForId.get('search_index');\n showStatus = !regex.test(searchIndex);\n }\n\n return showStatus;\n });\n });\n};\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatusIds = makeGetStatusIds();\n\n var mapStateToProps = function mapStateToProps(state, _ref3) {\n var timelineId = _ref3.timelineId;\n return {\n statusIds: getStatusIds(state, { type: timelineId }),\n isLoading: state.getIn(['timelines', timelineId, 'isLoading'], true),\n hasMore: !!state.getIn(['timelines', timelineId, 'next'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref4) {\n var timelineId = _ref4.timelineId,\n loadMore = _ref4.loadMore;\n return {\n\n onScrollToBottom: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, false));\n loadMore();\n }, 300, { leading: true }),\n\n onScrollToTop: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, true));\n }, 100),\n\n onScroll: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, false));\n }, 100)\n\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(StatusList);" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 262, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "name": "./app/javascript/mastodon/components/scrollable_list.js", + "index": 662, + "index2": 664, + "size": 7448, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "./scrollable_list", + "loc": "15:0-47" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/scrollable_list", + "loc": "22:0-62" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _throttle from 'lodash/throttle';\n\nvar _class, _temp2;\n\nimport React, { PureComponent } from 'react';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport PropTypes from 'prop-types';\nimport IntersectionObserverArticleContainer from '../containers/intersection_observer_article_container';\nimport LoadMore from './load_more';\nimport IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';\n\nimport { List as ImmutableList } from 'immutable';\nimport classNames from 'classnames';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';\n\nvar ScrollableList = (_temp2 = _class = function (_PureComponent) {\n _inherits(ScrollableList, _PureComponent);\n\n function ScrollableList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollableList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _PureComponent.call.apply(_PureComponent, [this].concat(args))), _this), _this.state = {\n lastMouseMove: null\n }, _this.intersectionObserverWrapper = new IntersectionObserverWrapper(), _this.handleScroll = _throttle(function () {\n if (_this.node) {\n var _this$node = _this.node,\n scrollTop = _this$node.scrollTop,\n scrollHeight = _this$node.scrollHeight,\n clientHeight = _this$node.clientHeight;\n\n var offset = scrollHeight - scrollTop - clientHeight;\n _this._oldScrollPosition = scrollHeight - scrollTop;\n\n if (400 > offset && _this.props.onScrollToBottom && !_this.props.isLoading) {\n _this.props.onScrollToBottom();\n } else if (scrollTop < 100 && _this.props.onScrollToTop) {\n _this.props.onScrollToTop();\n } else if (_this.props.onScroll) {\n _this.props.onScroll();\n }\n }\n }, 150, {\n trailing: true\n }), _this.handleMouseMove = _throttle(function () {\n _this._lastMouseMove = new Date();\n }, 300), _this.handleMouseLeave = function () {\n _this._lastMouseMove = null;\n }, _this.onFullScreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.onScrollToBottom();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ScrollableList.prototype.componentDidMount = function componentDidMount() {\n this.attachScrollListener();\n this.attachIntersectionObserver();\n attachFullscreenListener(this.onFullScreenChange);\n\n // Handle initial scroll posiiton\n this.handleScroll();\n };\n\n ScrollableList.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var someItemInserted = React.Children.count(prevProps.children) > 0 && React.Children.count(prevProps.children) < React.Children.count(this.props.children) && this.getFirstChildKey(prevProps) !== this.getFirstChildKey(this.props);\n\n // Reset the scroll position when a new child comes in in order not to\n // jerk the scrollbar around if you're already scrolled down the page.\n if (someItemInserted && this._oldScrollPosition && this.node.scrollTop > 0) {\n var newScrollTop = this.node.scrollHeight - this._oldScrollPosition;\n\n if (this.node.scrollTop !== newScrollTop) {\n this.node.scrollTop = newScrollTop;\n }\n } else {\n this._oldScrollPosition = this.node.scrollHeight - this.node.scrollTop;\n }\n };\n\n ScrollableList.prototype.componentWillUnmount = function componentWillUnmount() {\n this.detachScrollListener();\n this.detachIntersectionObserver();\n detachFullscreenListener(this.onFullScreenChange);\n };\n\n ScrollableList.prototype.attachIntersectionObserver = function attachIntersectionObserver() {\n this.intersectionObserverWrapper.connect({\n root: this.node,\n rootMargin: '300% 0px'\n });\n };\n\n ScrollableList.prototype.detachIntersectionObserver = function detachIntersectionObserver() {\n this.intersectionObserverWrapper.disconnect();\n };\n\n ScrollableList.prototype.attachScrollListener = function attachScrollListener() {\n this.node.addEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.detachScrollListener = function detachScrollListener() {\n this.node.removeEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.getFirstChildKey = function getFirstChildKey(props) {\n var children = props.children;\n\n var firstChild = children;\n if (children instanceof ImmutableList) {\n firstChild = children.get(0);\n } else if (Array.isArray(children)) {\n firstChild = children[0];\n }\n return firstChild && firstChild.key;\n };\n\n ScrollableList.prototype._recentlyMoved = function _recentlyMoved() {\n return this._lastMouseMove !== null && new Date() - this._lastMouseMove < 600;\n };\n\n ScrollableList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n scrollKey = _props.scrollKey,\n trackScroll = _props.trackScroll,\n shouldUpdateScroll = _props.shouldUpdateScroll,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore,\n prepend = _props.prepend,\n emptyMessage = _props.emptyMessage;\n var fullscreen = this.state.fullscreen;\n\n var childrenCount = React.Children.count(children);\n\n var loadMore = hasMore && childrenCount > 0 ? _jsx(LoadMore, {\n visible: !isLoading,\n onClick: this.handleLoadMore\n }) : null;\n var scrollableArea = null;\n\n if (isLoading || childrenCount > 0 || !emptyMessage) {\n scrollableArea = React.createElement(\n 'div',\n { className: classNames('scrollable', { fullscreen: fullscreen }), ref: this.setRef, onMouseMove: this.handleMouseMove, onMouseLeave: this.handleMouseLeave },\n _jsx('div', {\n role: 'feed',\n className: 'item-list'\n }, void 0, prepend, React.Children.map(this.props.children, function (child, index) {\n return _jsx(IntersectionObserverArticleContainer, {\n id: child.key,\n index: index,\n listLength: childrenCount,\n intersectionObserverWrapper: _this2.intersectionObserverWrapper,\n saveHeightKey: trackScroll ? _this2.context.router.route.location.key + ':' + scrollKey : null\n }, child.key, child);\n }), loadMore)\n );\n } else {\n scrollableArea = React.createElement(\n 'div',\n { className: 'empty-column-indicator', ref: this.setRef },\n emptyMessage\n );\n }\n\n if (trackScroll) {\n return _jsx(ScrollContainer, {\n scrollKey: scrollKey,\n shouldUpdateScroll: shouldUpdateScroll\n }, void 0, scrollableArea);\n } else {\n return scrollableArea;\n }\n };\n\n return ScrollableList;\n}(PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { ScrollableList as default };" + }, + { + "id": 263, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "name": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "index": 666, + "index2": 660, + "size": 641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../containers/intersection_observer_article_container", + "loc": "12:0-105" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport IntersectionObserverArticle from '../components/intersection_observer_article';\nimport { setHeight } from '../actions/height_cache';\n\nvar makeMapStateToProps = function makeMapStateToProps(state, props) {\n return {\n cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onHeightChange: function onHeightChange(key, id, height) {\n dispatch(setHeight(key, id, height));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(IntersectionObserverArticle);" + }, + { + "id": 264, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "name": "./app/javascript/mastodon/components/intersection_observer_article.js", + "index": 667, + "index2": 659, + "size": 5582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "issuerId": 263, + "issuerName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "../components/intersection_observer_article", + "loc": "2:0-86" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport scheduleIdleTask from '../features/ui/util/schedule_idle_task';\nimport getRectFromEntry from '../features/ui/util/get_rect_from_entry';\nimport { is } from 'immutable';\n\n// Diff these props in the \"rendered\" state\nvar updateOnPropsForRendered = ['id', 'index', 'listLength'];\n// Diff these props in the \"unrendered\" state\nvar updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];\n\nvar IntersectionObserverArticle = function (_React$Component) {\n _inherits(IntersectionObserverArticle, _React$Component);\n\n function IntersectionObserverArticle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, IntersectionObserverArticle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n isHidden: false // set to true in requestIdleCallback to trigger un-render\n }, _this.handleIntersection = function (entry) {\n _this.entry = entry;\n\n scheduleIdleTask(_this.calculateHeight);\n _this.setState(_this.updateStateAfterIntersection);\n }, _this.updateStateAfterIntersection = function (prevState) {\n if (prevState.isIntersecting && !_this.entry.isIntersecting) {\n scheduleIdleTask(_this.hideIfNotIntersecting);\n }\n return {\n isIntersecting: _this.entry.isIntersecting,\n isHidden: false\n };\n }, _this.calculateHeight = function () {\n var _this$props = _this.props,\n onHeightChange = _this$props.onHeightChange,\n saveHeightKey = _this$props.saveHeightKey,\n id = _this$props.id;\n // save the height of the fully-rendered element (this is expensive\n // on Chrome, where we need to fall back to getBoundingClientRect)\n\n _this.height = getRectFromEntry(_this.entry).height;\n\n if (onHeightChange && saveHeightKey) {\n onHeightChange(saveHeightKey, id, _this.height);\n }\n }, _this.hideIfNotIntersecting = function () {\n if (!_this.componentMounted) {\n return;\n }\n\n // When the browser gets a chance, test if we're still not intersecting,\n // and if so, set our isHidden to true to trigger an unrender. The point of\n // this is to save DOM nodes and avoid using up too much memory.\n // See: https://github.com/tootsuite/mastodon/issues/2900\n _this.setState(function (prevState) {\n return { isHidden: !prevState.isIntersecting };\n });\n }, _this.handleRef = function (node) {\n _this.node = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n IntersectionObserverArticle.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n var _this2 = this;\n\n var isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);\n var willBeUnrendered = !nextState.isIntersecting && (nextState.isHidden || nextProps.cachedHeight);\n if (!!isUnrendered !== !!willBeUnrendered) {\n // If we're going from rendered to unrendered (or vice versa) then update\n return true;\n }\n // Otherwise, diff based on props\n var propsToDiff = isUnrendered ? updateOnPropsForUnrendered : updateOnPropsForRendered;\n return !propsToDiff.every(function (prop) {\n return is(nextProps[prop], _this2.props[prop]);\n });\n };\n\n IntersectionObserverArticle.prototype.componentDidMount = function componentDidMount() {\n var _props = this.props,\n intersectionObserverWrapper = _props.intersectionObserverWrapper,\n id = _props.id;\n\n\n intersectionObserverWrapper.observe(id, this.node, this.handleIntersection);\n\n this.componentMounted = true;\n };\n\n IntersectionObserverArticle.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n intersectionObserverWrapper = _props2.intersectionObserverWrapper,\n id = _props2.id;\n\n intersectionObserverWrapper.unobserve(id, this.node);\n\n this.componentMounted = false;\n };\n\n IntersectionObserverArticle.prototype.render = function render() {\n var _props3 = this.props,\n children = _props3.children,\n id = _props3.id,\n index = _props3.index,\n listLength = _props3.listLength,\n cachedHeight = _props3.cachedHeight;\n var _state = this.state,\n isIntersecting = _state.isIntersecting,\n isHidden = _state.isHidden;\n\n\n if (!isIntersecting && (isHidden || cachedHeight)) {\n return React.createElement(\n 'article',\n {\n ref: this.handleRef,\n 'aria-posinset': index,\n 'aria-setsize': listLength,\n style: { height: (this.height || cachedHeight) + 'px', opacity: 0, overflow: 'hidden' },\n 'data-id': id,\n tabIndex: '0'\n },\n children && React.cloneElement(children, { hidden: true })\n );\n }\n\n return React.createElement(\n 'article',\n { ref: this.handleRef, 'aria-posinset': index, 'aria-setsize': listLength, 'data-id': id, tabIndex: '0' },\n children && React.cloneElement(children, { hidden: false })\n );\n };\n\n return IntersectionObserverArticle;\n}(React.Component);\n\nexport { IntersectionObserverArticle as default };" + }, + { + "id": 265, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "name": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "index": 668, + "index2": 657, + "size": 753, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/schedule_idle_task", + "loc": "6:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "// Wrapper to call requestIdleCallback() to schedule low-priority work.\n// See https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API\n// for a good breakdown of the concepts behind this.\n\nimport Queue from 'tiny-queue';\n\nvar taskQueue = new Queue();\nvar runningRequestIdleCallback = false;\n\nfunction runTasks(deadline) {\n while (taskQueue.length && deadline.timeRemaining() > 0) {\n taskQueue.shift()();\n }\n if (taskQueue.length) {\n requestIdleCallback(runTasks);\n } else {\n runningRequestIdleCallback = false;\n }\n}\n\nfunction scheduleIdleTask(task) {\n taskQueue.push(task);\n if (!runningRequestIdleCallback) {\n runningRequestIdleCallback = true;\n requestIdleCallback(runTasks);\n }\n}\n\nexport default scheduleIdleTask;" + }, + { + "id": 266, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/tiny-queue/index.js", + "name": "./node_modules/tiny-queue/index.js", + "index": 669, + "index2": 656, + "size": 941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "issuerId": 265, + "issuerName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 265, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "module": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "type": "harmony import", + "userRequest": "tiny-queue", + "loc": "5:0-31" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\n// Simple FIFO queue implementation to avoid having to do shift()\n// on an array, which is slow.\n\nfunction Queue() {\n this.length = 0;\n}\n\nQueue.prototype.push = function (item) {\n var node = { item: item };\n if (this.last) {\n this.last = this.last.next = node;\n } else {\n this.last = this.first = node;\n }\n this.length++;\n};\n\nQueue.prototype.shift = function () {\n var node = this.first;\n if (node) {\n this.first = node.next;\n if (! --this.length) {\n this.last = undefined;\n }\n return node.item;\n }\n};\n\nQueue.prototype.slice = function (start, end) {\n start = typeof start === 'undefined' ? 0 : start;\n end = typeof end === 'undefined' ? Infinity : end;\n\n var output = [];\n\n var i = 0;\n for (var node = this.first; node; node = node.next) {\n if (--end < 0) {\n break;\n } else if (++i > start) {\n output.push(node.item);\n }\n }\n return output;\n};\n\nmodule.exports = Queue;" + }, + { + "id": 267, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "name": "./app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "index": 670, + "index2": 658, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/get_rect_from_entry", + "loc": "7:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "\n// Get the bounding client rect from an IntersectionObserver entry.\n// This is to work around a bug in Chrome: https://crbug.com/737228\n\nvar hasBoundingRectBug = void 0;\n\nfunction getRectFromEntry(entry) {\n if (typeof hasBoundingRectBug !== 'boolean') {\n var boundingRect = entry.target.getBoundingClientRect();\n var observerRect = entry.boundingClientRect;\n hasBoundingRectBug = boundingRect.height !== observerRect.height || boundingRect.top !== observerRect.top || boundingRect.width !== observerRect.width || boundingRect.bottom !== observerRect.bottom || boundingRect.left !== observerRect.left || boundingRect.right !== observerRect.right;\n }\n return hasBoundingRectBug ? entry.target.getBoundingClientRect() : entry.boundingClientRect;\n}\n\nexport default getRectFromEntry;" + }, + { + "id": 268, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "name": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "index": 672, + "index2": 662, + "size": 2097, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../features/ui/util/intersection_observer_wrapper", + "loc": "14:0-92" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\n\n// Wrapper for IntersectionObserver in order to make working with it\n// a bit easier. We also follow this performance advice:\n// \"If you need to observe multiple elements, it is both possible and\n// advised to observe multiple elements using the same IntersectionObserver\n// instance by calling observe() multiple times.\"\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n\nvar IntersectionObserverWrapper = function () {\n function IntersectionObserverWrapper() {\n _classCallCheck(this, IntersectionObserverWrapper);\n\n this.callbacks = {};\n this.observerBacklog = [];\n this.observer = null;\n }\n\n IntersectionObserverWrapper.prototype.connect = function connect(options) {\n var _this = this;\n\n var onIntersection = function onIntersection(entries) {\n entries.forEach(function (entry) {\n var id = entry.target.getAttribute('data-id');\n if (_this.callbacks[id]) {\n _this.callbacks[id](entry);\n }\n });\n };\n\n this.observer = new IntersectionObserver(onIntersection, options);\n this.observerBacklog.forEach(function (_ref) {\n var id = _ref[0],\n node = _ref[1],\n callback = _ref[2];\n\n _this.observe(id, node, callback);\n });\n this.observerBacklog = null;\n };\n\n IntersectionObserverWrapper.prototype.observe = function observe(id, node, callback) {\n if (!this.observer) {\n this.observerBacklog.push([id, node, callback]);\n } else {\n this.callbacks[id] = callback;\n this.observer.observe(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.unobserve = function unobserve(id, node) {\n if (this.observer) {\n delete this.callbacks[id];\n this.observer.unobserve(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.disconnect = function disconnect() {\n if (this.observer) {\n this.callbacks = {};\n this.observer.disconnect();\n this.observer = null;\n }\n };\n\n return IntersectionObserverWrapper;\n}();\n\nexport default IntersectionObserverWrapper;" + }, + { + "id": 269, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "name": "./app/javascript/mastodon/components/status_list.js", + "index": 348, + "index2": 753, + "size": 3062, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "issuerId": 158, + "issuerName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "../../../components/status_list", + "loc": "3:0-57" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "15:0-54" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "14:0-54" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "16:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport StatusContainer from '../containers/status_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ScrollableList from './scrollable_list';\n\nvar StatusList = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(StatusList, _ImmutablePureCompone);\n\n function StatusList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StatusList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleMoveUp = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) - 1;\n _this._selectChild(elementIndex);\n }, _this.handleMoveDown = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) + 1;\n _this._selectChild(elementIndex);\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StatusList.prototype._selectChild = function _selectChild(index) {\n var element = this.node.node.querySelector('article:nth-of-type(' + (index + 1) + ') .focusable');\n\n if (element) {\n element.focus();\n }\n };\n\n StatusList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n statusIds = _props.statusIds,\n other = _objectWithoutProperties(_props, ['statusIds']);\n\n var isLoading = other.isLoading;\n\n\n var scrollableContent = isLoading || statusIds.size > 0 ? statusIds.map(function (statusId) {\n return _jsx(StatusContainer, {\n id: statusId,\n onMoveUp: _this2.handleMoveUp,\n onMoveDown: _this2.handleMoveDown\n }, statusId);\n }) : null;\n\n return React.createElement(\n ScrollableList,\n _extends({}, other, { ref: this.setRef }),\n scrollableContent\n );\n };\n\n return StatusList;\n}(ImmutablePureComponent), _class.propTypes = {\n scrollKey: PropTypes.string.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n onScrollToBottom: PropTypes.func,\n onScrollToTop: PropTypes.func,\n onScroll: PropTypes.func,\n trackScroll: PropTypes.bool,\n shouldUpdateScroll: PropTypes.func,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n prepend: PropTypes.node,\n emptyMessage: PropTypes.node\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { StatusList as default };" + }, + { + "id": 274, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "name": "./app/javascript/mastodon/actions/streaming.js", + "index": 681, + "index2": 687, + "size": 3116, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "../actions/streaming", + "loc": "14:0-57" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "18:0-62" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "18:0-65" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "17:0-63" + } + ], + "usedExports": [ + "connectCommunityStream", + "connectHashtagStream", + "connectPublicStream", + "connectUserStream" + ], + "providedExports": [ + "connectTimelineStream", + "connectUserStream", + "connectCommunityStream", + "connectMediaStream", + "connectPublicStream", + "connectHashtagStream" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import createStream from '../stream';\nimport { updateTimeline, deleteFromTimelines, refreshHomeTimeline, connectTimeline, disconnectTimeline } from './timelines';\nimport { updateNotifications, refreshNotifications } from './notifications';\nimport { getLocale } from '../locales';\n\nvar _getLocale = getLocale(),\n messages = _getLocale.messages;\n\nexport function connectTimelineStream(timelineId, path) {\n var pollingRefresh = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n return function (dispatch, getState) {\n var streamingAPIBaseURL = getState().getIn(['meta', 'streaming_api_base_url']);\n var accessToken = getState().getIn(['meta', 'access_token']);\n var locale = getState().getIn(['meta', 'locale']);\n var polling = null;\n\n var setupPolling = function setupPolling() {\n polling = setInterval(function () {\n pollingRefresh(dispatch);\n }, 20000);\n };\n\n var clearPolling = function clearPolling() {\n if (polling) {\n clearInterval(polling);\n polling = null;\n }\n };\n\n var subscription = createStream(streamingAPIBaseURL, accessToken, path, {\n connected: function connected() {\n if (pollingRefresh) {\n clearPolling();\n }\n dispatch(connectTimeline(timelineId));\n },\n disconnected: function disconnected() {\n if (pollingRefresh) {\n setupPolling();\n }\n dispatch(disconnectTimeline(timelineId));\n },\n received: function received(data) {\n switch (data.event) {\n case 'update':\n dispatch(updateTimeline(timelineId, JSON.parse(data.payload)));\n break;\n case 'delete':\n dispatch(deleteFromTimelines(data.payload));\n break;\n case 'notification':\n dispatch(updateNotifications(JSON.parse(data.payload), messages, locale));\n break;\n }\n },\n reconnected: function reconnected() {\n if (pollingRefresh) {\n clearPolling();\n pollingRefresh(dispatch);\n }\n dispatch(connectTimeline(timelineId));\n }\n });\n\n var disconnect = function disconnect() {\n if (subscription) {\n subscription.close();\n }\n clearPolling();\n };\n\n return disconnect;\n };\n}\n\nfunction refreshHomeTimelineAndNotification(dispatch) {\n dispatch(refreshHomeTimeline());\n dispatch(refreshNotifications());\n}\n\nexport var connectUserStream = function connectUserStream() {\n return connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification);\n};\nexport var connectCommunityStream = function connectCommunityStream() {\n return connectTimelineStream('community', 'public:local');\n};\nexport var connectMediaStream = function connectMediaStream() {\n return connectTimelineStream('community', 'public:local');\n};\nexport var connectPublicStream = function connectPublicStream() {\n return connectTimelineStream('public', 'public');\n};\nexport var connectHashtagStream = function connectHashtagStream(tag) {\n return connectTimelineStream('hashtag:' + tag, 'hashtag&tag=' + tag);\n};" + }, + { + "id": 275, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "name": "./app/javascript/mastodon/stream.js", + "index": 682, + "index2": 686, + "size": 581, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "issuerId": 274, + "issuerName": "./app/javascript/mastodon/actions/streaming.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 274, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "module": "./app/javascript/mastodon/actions/streaming.js", + "moduleName": "./app/javascript/mastodon/actions/streaming.js", + "type": "harmony import", + "userRequest": "../stream", + "loc": "1:0-37" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import WebSocketClient from 'websocket.js';\n\nexport default function getStream(streamingAPIBaseURL, accessToken, stream, _ref) {\n var connected = _ref.connected,\n received = _ref.received,\n disconnected = _ref.disconnected,\n reconnected = _ref.reconnected;\n\n var ws = new WebSocketClient(streamingAPIBaseURL + '/api/v1/streaming/?access_token=' + accessToken + '&stream=' + stream);\n\n ws.onopen = connected;\n ws.onmessage = function (e) {\n return received(JSON.parse(e.data));\n };\n ws.onclose = disconnected;\n ws.onreconnect = reconnected;\n\n return ws;\n};" + }, + { + "id": 276, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "name": "./node_modules/websocket.js/lib/index.js", + "index": 683, + "index2": 685, + "size": 10253, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "issuerId": 275, + "issuerName": "./app/javascript/mastodon/stream.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 275, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "module": "./app/javascript/mastodon/stream.js", + "moduleName": "./app/javascript/mastodon/stream.js", + "type": "harmony import", + "userRequest": "websocket.js", + "loc": "1:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}var backoff = require('backoff');var WebSocketClient = function () {\n /**\n * @param url DOMString The URL to which to connect; this should be the URL to which the WebSocket server will respond.\n * @param protocols DOMString|DOMString[] Either a single protocol string or an array of protocol strings. These strings are used to indicate sub-protocols, so that a single server can implement multiple WebSocket sub-protocols (for example, you might want one server to be able to handle different types of interactions depending on the specified protocol). If you don't specify a protocol string, an empty string is assumed.\n */function WebSocketClient(url, protocols) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};_classCallCheck(this, WebSocketClient);this.url = url;this.protocols = protocols;this.reconnectEnabled = true;this.listeners = {};this.backoff = backoff[options.backoff || 'fibonacci'](options);this.backoff.on('backoff', this.onBackoffStart.bind(this));this.backoff.on('ready', this.onBackoffReady.bind(this));this.backoff.on('fail', this.onBackoffFail.bind(this));this.open();\n }_createClass(WebSocketClient, [{ key: 'open', value: function open() {\n var reconnect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;this.isReconnect = reconnect;this.ws = new WebSocket(this.url, this.protocols);this.ws.onclose = this.onCloseCallback.bind(this);this.ws.onerror = this.onErrorCallback.bind(this);this.ws.onmessage = this.onMessageCallback.bind(this);this.ws.onopen = this.onOpenCallback.bind(this);\n } /**\n * @ignore\n */ }, { key: 'onBackoffStart', value: function onBackoffStart(number, delay) {} /**\n * @ignore\n */ }, { key: 'onBackoffReady', value: function onBackoffReady(number, delay) {\n // console.log(\"onBackoffReady\", number + ' ' + delay + 'ms');\n this.open(true);\n } /**\n * @ignore\n */ }, { key: 'onBackoffFail', value: function onBackoffFail() {} /**\n * @ignore\n */ }, { key: 'onCloseCallback', value: function onCloseCallback() {\n if (!this.isReconnect && this.listeners['onclose']) this.listeners['onclose'].apply(null, arguments);if (this.reconnectEnabled) {\n this.backoff.backoff();\n }\n } /**\n * @ignore\n */ }, { key: 'onErrorCallback', value: function onErrorCallback() {\n if (this.listeners['onerror']) this.listeners['onerror'].apply(null, arguments);\n } /**\n * @ignore\n */ }, { key: 'onMessageCallback', value: function onMessageCallback() {\n if (this.listeners['onmessage']) this.listeners['onmessage'].apply(null, arguments);\n } /**\n * @ignore\n */ }, { key: 'onOpenCallback', value: function onOpenCallback() {\n if (this.listeners['onopen']) this.listeners['onopen'].apply(null, arguments);if (this.isReconnect && this.listeners['onreconnect']) this.listeners['onreconnect'].apply(null, arguments);this.isReconnect = false;\n } /**\n * The number of bytes of data that have been queued using calls to send()\n * but not yet transmitted to the network. This value does not reset to zero\n * when the connection is closed; if you keep calling send(), this will\n * continue to climb.\n *\n * @type unsigned long\n * @readonly\n */ }, { key: 'close', /**\n * Closes the WebSocket connection or connection attempt, if any. If the\n * connection is already CLOSED, this method does nothing.\n *\n * @param code A numeric value indicating the status code explaining why the connection is being closed. If this parameter is not specified, a default value of 1000 (indicating a normal \"transaction complete\" closure) is assumed. See the list of status codes on the CloseEvent page for permitted values.\n * @param reason A human-readable string explaining why the connection is closing. This string must be no longer than 123 bytes of UTF-8 text (not characters).\n *\n * @return void\n */value: function close(code, reason) {\n if (typeof code == 'undefined') {\n code = 1000;\n }this.reconnectEnabled = false;this.ws.close(code, reason);\n } /**\n * Transmits data to the server over the WebSocket connection.\n * @param data DOMString|ArrayBuffer|Blob\n * @return void\n */ }, { key: 'send', value: function send(data) {\n this.ws.send(data);\n } /**\n * An event listener to be called when the WebSocket connection's readyState changes to CLOSED. The listener receives a CloseEvent named \"close\".\n * @param listener EventListener\n */ }, { key: 'bufferedAmount', get: function get() {\n return this.ws.bufferedAmount;\n } /**\n * The current state of the connection; this is one of the Ready state constants.\n * @type unsigned short\n * @readonly\n */ }, { key: 'readyState', get: function get() {\n return this.ws.readyState;\n } /**\n * A string indicating the type of binary data being transmitted by the\n * connection. This should be either \"blob\" if DOM Blob objects are being\n * used or \"arraybuffer\" if ArrayBuffer objects are being used.\n * @type DOMString\n */ }, { key: 'binaryType', get: function get() {\n return this.ws.binaryType;\n }, set: function set(binaryType) {\n this.ws.binaryType = binaryType;\n } /**\n * The extensions selected by the server. This is currently only the empty\n * string or a list of extensions as negotiated by the connection.\n * @type DOMString\n */ }, { key: 'extensions', get: function get() {\n return this.ws.extensions;\n }, set: function set(extensions) {\n this.ws.extensions = extensions;\n } /**\n * A string indicating the name of the sub-protocol the server selected;\n * this will be one of the strings specified in the protocols parameter when\n * creating the WebSocket object.\n * @type DOMString\n */ }, { key: 'protocol', get: function get() {\n return this.ws.protocol;\n }, set: function set(protocol) {\n this.ws.protocol = protocol;\n } }, { key: 'onclose', set: function set(listener) {\n this.listeners['onclose'] = listener;\n }, get: function get() {\n return this.listeners['onclose'];\n } /**\n * An event listener to be called when an error occurs. This is a simple event named \"error\".\n * @param listener EventListener\n */ }, { key: 'onerror', set: function set(listener) {\n this.listeners['onerror'] = listener;\n }, get: function get() {\n return this.listeners['onerror'];\n } /**\n * An event listener to be called when a message is received from the server. The listener receives a MessageEvent named \"message\".\n * @param listener EventListener\n */ }, { key: 'onmessage', set: function set(listener) {\n this.listeners['onmessage'] = listener;\n }, get: function get() {\n return this.listeners['onmessage'];\n } /**\n * An event listener to be called when the WebSocket connection's readyState changes to OPEN; this indicates that the connection is ready to send and receive data. The event is a simple one with the name \"open\".\n * @param listener EventListener\n */ }, { key: 'onopen', set: function set(listener) {\n this.listeners['onopen'] = listener;\n }, get: function get() {\n return this.listeners['onopen'];\n } /**\n * @param listener EventListener\n */ }, { key: 'onreconnect', set: function set(listener) {\n this.listeners['onreconnect'] = listener;\n }, get: function get() {\n return this.listeners['onreconnect'];\n } }]);return WebSocketClient;\n}(); /**\n * The connection is not yet open.\n */WebSocketClient.CONNECTING = WebSocket.CONNECTING; /**\n * The connection is open and ready to communicate.\n */WebSocketClient.OPEN = WebSocket.OPEN; /**\n * The connection is in the process of closing.\n */WebSocketClient.CLOSING = WebSocket.CLOSING; /**\n * The connection is closed or couldn't be opened.\n */WebSocketClient.CLOSED = WebSocket.CLOSED;exports.default = WebSocketClient;" + }, + { + "id": 277, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "name": "./node_modules/backoff/index.js", + "index": 684, + "index2": 684, + "size": 1160, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "issuerId": 276, + "issuerName": "./node_modules/websocket.js/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 276, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "module": "./node_modules/websocket.js/lib/index.js", + "moduleName": "./node_modules/websocket.js/lib/index.js", + "type": "cjs require", + "userRequest": "backoff", + "loc": "14:15-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar Backoff = require('./lib/backoff');\nvar ExponentialBackoffStrategy = require('./lib/strategy/exponential');\nvar FibonacciBackoffStrategy = require('./lib/strategy/fibonacci');\nvar FunctionCall = require('./lib/function_call.js');\n\nmodule.exports.Backoff = Backoff;\nmodule.exports.FunctionCall = FunctionCall;\nmodule.exports.FibonacciStrategy = FibonacciBackoffStrategy;\nmodule.exports.ExponentialStrategy = ExponentialBackoffStrategy;\n\n// Constructs a Fibonacci backoff.\nmodule.exports.fibonacci = function (options) {\n return new Backoff(new FibonacciBackoffStrategy(options));\n};\n\n// Constructs an exponential backoff.\nmodule.exports.exponential = function (options) {\n return new Backoff(new ExponentialBackoffStrategy(options));\n};\n\n// Constructs a FunctionCall for the given function and arguments.\nmodule.exports.call = function (fn, vargs, callback) {\n var args = Array.prototype.slice.call(arguments);\n fn = args[0];\n vargs = args.slice(1, args.length - 1);\n callback = args[args.length - 1];\n return new FunctionCall(fn, vargs, callback);\n};" + }, + { + "id": 278, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "name": "./node_modules/precond/lib/checks.js", + "index": 688, + "index2": 677, + "size": 2676, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "issuerId": 93, + "issuerName": "./node_modules/precond/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 93, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "module": "./node_modules/precond/index.js", + "moduleName": "./node_modules/precond/index.js", + "type": "cjs require", + "userRequest": "./lib/checks", + "loc": "6:17-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nvar util = require('util');\n\nvar errors = module.exports = require('./errors');\n\nfunction failCheck(ExceptionConstructor, callee, messageFormat, formatArgs) {\n messageFormat = messageFormat || '';\n var message = util.format.apply(this, [messageFormat].concat(formatArgs));\n var error = new ExceptionConstructor(message);\n Error.captureStackTrace(error, callee);\n throw error;\n}\n\nfunction failArgumentCheck(callee, message, formatArgs) {\n failCheck(errors.IllegalArgumentError, callee, message, formatArgs);\n}\n\nfunction failStateCheck(callee, message, formatArgs) {\n failCheck(errors.IllegalStateError, callee, message, formatArgs);\n}\n\nmodule.exports.checkArgument = function (value, message) {\n if (!value) {\n failArgumentCheck(arguments.callee, message, Array.prototype.slice.call(arguments, 2));\n }\n};\n\nmodule.exports.checkState = function (value, message) {\n if (!value) {\n failStateCheck(arguments.callee, message, Array.prototype.slice.call(arguments, 2));\n }\n};\n\nmodule.exports.checkIsDef = function (value, message) {\n if (value !== undefined) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected value to be defined but was undefined.', Array.prototype.slice.call(arguments, 2));\n};\n\nmodule.exports.checkIsDefAndNotNull = function (value, message) {\n // Note that undefined == null.\n if (value != null) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected value to be defined and not null but got \"' + typeOf(value) + '\".', Array.prototype.slice.call(arguments, 2));\n};\n\n// Fixed version of the typeOf operator which returns 'null' for null values\n// and 'array' for arrays.\nfunction typeOf(value) {\n var s = typeof value;\n if (s == 'object') {\n if (!value) {\n return 'null';\n } else if (value instanceof Array) {\n return 'array';\n }\n }\n return s;\n}\n\nfunction typeCheck(expect) {\n return function (value, message) {\n var type = typeOf(value);\n\n if (type == expect) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected \"' + expect + '\" but got \"' + type + '\".', Array.prototype.slice.call(arguments, 2));\n };\n}\n\nmodule.exports.checkIsString = typeCheck('string');\nmodule.exports.checkIsArray = typeCheck('array');\nmodule.exports.checkIsNumber = typeCheck('number');\nmodule.exports.checkIsBoolean = typeCheck('boolean');\nmodule.exports.checkIsFunction = typeCheck('function');\nmodule.exports.checkIsObject = typeCheck('object');" + }, + { + "id": 279, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/support/isBufferBrowser.js", + "name": "./node_modules/util/support/isBufferBrowser.js", + "index": 690, + "index2": 673, + "size": 192, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "issuerId": 32, + "issuerName": "./node_modules/util/util.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 32, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "module": "./node_modules/util/util.js", + "moduleName": "./node_modules/util/util.js", + "type": "cjs require", + "userRequest": "./support/isBuffer", + "loc": "491:19-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function';\n};" + }, + { + "id": 280, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/node_modules/inherits/inherits_browser.js", + "name": "./node_modules/util/node_modules/inherits/inherits_browser.js", + "index": 691, + "index2": 674, + "size": 678, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "issuerId": 32, + "issuerName": "./node_modules/util/util.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 32, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "module": "./node_modules/util/util.js", + "moduleName": "./node_modules/util/util.js", + "type": "cjs require", + "userRequest": "inherits", + "loc": "528:19-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n };\n}" + }, + { + "id": 281, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/errors.js", + "name": "./node_modules/precond/lib/errors.js", + "index": 692, + "index2": 676, + "size": 632, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "issuerId": 278, + "issuerName": "./node_modules/precond/lib/checks.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 278, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "module": "./node_modules/precond/lib/checks.js", + "moduleName": "./node_modules/precond/lib/checks.js", + "type": "cjs require", + "userRequest": "./errors", + "loc": "8:30-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nvar util = require('util');\n\nfunction IllegalArgumentError(message) {\n Error.call(this, message);\n this.message = message;\n}\nutil.inherits(IllegalArgumentError, Error);\n\nIllegalArgumentError.prototype.name = 'IllegalArgumentError';\n\nfunction IllegalStateError(message) {\n Error.call(this, message);\n this.message = message;\n}\nutil.inherits(IllegalStateError, Error);\n\nIllegalStateError.prototype.name = 'IllegalStateError';\n\nmodule.exports.IllegalStateError = IllegalStateError;\nmodule.exports.IllegalArgumentError = IllegalArgumentError;" + }, + { + "id": 282, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "name": "./node_modules/backoff/lib/strategy/exponential.js", + "index": 693, + "index2": 681, + "size": 1397, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/strategy/exponential", + "loc": "5:33-70" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar util = require('util');\nvar precond = require('precond');\n\nvar BackoffStrategy = require('./strategy');\n\n// Exponential backoff strategy.\nfunction ExponentialBackoffStrategy(options) {\n BackoffStrategy.call(this, options);\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n this.factor_ = ExponentialBackoffStrategy.DEFAULT_FACTOR;\n\n if (options && options.factor !== undefined) {\n precond.checkArgument(options.factor > 1, 'Exponential factor should be greater than 1 but got %s.', options.factor);\n this.factor_ = options.factor;\n }\n}\nutil.inherits(ExponentialBackoffStrategy, BackoffStrategy);\n\n// Default multiplication factor used to compute the next backoff delay from\n// the current one. The value can be overridden by passing a custom factor as\n// part of the options.\nExponentialBackoffStrategy.DEFAULT_FACTOR = 2;\n\nExponentialBackoffStrategy.prototype.next_ = function () {\n this.backoffDelay_ = Math.min(this.nextBackoffDelay_, this.getMaxDelay());\n this.nextBackoffDelay_ = this.backoffDelay_ * this.factor_;\n return this.backoffDelay_;\n};\n\nExponentialBackoffStrategy.prototype.reset_ = function () {\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n};\n\nmodule.exports = ExponentialBackoffStrategy;" + }, + { + "id": 283, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "name": "./node_modules/backoff/lib/function_call.js", + "index": 696, + "index2": 683, + "size": 6157, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/function_call.js", + "loc": "7:19-52" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar precond = require('precond');\nvar util = require('util');\n\nvar Backoff = require('./backoff');\nvar FibonacciBackoffStrategy = require('./strategy/fibonacci');\n\n// Wraps a function to be called in a backoff loop.\nfunction FunctionCall(fn, args, callback) {\n events.EventEmitter.call(this);\n\n precond.checkIsFunction(fn, 'Expected fn to be a function.');\n precond.checkIsArray(args, 'Expected args to be an array.');\n precond.checkIsFunction(callback, 'Expected callback to be a function.');\n\n this.function_ = fn;\n this.arguments_ = args;\n this.callback_ = callback;\n this.lastResult_ = [];\n this.numRetries_ = 0;\n\n this.backoff_ = null;\n this.strategy_ = null;\n this.failAfter_ = -1;\n this.retryPredicate_ = FunctionCall.DEFAULT_RETRY_PREDICATE_;\n\n this.state_ = FunctionCall.State_.PENDING;\n}\nutil.inherits(FunctionCall, events.EventEmitter);\n\n// States in which the call can be.\nFunctionCall.State_ = {\n // Call isn't started yet.\n PENDING: 0,\n // Call is in progress.\n RUNNING: 1,\n // Call completed successfully which means that either the wrapped function\n // returned successfully or the maximal number of backoffs was reached.\n COMPLETED: 2,\n // The call was aborted.\n ABORTED: 3\n};\n\n// The default retry predicate which considers any error as retriable.\nFunctionCall.DEFAULT_RETRY_PREDICATE_ = function (err) {\n return true;\n};\n\n// Checks whether the call is pending.\nFunctionCall.prototype.isPending = function () {\n return this.state_ == FunctionCall.State_.PENDING;\n};\n\n// Checks whether the call is in progress.\nFunctionCall.prototype.isRunning = function () {\n return this.state_ == FunctionCall.State_.RUNNING;\n};\n\n// Checks whether the call is completed.\nFunctionCall.prototype.isCompleted = function () {\n return this.state_ == FunctionCall.State_.COMPLETED;\n};\n\n// Checks whether the call is aborted.\nFunctionCall.prototype.isAborted = function () {\n return this.state_ == FunctionCall.State_.ABORTED;\n};\n\n// Sets the backoff strategy to use. Can only be called before the call is\n// started otherwise an exception will be thrown.\nFunctionCall.prototype.setStrategy = function (strategy) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.strategy_ = strategy;\n return this; // Return this for chaining.\n};\n\n// Sets the predicate which will be used to determine whether the errors\n// returned from the wrapped function should be retried or not, e.g. a\n// network error would be retriable while a type error would stop the\n// function call.\nFunctionCall.prototype.retryIf = function (retryPredicate) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.retryPredicate_ = retryPredicate;\n return this;\n};\n\n// Returns all intermediary results returned by the wrapped function since\n// the initial call.\nFunctionCall.prototype.getLastResult = function () {\n return this.lastResult_.concat();\n};\n\n// Returns the number of times the wrapped function call was retried.\nFunctionCall.prototype.getNumRetries = function () {\n return this.numRetries_;\n};\n\n// Sets the backoff limit.\nFunctionCall.prototype.failAfter = function (maxNumberOfRetry) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.failAfter_ = maxNumberOfRetry;\n return this; // Return this for chaining.\n};\n\n// Aborts the call.\nFunctionCall.prototype.abort = function () {\n if (this.isCompleted() || this.isAborted()) {\n return;\n }\n\n if (this.isRunning()) {\n this.backoff_.reset();\n }\n\n this.state_ = FunctionCall.State_.ABORTED;\n this.lastResult_ = [new Error('Backoff aborted.')];\n this.emit('abort');\n this.doCallback_();\n};\n\n// Initiates the call to the wrapped function. Accepts an optional factory\n// function used to create the backoff instance; used when testing.\nFunctionCall.prototype.start = function (backoffFactory) {\n precond.checkState(!this.isAborted(), 'FunctionCall is aborted.');\n precond.checkState(this.isPending(), 'FunctionCall already started.');\n\n var strategy = this.strategy_ || new FibonacciBackoffStrategy();\n\n this.backoff_ = backoffFactory ? backoffFactory(strategy) : new Backoff(strategy);\n\n this.backoff_.on('ready', this.doCall_.bind(this, true /* isRetry */));\n this.backoff_.on('fail', this.doCallback_.bind(this));\n this.backoff_.on('backoff', this.handleBackoff_.bind(this));\n\n if (this.failAfter_ > 0) {\n this.backoff_.failAfter(this.failAfter_);\n }\n\n this.state_ = FunctionCall.State_.RUNNING;\n this.doCall_(false /* isRetry */);\n};\n\n// Calls the wrapped function.\nFunctionCall.prototype.doCall_ = function (isRetry) {\n if (isRetry) {\n this.numRetries_++;\n }\n var eventArgs = ['call'].concat(this.arguments_);\n events.EventEmitter.prototype.emit.apply(this, eventArgs);\n var callback = this.handleFunctionCallback_.bind(this);\n this.function_.apply(null, this.arguments_.concat(callback));\n};\n\n// Calls the wrapped function's callback with the last result returned by the\n// wrapped function.\nFunctionCall.prototype.doCallback_ = function () {\n this.callback_.apply(null, this.lastResult_);\n};\n\n// Handles wrapped function's completion. This method acts as a replacement\n// for the original callback function.\nFunctionCall.prototype.handleFunctionCallback_ = function () {\n if (this.isAborted()) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments);\n this.lastResult_ = args; // Save last callback arguments.\n events.EventEmitter.prototype.emit.apply(this, ['callback'].concat(args));\n\n var err = args[0];\n if (err && this.retryPredicate_(err)) {\n this.backoff_.backoff(err);\n } else {\n this.state_ = FunctionCall.State_.COMPLETED;\n this.doCallback_();\n }\n};\n\n// Handles the backoff event by reemitting it.\nFunctionCall.prototype.handleBackoff_ = function (number, delay, err) {\n this.emit('backoff', number, delay, err);\n};\n\nmodule.exports = FunctionCall;" + }, + { + "id": 756, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "name": "./app/javascript/mastodon/features/community_timeline/index.js", + "index": 697, + "index2": 690, + "size": 4184, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 5 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../community_timeline", + "loc": "22:9-97" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport StatusListContainer from '../ui/containers/status_list_container';\nimport Column from '../../components/column';\nimport ColumnHeader from '../../components/column_header';\nimport { refreshCommunityTimeline, expandCommunityTimeline } from '../../actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { connectCommunityStream } from '../../actions/streaming';\n\nvar messages = defineMessages({\n title: {\n 'id': 'column.community',\n 'defaultMessage': 'Local timeline'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n hasUnread: state.getIn(['timelines', 'community', 'unread']) > 0\n };\n};\n\nvar CommunityTimeline = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = function (_React$PureComponent) {\n _inherits(CommunityTimeline, _React$PureComponent);\n\n function CommunityTimeline() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CommunityTimeline);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handlePin = function () {\n var _this$props = _this.props,\n columnId = _this$props.columnId,\n dispatch = _this$props.dispatch;\n\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('COMMUNITY', {}));\n }\n }, _this.handleMove = function (dir) {\n var _this$props2 = _this.props,\n columnId = _this$props2.columnId,\n dispatch = _this$props2.dispatch;\n\n dispatch(moveColumn(columnId, dir));\n }, _this.handleHeaderClick = function () {\n _this.column.scrollTop();\n }, _this.setRef = function (c) {\n _this.column = c;\n }, _this.handleLoadMore = function () {\n _this.props.dispatch(expandCommunityTimeline());\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n CommunityTimeline.prototype.componentDidMount = function componentDidMount() {\n var dispatch = this.props.dispatch;\n\n\n dispatch(refreshCommunityTimeline());\n this.disconnect = dispatch(connectCommunityStream());\n };\n\n CommunityTimeline.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n };\n\n CommunityTimeline.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n hasUnread = _props.hasUnread,\n columnId = _props.columnId,\n multiColumn = _props.multiColumn;\n\n var pinned = !!columnId;\n\n return React.createElement(\n Column,\n { ref: this.setRef },\n _jsx(ColumnHeader, {\n icon: 'users',\n active: hasUnread,\n title: intl.formatMessage(messages.title),\n onPin: this.handlePin,\n onMove: this.handleMove,\n onClick: this.handleHeaderClick,\n pinned: pinned,\n multiColumn: multiColumn\n }, void 0, _jsx(ColumnSettingsContainer, {})),\n _jsx(StatusListContainer, {\n trackScroll: !pinned,\n scrollKey: 'community_timeline-' + columnId,\n timelineId: 'community',\n loadMore: this.handleLoadMore,\n emptyMessage: _jsx(FormattedMessage, {\n id: 'empty_column.community',\n defaultMessage: 'The local timeline is empty. Write something publicly to get the ball rolling!'\n })\n })\n );\n };\n\n return CommunityTimeline;\n}(React.PureComponent)) || _class) || _class);\nexport { CommunityTimeline as default };" + }, + { + "id": 794, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/setting_text.js", + "name": "./app/javascript/mastodon/components/setting_text.js", + "index": 677, + "index2": 666, + "size": 1483, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 9 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "issuerId": 889, + "issuerName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "../../../components/setting_text", + "loc": "11:0-59" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "../../../components/setting_text", + "loc": "12:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar SettingText = function (_React$PureComponent) {\n _inherits(SettingText, _React$PureComponent);\n\n function SettingText() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, SettingText);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleChange = function (e) {\n _this.props.onChange(_this.props.settingKey, e.target.value);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n SettingText.prototype.render = function render() {\n var _props = this.props,\n settings = _props.settings,\n settingKey = _props.settingKey,\n label = _props.label;\n\n\n return _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, label), _jsx('input', {\n className: 'setting-text',\n value: settings.getIn(settingKey),\n onChange: this.handleChange,\n placeholder: label\n }));\n };\n\n return SettingText;\n}(React.PureComponent);\n\nexport { SettingText as default };" + }, + { + "id": 805, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "name": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "index": 680, + "index2": 670, + "size": 1737, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "issuerId": 890, + "issuerName": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 890, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../../community_timeline/components/column_settings", + "loc": "2:0-81" + }, + { + "moduleId": 891, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../components/column_settings", + "loc": "2:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\n\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport SettingText from '../../../components/setting_text';\n\nvar messages = defineMessages({\n filter_regex: {\n 'id': 'home.column_settings.filter_regex',\n 'defaultMessage': 'Filter out by regular expressions'\n },\n settings: {\n 'id': 'home.settings',\n 'defaultMessage': 'Column settings'\n }\n});\n\nvar ColumnSettings = injectIntl(_class = function (_React$PureComponent) {\n _inherits(ColumnSettings, _React$PureComponent);\n\n function ColumnSettings() {\n _classCallCheck(this, ColumnSettings);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n ColumnSettings.prototype.render = function render() {\n var _props = this.props,\n settings = _props.settings,\n onChange = _props.onChange,\n intl = _props.intl;\n\n\n return _jsx('div', {}, void 0, _jsx('span', {\n className: 'column-settings__section'\n }, void 0, _jsx(FormattedMessage, {\n id: 'home.column_settings.advanced',\n defaultMessage: 'Advanced'\n })), _jsx('div', {\n className: 'column-settings__row'\n }, void 0, _jsx(SettingText, {\n settings: settings,\n settingKey: ['regex', 'body'],\n onChange: onChange,\n label: intl.formatMessage(messages.filter_regex)\n })));\n };\n\n return ColumnSettings;\n}(React.PureComponent)) || _class;\n\nexport { ColumnSettings as default };" + }, + { + "id": 891, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "name": "./app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "index": 698, + "index2": 689, + "size": 570, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 5 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "issuerId": 756, + "issuerName": "./app/javascript/mastodon/features/community_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "./containers/column_settings_container", + "loc": "17:0-77" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from '../../../actions/settings';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n settings: state.getIn(['settings', 'community'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(key, checked) {\n dispatch(changeSetting(['community'].concat(key), checked));\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "22:9-97", + "name": "features/community_timeline", + "reasons": [] + } + ] + }, + { + "id": 6, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 90600, + "names": [ + "features/hashtag_timeline" + ], + "files": [ + "features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js", + "features/hashtag_timeline-3ed7e7bf18fd2fc04c9e.js.map" + ], + "hash": "3ed7e7bf18fd2fc04c9e", + "parents": [ + 2, + 3, + 4, + 5, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 32, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "name": "./node_modules/util/util.js", + "index": 689, + "index2": 675, + "size": 15214, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 156, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "module": "./node_modules/backoff/lib/strategy/strategy.js", + "moduleName": "./node_modules/backoff/lib/strategy/strategy.js", + "type": "cjs require", + "userRequest": "util", + "loc": "5:11-26" + }, + { + "moduleId": 157, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "module": "./node_modules/backoff/lib/strategy/fibonacci.js", + "moduleName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "type": "cjs require", + "userRequest": "util", + "loc": "4:11-26" + }, + { + "moduleId": 278, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "module": "./node_modules/precond/lib/checks.js", + "moduleName": "./node_modules/precond/lib/checks.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 281, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/errors.js", + "module": "./node_modules/precond/lib/errors.js", + "moduleName": "./node_modules/precond/lib/errors.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "util", + "loc": "4:11-26" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function (f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function (fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function () {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function (set) {\n if (isUndefined(debugEnviron)) debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function () {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function () {};\n }\n }\n return debugs[set];\n};\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold': [1, 22],\n 'italic': [3, 23],\n 'underline': [4, 24],\n 'inverse': [7, 27],\n 'white': [37, 39],\n 'grey': [90, 39],\n 'black': [30, 39],\n 'blue': [34, 39],\n 'cyan': [36, 39],\n 'green': [32, 39],\n 'magenta': [35, 39],\n 'red': [31, 39],\n 'yellow': [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str + '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function (val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect && value && isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '',\n array = false,\n braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function (key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '').replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value)) return ctx.stylize('' + value, 'number');\n if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value)) return ctx.stylize('null', 'null');\n}\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function (key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n }\n });\n return output;\n}\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function (prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] + (base === '' ? '' : base + '\\n ') + ' ' + output.join(',\\n ') + ' ' + braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function () {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function (origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}" + }, + { + "id": 92, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/events/events.js", + "name": "./node_modules/events/events.js", + "index": 686, + "index2": 672, + "size": 8089, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + }, + { + "moduleId": 156, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "module": "./node_modules/backoff/lib/strategy/strategy.js", + "moduleName": "./node_modules/backoff/lib/strategy/strategy.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function (n) {\n if (!isNumber(n) || n < 0 || isNaN(n)) throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function (type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events) this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error || isObject(this._events.error) && !this._events.error.length) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler)) return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n args = Array.prototype.slice.call(arguments, 1);\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n args = Array.prototype.slice.call(arguments, 1);\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++) listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function (type, listener) {\n var m;\n\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n if (!this._events) this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener) this.emit('newListener', type, isFunction(listener.listener) ? listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' + 'leak detected. %d listeners added. ' + 'Use emitter.setMaxListeners() to increase limit.', this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function (type, listener) {\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function (type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type]) return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener || isFunction(list.listener) && list.listener === listener) {\n delete this._events[type];\n if (this._events.removeListener) this.emit('removeListener', type, listener);\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener || list[i].listener && list[i].listener === listener) {\n position = i;\n break;\n }\n }\n\n if (position < 0) return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener) this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function (type) {\n var key, listeners;\n\n if (!this._events) return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0) this._events = {};else if (this._events[type]) delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n while (listeners.length) this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function (type) {\n var ret;\n if (!this._events || !this._events[type]) ret = [];else if (isFunction(this._events[type])) ret = [this._events[type]];else ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.prototype.listenerCount = function (type) {\n if (this._events) {\n var evlistener = this._events[type];\n\n if (isFunction(evlistener)) return 1;else if (evlistener) return evlistener.length;\n }\n return 0;\n};\n\nEventEmitter.listenerCount = function (emitter, type) {\n return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}" + }, + { + "id": 93, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "name": "./node_modules/precond/index.js", + "index": 687, + "index2": 678, + "size": 123, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nmodule.exports = require('./lib/checks');" + }, + { + "id": 155, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "name": "./node_modules/backoff/lib/backoff.js", + "index": 685, + "index2": 679, + "size": 2107, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/backoff", + "loc": "4:14-38" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "./backoff", + "loc": "8:14-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar precond = require('precond');\nvar util = require('util');\n\n// A class to hold the state of a backoff operation. Accepts a backoff strategy\n// to generate the backoff delays.\nfunction Backoff(backoffStrategy) {\n events.EventEmitter.call(this);\n\n this.backoffStrategy_ = backoffStrategy;\n this.maxNumberOfRetry_ = -1;\n this.backoffNumber_ = 0;\n this.backoffDelay_ = 0;\n this.timeoutID_ = -1;\n\n this.handlers = {\n backoff: this.onBackoff_.bind(this)\n };\n}\nutil.inherits(Backoff, events.EventEmitter);\n\n// Sets a limit, greater than 0, on the maximum number of backoffs. A 'fail'\n// event will be emitted when the limit is reached.\nBackoff.prototype.failAfter = function (maxNumberOfRetry) {\n precond.checkArgument(maxNumberOfRetry > 0, 'Expected a maximum number of retry greater than 0 but got %s.', maxNumberOfRetry);\n\n this.maxNumberOfRetry_ = maxNumberOfRetry;\n};\n\n// Starts a backoff operation. Accepts an optional parameter to let the\n// listeners know why the backoff operation was started.\nBackoff.prototype.backoff = function (err) {\n precond.checkState(this.timeoutID_ === -1, 'Backoff in progress.');\n\n if (this.backoffNumber_ === this.maxNumberOfRetry_) {\n this.emit('fail', err);\n this.reset();\n } else {\n this.backoffDelay_ = this.backoffStrategy_.next();\n this.timeoutID_ = setTimeout(this.handlers.backoff, this.backoffDelay_);\n this.emit('backoff', this.backoffNumber_, this.backoffDelay_, err);\n }\n};\n\n// Handles the backoff timeout completion.\nBackoff.prototype.onBackoff_ = function () {\n this.timeoutID_ = -1;\n this.emit('ready', this.backoffNumber_, this.backoffDelay_);\n this.backoffNumber_++;\n};\n\n// Stops any backoff operation and resets the backoff delay to its inital value.\nBackoff.prototype.reset = function () {\n this.backoffNumber_ = 0;\n this.backoffStrategy_.reset();\n clearTimeout(this.timeoutID_);\n this.timeoutID_ = -1;\n};\n\nmodule.exports = Backoff;" + }, + { + "id": 156, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "name": "./node_modules/backoff/lib/strategy/strategy.js", + "index": 694, + "index2": 680, + "size": 2749, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "issuerId": 157, + "issuerName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 157, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "module": "./node_modules/backoff/lib/strategy/fibonacci.js", + "moduleName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "type": "cjs require", + "userRequest": "./strategy", + "loc": "6:22-43" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "./strategy", + "loc": "7:22-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar util = require('util');\n\nfunction isDef(value) {\n return value !== undefined && value !== null;\n}\n\n// Abstract class defining the skeleton for the backoff strategies. Accepts an\n// object holding the options for the backoff strategy:\n//\n// * `randomisationFactor`: The randomisation factor which must be between 0\n// and 1 where 1 equates to a randomization factor of 100% and 0 to no\n// randomization.\n// * `initialDelay`: The backoff initial delay in milliseconds.\n// * `maxDelay`: The backoff maximal delay in milliseconds.\nfunction BackoffStrategy(options) {\n options = options || {};\n\n if (isDef(options.initialDelay) && options.initialDelay < 1) {\n throw new Error('The initial timeout must be greater than 0.');\n } else if (isDef(options.maxDelay) && options.maxDelay < 1) {\n throw new Error('The maximal timeout must be greater than 0.');\n }\n\n this.initialDelay_ = options.initialDelay || 100;\n this.maxDelay_ = options.maxDelay || 10000;\n\n if (this.maxDelay_ <= this.initialDelay_) {\n throw new Error('The maximal backoff delay must be ' + 'greater than the initial backoff delay.');\n }\n\n if (isDef(options.randomisationFactor) && (options.randomisationFactor < 0 || options.randomisationFactor > 1)) {\n throw new Error('The randomisation factor must be between 0 and 1.');\n }\n\n this.randomisationFactor_ = options.randomisationFactor || 0;\n}\n\n// Gets the maximal backoff delay.\nBackoffStrategy.prototype.getMaxDelay = function () {\n return this.maxDelay_;\n};\n\n// Gets the initial backoff delay.\nBackoffStrategy.prototype.getInitialDelay = function () {\n return this.initialDelay_;\n};\n\n// Template method that computes and returns the next backoff delay in\n// milliseconds.\nBackoffStrategy.prototype.next = function () {\n var backoffDelay = this.next_();\n var randomisationMultiple = 1 + Math.random() * this.randomisationFactor_;\n var randomizedDelay = Math.round(backoffDelay * randomisationMultiple);\n return randomizedDelay;\n};\n\n// Computes and returns the next backoff delay. Intended to be overridden by\n// subclasses.\nBackoffStrategy.prototype.next_ = function () {\n throw new Error('BackoffStrategy.next_() unimplemented.');\n};\n\n// Template method that resets the backoff delay to its initial value.\nBackoffStrategy.prototype.reset = function () {\n this.reset_();\n};\n\n// Resets the backoff delay to its initial value. Intended to be overridden by\n// subclasses.\nBackoffStrategy.prototype.reset_ = function () {\n throw new Error('BackoffStrategy.reset_() unimplemented.');\n};\n\nmodule.exports = BackoffStrategy;" + }, + { + "id": 157, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "name": "./node_modules/backoff/lib/strategy/fibonacci.js", + "index": 695, + "index2": 682, + "size": 856, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/strategy/fibonacci", + "loc": "6:31-66" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "./strategy/fibonacci", + "loc": "9:31-62" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar util = require('util');\n\nvar BackoffStrategy = require('./strategy');\n\n// Fibonacci backoff strategy.\nfunction FibonacciBackoffStrategy(options) {\n BackoffStrategy.call(this, options);\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n}\nutil.inherits(FibonacciBackoffStrategy, BackoffStrategy);\n\nFibonacciBackoffStrategy.prototype.next_ = function () {\n var backoffDelay = Math.min(this.nextBackoffDelay_, this.getMaxDelay());\n this.nextBackoffDelay_ += this.backoffDelay_;\n this.backoffDelay_ = backoffDelay;\n return backoffDelay;\n};\n\nFibonacciBackoffStrategy.prototype.reset_ = function () {\n this.nextBackoffDelay_ = this.getInitialDelay();\n this.backoffDelay_ = 0;\n};\n\nmodule.exports = FibonacciBackoffStrategy;" + }, + { + "id": 158, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "name": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "index": 347, + "index2": 754, + "size": 2869, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "issuerId": 460, + "issuerName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/status_list_container", + "loc": "11:0-76" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/status_list_container", + "loc": "11:0-76" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "12:0-73" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import _debounce from 'lodash/debounce';\nimport { connect } from 'react-redux';\nimport StatusList from '../../../components/status_list';\nimport { scrollTopTimeline } from '../../../actions/timelines';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\nimport { createSelector } from 'reselect';\n\nimport { me } from '../../../initial_state';\n\nvar makeGetStatusIds = function makeGetStatusIds() {\n return createSelector([function (state, _ref) {\n var type = _ref.type;\n return state.getIn(['settings', type], ImmutableMap());\n }, function (state, _ref2) {\n var type = _ref2.type;\n return state.getIn(['timelines', type, 'items'], ImmutableList());\n }, function (state) {\n return state.get('statuses');\n }], function (columnSettings, statusIds, statuses) {\n var rawRegex = columnSettings.getIn(['regex', 'body'], '').trim();\n var regex = null;\n\n try {\n regex = rawRegex && new RegExp(rawRegex, 'i');\n } catch (e) {\n // Bad regex, don't affect filters\n }\n\n return statusIds.filter(function (id) {\n var statusForId = statuses.get(id);\n var showStatus = true;\n\n if (columnSettings.getIn(['shows', 'reblog']) === false) {\n showStatus = showStatus && statusForId.get('reblog') === null;\n }\n\n if (columnSettings.getIn(['shows', 'reply']) === false) {\n showStatus = showStatus && (statusForId.get('in_reply_to_id') === null || statusForId.get('in_reply_to_account_id') === me);\n }\n\n if (showStatus && regex && statusForId.get('account') !== me) {\n var searchIndex = statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'search_index']) : statusForId.get('search_index');\n showStatus = !regex.test(searchIndex);\n }\n\n return showStatus;\n });\n });\n};\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatusIds = makeGetStatusIds();\n\n var mapStateToProps = function mapStateToProps(state, _ref3) {\n var timelineId = _ref3.timelineId;\n return {\n statusIds: getStatusIds(state, { type: timelineId }),\n isLoading: state.getIn(['timelines', timelineId, 'isLoading'], true),\n hasMore: !!state.getIn(['timelines', timelineId, 'next'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref4) {\n var timelineId = _ref4.timelineId,\n loadMore = _ref4.loadMore;\n return {\n\n onScrollToBottom: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, false));\n loadMore();\n }, 300, { leading: true }),\n\n onScrollToTop: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, true));\n }, 100),\n\n onScroll: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, false));\n }, 100)\n\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(StatusList);" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 262, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "name": "./app/javascript/mastodon/components/scrollable_list.js", + "index": 662, + "index2": 664, + "size": 7448, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "./scrollable_list", + "loc": "15:0-47" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/scrollable_list", + "loc": "22:0-62" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _throttle from 'lodash/throttle';\n\nvar _class, _temp2;\n\nimport React, { PureComponent } from 'react';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport PropTypes from 'prop-types';\nimport IntersectionObserverArticleContainer from '../containers/intersection_observer_article_container';\nimport LoadMore from './load_more';\nimport IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';\n\nimport { List as ImmutableList } from 'immutable';\nimport classNames from 'classnames';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';\n\nvar ScrollableList = (_temp2 = _class = function (_PureComponent) {\n _inherits(ScrollableList, _PureComponent);\n\n function ScrollableList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollableList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _PureComponent.call.apply(_PureComponent, [this].concat(args))), _this), _this.state = {\n lastMouseMove: null\n }, _this.intersectionObserverWrapper = new IntersectionObserverWrapper(), _this.handleScroll = _throttle(function () {\n if (_this.node) {\n var _this$node = _this.node,\n scrollTop = _this$node.scrollTop,\n scrollHeight = _this$node.scrollHeight,\n clientHeight = _this$node.clientHeight;\n\n var offset = scrollHeight - scrollTop - clientHeight;\n _this._oldScrollPosition = scrollHeight - scrollTop;\n\n if (400 > offset && _this.props.onScrollToBottom && !_this.props.isLoading) {\n _this.props.onScrollToBottom();\n } else if (scrollTop < 100 && _this.props.onScrollToTop) {\n _this.props.onScrollToTop();\n } else if (_this.props.onScroll) {\n _this.props.onScroll();\n }\n }\n }, 150, {\n trailing: true\n }), _this.handleMouseMove = _throttle(function () {\n _this._lastMouseMove = new Date();\n }, 300), _this.handleMouseLeave = function () {\n _this._lastMouseMove = null;\n }, _this.onFullScreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.onScrollToBottom();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ScrollableList.prototype.componentDidMount = function componentDidMount() {\n this.attachScrollListener();\n this.attachIntersectionObserver();\n attachFullscreenListener(this.onFullScreenChange);\n\n // Handle initial scroll posiiton\n this.handleScroll();\n };\n\n ScrollableList.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var someItemInserted = React.Children.count(prevProps.children) > 0 && React.Children.count(prevProps.children) < React.Children.count(this.props.children) && this.getFirstChildKey(prevProps) !== this.getFirstChildKey(this.props);\n\n // Reset the scroll position when a new child comes in in order not to\n // jerk the scrollbar around if you're already scrolled down the page.\n if (someItemInserted && this._oldScrollPosition && this.node.scrollTop > 0) {\n var newScrollTop = this.node.scrollHeight - this._oldScrollPosition;\n\n if (this.node.scrollTop !== newScrollTop) {\n this.node.scrollTop = newScrollTop;\n }\n } else {\n this._oldScrollPosition = this.node.scrollHeight - this.node.scrollTop;\n }\n };\n\n ScrollableList.prototype.componentWillUnmount = function componentWillUnmount() {\n this.detachScrollListener();\n this.detachIntersectionObserver();\n detachFullscreenListener(this.onFullScreenChange);\n };\n\n ScrollableList.prototype.attachIntersectionObserver = function attachIntersectionObserver() {\n this.intersectionObserverWrapper.connect({\n root: this.node,\n rootMargin: '300% 0px'\n });\n };\n\n ScrollableList.prototype.detachIntersectionObserver = function detachIntersectionObserver() {\n this.intersectionObserverWrapper.disconnect();\n };\n\n ScrollableList.prototype.attachScrollListener = function attachScrollListener() {\n this.node.addEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.detachScrollListener = function detachScrollListener() {\n this.node.removeEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.getFirstChildKey = function getFirstChildKey(props) {\n var children = props.children;\n\n var firstChild = children;\n if (children instanceof ImmutableList) {\n firstChild = children.get(0);\n } else if (Array.isArray(children)) {\n firstChild = children[0];\n }\n return firstChild && firstChild.key;\n };\n\n ScrollableList.prototype._recentlyMoved = function _recentlyMoved() {\n return this._lastMouseMove !== null && new Date() - this._lastMouseMove < 600;\n };\n\n ScrollableList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n scrollKey = _props.scrollKey,\n trackScroll = _props.trackScroll,\n shouldUpdateScroll = _props.shouldUpdateScroll,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore,\n prepend = _props.prepend,\n emptyMessage = _props.emptyMessage;\n var fullscreen = this.state.fullscreen;\n\n var childrenCount = React.Children.count(children);\n\n var loadMore = hasMore && childrenCount > 0 ? _jsx(LoadMore, {\n visible: !isLoading,\n onClick: this.handleLoadMore\n }) : null;\n var scrollableArea = null;\n\n if (isLoading || childrenCount > 0 || !emptyMessage) {\n scrollableArea = React.createElement(\n 'div',\n { className: classNames('scrollable', { fullscreen: fullscreen }), ref: this.setRef, onMouseMove: this.handleMouseMove, onMouseLeave: this.handleMouseLeave },\n _jsx('div', {\n role: 'feed',\n className: 'item-list'\n }, void 0, prepend, React.Children.map(this.props.children, function (child, index) {\n return _jsx(IntersectionObserverArticleContainer, {\n id: child.key,\n index: index,\n listLength: childrenCount,\n intersectionObserverWrapper: _this2.intersectionObserverWrapper,\n saveHeightKey: trackScroll ? _this2.context.router.route.location.key + ':' + scrollKey : null\n }, child.key, child);\n }), loadMore)\n );\n } else {\n scrollableArea = React.createElement(\n 'div',\n { className: 'empty-column-indicator', ref: this.setRef },\n emptyMessage\n );\n }\n\n if (trackScroll) {\n return _jsx(ScrollContainer, {\n scrollKey: scrollKey,\n shouldUpdateScroll: shouldUpdateScroll\n }, void 0, scrollableArea);\n } else {\n return scrollableArea;\n }\n };\n\n return ScrollableList;\n}(PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { ScrollableList as default };" + }, + { + "id": 263, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "name": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "index": 666, + "index2": 660, + "size": 641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../containers/intersection_observer_article_container", + "loc": "12:0-105" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport IntersectionObserverArticle from '../components/intersection_observer_article';\nimport { setHeight } from '../actions/height_cache';\n\nvar makeMapStateToProps = function makeMapStateToProps(state, props) {\n return {\n cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onHeightChange: function onHeightChange(key, id, height) {\n dispatch(setHeight(key, id, height));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(IntersectionObserverArticle);" + }, + { + "id": 264, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "name": "./app/javascript/mastodon/components/intersection_observer_article.js", + "index": 667, + "index2": 659, + "size": 5582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "issuerId": 263, + "issuerName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "../components/intersection_observer_article", + "loc": "2:0-86" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport scheduleIdleTask from '../features/ui/util/schedule_idle_task';\nimport getRectFromEntry from '../features/ui/util/get_rect_from_entry';\nimport { is } from 'immutable';\n\n// Diff these props in the \"rendered\" state\nvar updateOnPropsForRendered = ['id', 'index', 'listLength'];\n// Diff these props in the \"unrendered\" state\nvar updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];\n\nvar IntersectionObserverArticle = function (_React$Component) {\n _inherits(IntersectionObserverArticle, _React$Component);\n\n function IntersectionObserverArticle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, IntersectionObserverArticle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n isHidden: false // set to true in requestIdleCallback to trigger un-render\n }, _this.handleIntersection = function (entry) {\n _this.entry = entry;\n\n scheduleIdleTask(_this.calculateHeight);\n _this.setState(_this.updateStateAfterIntersection);\n }, _this.updateStateAfterIntersection = function (prevState) {\n if (prevState.isIntersecting && !_this.entry.isIntersecting) {\n scheduleIdleTask(_this.hideIfNotIntersecting);\n }\n return {\n isIntersecting: _this.entry.isIntersecting,\n isHidden: false\n };\n }, _this.calculateHeight = function () {\n var _this$props = _this.props,\n onHeightChange = _this$props.onHeightChange,\n saveHeightKey = _this$props.saveHeightKey,\n id = _this$props.id;\n // save the height of the fully-rendered element (this is expensive\n // on Chrome, where we need to fall back to getBoundingClientRect)\n\n _this.height = getRectFromEntry(_this.entry).height;\n\n if (onHeightChange && saveHeightKey) {\n onHeightChange(saveHeightKey, id, _this.height);\n }\n }, _this.hideIfNotIntersecting = function () {\n if (!_this.componentMounted) {\n return;\n }\n\n // When the browser gets a chance, test if we're still not intersecting,\n // and if so, set our isHidden to true to trigger an unrender. The point of\n // this is to save DOM nodes and avoid using up too much memory.\n // See: https://github.com/tootsuite/mastodon/issues/2900\n _this.setState(function (prevState) {\n return { isHidden: !prevState.isIntersecting };\n });\n }, _this.handleRef = function (node) {\n _this.node = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n IntersectionObserverArticle.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n var _this2 = this;\n\n var isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);\n var willBeUnrendered = !nextState.isIntersecting && (nextState.isHidden || nextProps.cachedHeight);\n if (!!isUnrendered !== !!willBeUnrendered) {\n // If we're going from rendered to unrendered (or vice versa) then update\n return true;\n }\n // Otherwise, diff based on props\n var propsToDiff = isUnrendered ? updateOnPropsForUnrendered : updateOnPropsForRendered;\n return !propsToDiff.every(function (prop) {\n return is(nextProps[prop], _this2.props[prop]);\n });\n };\n\n IntersectionObserverArticle.prototype.componentDidMount = function componentDidMount() {\n var _props = this.props,\n intersectionObserverWrapper = _props.intersectionObserverWrapper,\n id = _props.id;\n\n\n intersectionObserverWrapper.observe(id, this.node, this.handleIntersection);\n\n this.componentMounted = true;\n };\n\n IntersectionObserverArticle.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n intersectionObserverWrapper = _props2.intersectionObserverWrapper,\n id = _props2.id;\n\n intersectionObserverWrapper.unobserve(id, this.node);\n\n this.componentMounted = false;\n };\n\n IntersectionObserverArticle.prototype.render = function render() {\n var _props3 = this.props,\n children = _props3.children,\n id = _props3.id,\n index = _props3.index,\n listLength = _props3.listLength,\n cachedHeight = _props3.cachedHeight;\n var _state = this.state,\n isIntersecting = _state.isIntersecting,\n isHidden = _state.isHidden;\n\n\n if (!isIntersecting && (isHidden || cachedHeight)) {\n return React.createElement(\n 'article',\n {\n ref: this.handleRef,\n 'aria-posinset': index,\n 'aria-setsize': listLength,\n style: { height: (this.height || cachedHeight) + 'px', opacity: 0, overflow: 'hidden' },\n 'data-id': id,\n tabIndex: '0'\n },\n children && React.cloneElement(children, { hidden: true })\n );\n }\n\n return React.createElement(\n 'article',\n { ref: this.handleRef, 'aria-posinset': index, 'aria-setsize': listLength, 'data-id': id, tabIndex: '0' },\n children && React.cloneElement(children, { hidden: false })\n );\n };\n\n return IntersectionObserverArticle;\n}(React.Component);\n\nexport { IntersectionObserverArticle as default };" + }, + { + "id": 265, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "name": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "index": 668, + "index2": 657, + "size": 753, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/schedule_idle_task", + "loc": "6:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "// Wrapper to call requestIdleCallback() to schedule low-priority work.\n// See https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API\n// for a good breakdown of the concepts behind this.\n\nimport Queue from 'tiny-queue';\n\nvar taskQueue = new Queue();\nvar runningRequestIdleCallback = false;\n\nfunction runTasks(deadline) {\n while (taskQueue.length && deadline.timeRemaining() > 0) {\n taskQueue.shift()();\n }\n if (taskQueue.length) {\n requestIdleCallback(runTasks);\n } else {\n runningRequestIdleCallback = false;\n }\n}\n\nfunction scheduleIdleTask(task) {\n taskQueue.push(task);\n if (!runningRequestIdleCallback) {\n runningRequestIdleCallback = true;\n requestIdleCallback(runTasks);\n }\n}\n\nexport default scheduleIdleTask;" + }, + { + "id": 266, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/tiny-queue/index.js", + "name": "./node_modules/tiny-queue/index.js", + "index": 669, + "index2": 656, + "size": 941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "issuerId": 265, + "issuerName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 265, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "module": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "type": "harmony import", + "userRequest": "tiny-queue", + "loc": "5:0-31" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\n// Simple FIFO queue implementation to avoid having to do shift()\n// on an array, which is slow.\n\nfunction Queue() {\n this.length = 0;\n}\n\nQueue.prototype.push = function (item) {\n var node = { item: item };\n if (this.last) {\n this.last = this.last.next = node;\n } else {\n this.last = this.first = node;\n }\n this.length++;\n};\n\nQueue.prototype.shift = function () {\n var node = this.first;\n if (node) {\n this.first = node.next;\n if (! --this.length) {\n this.last = undefined;\n }\n return node.item;\n }\n};\n\nQueue.prototype.slice = function (start, end) {\n start = typeof start === 'undefined' ? 0 : start;\n end = typeof end === 'undefined' ? Infinity : end;\n\n var output = [];\n\n var i = 0;\n for (var node = this.first; node; node = node.next) {\n if (--end < 0) {\n break;\n } else if (++i > start) {\n output.push(node.item);\n }\n }\n return output;\n};\n\nmodule.exports = Queue;" + }, + { + "id": 267, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "name": "./app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "index": 670, + "index2": 658, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/get_rect_from_entry", + "loc": "7:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "\n// Get the bounding client rect from an IntersectionObserver entry.\n// This is to work around a bug in Chrome: https://crbug.com/737228\n\nvar hasBoundingRectBug = void 0;\n\nfunction getRectFromEntry(entry) {\n if (typeof hasBoundingRectBug !== 'boolean') {\n var boundingRect = entry.target.getBoundingClientRect();\n var observerRect = entry.boundingClientRect;\n hasBoundingRectBug = boundingRect.height !== observerRect.height || boundingRect.top !== observerRect.top || boundingRect.width !== observerRect.width || boundingRect.bottom !== observerRect.bottom || boundingRect.left !== observerRect.left || boundingRect.right !== observerRect.right;\n }\n return hasBoundingRectBug ? entry.target.getBoundingClientRect() : entry.boundingClientRect;\n}\n\nexport default getRectFromEntry;" + }, + { + "id": 268, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "name": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "index": 672, + "index2": 662, + "size": 2097, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../features/ui/util/intersection_observer_wrapper", + "loc": "14:0-92" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\n\n// Wrapper for IntersectionObserver in order to make working with it\n// a bit easier. We also follow this performance advice:\n// \"If you need to observe multiple elements, it is both possible and\n// advised to observe multiple elements using the same IntersectionObserver\n// instance by calling observe() multiple times.\"\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n\nvar IntersectionObserverWrapper = function () {\n function IntersectionObserverWrapper() {\n _classCallCheck(this, IntersectionObserverWrapper);\n\n this.callbacks = {};\n this.observerBacklog = [];\n this.observer = null;\n }\n\n IntersectionObserverWrapper.prototype.connect = function connect(options) {\n var _this = this;\n\n var onIntersection = function onIntersection(entries) {\n entries.forEach(function (entry) {\n var id = entry.target.getAttribute('data-id');\n if (_this.callbacks[id]) {\n _this.callbacks[id](entry);\n }\n });\n };\n\n this.observer = new IntersectionObserver(onIntersection, options);\n this.observerBacklog.forEach(function (_ref) {\n var id = _ref[0],\n node = _ref[1],\n callback = _ref[2];\n\n _this.observe(id, node, callback);\n });\n this.observerBacklog = null;\n };\n\n IntersectionObserverWrapper.prototype.observe = function observe(id, node, callback) {\n if (!this.observer) {\n this.observerBacklog.push([id, node, callback]);\n } else {\n this.callbacks[id] = callback;\n this.observer.observe(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.unobserve = function unobserve(id, node) {\n if (this.observer) {\n delete this.callbacks[id];\n this.observer.unobserve(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.disconnect = function disconnect() {\n if (this.observer) {\n this.callbacks = {};\n this.observer.disconnect();\n this.observer = null;\n }\n };\n\n return IntersectionObserverWrapper;\n}();\n\nexport default IntersectionObserverWrapper;" + }, + { + "id": 269, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "name": "./app/javascript/mastodon/components/status_list.js", + "index": 348, + "index2": 753, + "size": 3062, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "issuerId": 158, + "issuerName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "../../../components/status_list", + "loc": "3:0-57" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "15:0-54" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "14:0-54" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "16:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport StatusContainer from '../containers/status_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ScrollableList from './scrollable_list';\n\nvar StatusList = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(StatusList, _ImmutablePureCompone);\n\n function StatusList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StatusList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleMoveUp = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) - 1;\n _this._selectChild(elementIndex);\n }, _this.handleMoveDown = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) + 1;\n _this._selectChild(elementIndex);\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StatusList.prototype._selectChild = function _selectChild(index) {\n var element = this.node.node.querySelector('article:nth-of-type(' + (index + 1) + ') .focusable');\n\n if (element) {\n element.focus();\n }\n };\n\n StatusList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n statusIds = _props.statusIds,\n other = _objectWithoutProperties(_props, ['statusIds']);\n\n var isLoading = other.isLoading;\n\n\n var scrollableContent = isLoading || statusIds.size > 0 ? statusIds.map(function (statusId) {\n return _jsx(StatusContainer, {\n id: statusId,\n onMoveUp: _this2.handleMoveUp,\n onMoveDown: _this2.handleMoveDown\n }, statusId);\n }) : null;\n\n return React.createElement(\n ScrollableList,\n _extends({}, other, { ref: this.setRef }),\n scrollableContent\n );\n };\n\n return StatusList;\n}(ImmutablePureComponent), _class.propTypes = {\n scrollKey: PropTypes.string.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n onScrollToBottom: PropTypes.func,\n onScrollToTop: PropTypes.func,\n onScroll: PropTypes.func,\n trackScroll: PropTypes.bool,\n shouldUpdateScroll: PropTypes.func,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n prepend: PropTypes.node,\n emptyMessage: PropTypes.node\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { StatusList as default };" + }, + { + "id": 274, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "name": "./app/javascript/mastodon/actions/streaming.js", + "index": 681, + "index2": 687, + "size": 3116, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "../actions/streaming", + "loc": "14:0-57" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "18:0-62" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "18:0-65" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "17:0-63" + } + ], + "usedExports": [ + "connectCommunityStream", + "connectHashtagStream", + "connectPublicStream", + "connectUserStream" + ], + "providedExports": [ + "connectTimelineStream", + "connectUserStream", + "connectCommunityStream", + "connectMediaStream", + "connectPublicStream", + "connectHashtagStream" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import createStream from '../stream';\nimport { updateTimeline, deleteFromTimelines, refreshHomeTimeline, connectTimeline, disconnectTimeline } from './timelines';\nimport { updateNotifications, refreshNotifications } from './notifications';\nimport { getLocale } from '../locales';\n\nvar _getLocale = getLocale(),\n messages = _getLocale.messages;\n\nexport function connectTimelineStream(timelineId, path) {\n var pollingRefresh = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n return function (dispatch, getState) {\n var streamingAPIBaseURL = getState().getIn(['meta', 'streaming_api_base_url']);\n var accessToken = getState().getIn(['meta', 'access_token']);\n var locale = getState().getIn(['meta', 'locale']);\n var polling = null;\n\n var setupPolling = function setupPolling() {\n polling = setInterval(function () {\n pollingRefresh(dispatch);\n }, 20000);\n };\n\n var clearPolling = function clearPolling() {\n if (polling) {\n clearInterval(polling);\n polling = null;\n }\n };\n\n var subscription = createStream(streamingAPIBaseURL, accessToken, path, {\n connected: function connected() {\n if (pollingRefresh) {\n clearPolling();\n }\n dispatch(connectTimeline(timelineId));\n },\n disconnected: function disconnected() {\n if (pollingRefresh) {\n setupPolling();\n }\n dispatch(disconnectTimeline(timelineId));\n },\n received: function received(data) {\n switch (data.event) {\n case 'update':\n dispatch(updateTimeline(timelineId, JSON.parse(data.payload)));\n break;\n case 'delete':\n dispatch(deleteFromTimelines(data.payload));\n break;\n case 'notification':\n dispatch(updateNotifications(JSON.parse(data.payload), messages, locale));\n break;\n }\n },\n reconnected: function reconnected() {\n if (pollingRefresh) {\n clearPolling();\n pollingRefresh(dispatch);\n }\n dispatch(connectTimeline(timelineId));\n }\n });\n\n var disconnect = function disconnect() {\n if (subscription) {\n subscription.close();\n }\n clearPolling();\n };\n\n return disconnect;\n };\n}\n\nfunction refreshHomeTimelineAndNotification(dispatch) {\n dispatch(refreshHomeTimeline());\n dispatch(refreshNotifications());\n}\n\nexport var connectUserStream = function connectUserStream() {\n return connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification);\n};\nexport var connectCommunityStream = function connectCommunityStream() {\n return connectTimelineStream('community', 'public:local');\n};\nexport var connectMediaStream = function connectMediaStream() {\n return connectTimelineStream('community', 'public:local');\n};\nexport var connectPublicStream = function connectPublicStream() {\n return connectTimelineStream('public', 'public');\n};\nexport var connectHashtagStream = function connectHashtagStream(tag) {\n return connectTimelineStream('hashtag:' + tag, 'hashtag&tag=' + tag);\n};" + }, + { + "id": 275, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "name": "./app/javascript/mastodon/stream.js", + "index": 682, + "index2": 686, + "size": 581, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "issuerId": 274, + "issuerName": "./app/javascript/mastodon/actions/streaming.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 274, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "module": "./app/javascript/mastodon/actions/streaming.js", + "moduleName": "./app/javascript/mastodon/actions/streaming.js", + "type": "harmony import", + "userRequest": "../stream", + "loc": "1:0-37" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import WebSocketClient from 'websocket.js';\n\nexport default function getStream(streamingAPIBaseURL, accessToken, stream, _ref) {\n var connected = _ref.connected,\n received = _ref.received,\n disconnected = _ref.disconnected,\n reconnected = _ref.reconnected;\n\n var ws = new WebSocketClient(streamingAPIBaseURL + '/api/v1/streaming/?access_token=' + accessToken + '&stream=' + stream);\n\n ws.onopen = connected;\n ws.onmessage = function (e) {\n return received(JSON.parse(e.data));\n };\n ws.onclose = disconnected;\n ws.onreconnect = reconnected;\n\n return ws;\n};" + }, + { + "id": 276, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "name": "./node_modules/websocket.js/lib/index.js", + "index": 683, + "index2": 685, + "size": 10253, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "issuerId": 275, + "issuerName": "./app/javascript/mastodon/stream.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 275, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "module": "./app/javascript/mastodon/stream.js", + "moduleName": "./app/javascript/mastodon/stream.js", + "type": "harmony import", + "userRequest": "websocket.js", + "loc": "1:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}var backoff = require('backoff');var WebSocketClient = function () {\n /**\n * @param url DOMString The URL to which to connect; this should be the URL to which the WebSocket server will respond.\n * @param protocols DOMString|DOMString[] Either a single protocol string or an array of protocol strings. These strings are used to indicate sub-protocols, so that a single server can implement multiple WebSocket sub-protocols (for example, you might want one server to be able to handle different types of interactions depending on the specified protocol). If you don't specify a protocol string, an empty string is assumed.\n */function WebSocketClient(url, protocols) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};_classCallCheck(this, WebSocketClient);this.url = url;this.protocols = protocols;this.reconnectEnabled = true;this.listeners = {};this.backoff = backoff[options.backoff || 'fibonacci'](options);this.backoff.on('backoff', this.onBackoffStart.bind(this));this.backoff.on('ready', this.onBackoffReady.bind(this));this.backoff.on('fail', this.onBackoffFail.bind(this));this.open();\n }_createClass(WebSocketClient, [{ key: 'open', value: function open() {\n var reconnect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;this.isReconnect = reconnect;this.ws = new WebSocket(this.url, this.protocols);this.ws.onclose = this.onCloseCallback.bind(this);this.ws.onerror = this.onErrorCallback.bind(this);this.ws.onmessage = this.onMessageCallback.bind(this);this.ws.onopen = this.onOpenCallback.bind(this);\n } /**\n * @ignore\n */ }, { key: 'onBackoffStart', value: function onBackoffStart(number, delay) {} /**\n * @ignore\n */ }, { key: 'onBackoffReady', value: function onBackoffReady(number, delay) {\n // console.log(\"onBackoffReady\", number + ' ' + delay + 'ms');\n this.open(true);\n } /**\n * @ignore\n */ }, { key: 'onBackoffFail', value: function onBackoffFail() {} /**\n * @ignore\n */ }, { key: 'onCloseCallback', value: function onCloseCallback() {\n if (!this.isReconnect && this.listeners['onclose']) this.listeners['onclose'].apply(null, arguments);if (this.reconnectEnabled) {\n this.backoff.backoff();\n }\n } /**\n * @ignore\n */ }, { key: 'onErrorCallback', value: function onErrorCallback() {\n if (this.listeners['onerror']) this.listeners['onerror'].apply(null, arguments);\n } /**\n * @ignore\n */ }, { key: 'onMessageCallback', value: function onMessageCallback() {\n if (this.listeners['onmessage']) this.listeners['onmessage'].apply(null, arguments);\n } /**\n * @ignore\n */ }, { key: 'onOpenCallback', value: function onOpenCallback() {\n if (this.listeners['onopen']) this.listeners['onopen'].apply(null, arguments);if (this.isReconnect && this.listeners['onreconnect']) this.listeners['onreconnect'].apply(null, arguments);this.isReconnect = false;\n } /**\n * The number of bytes of data that have been queued using calls to send()\n * but not yet transmitted to the network. This value does not reset to zero\n * when the connection is closed; if you keep calling send(), this will\n * continue to climb.\n *\n * @type unsigned long\n * @readonly\n */ }, { key: 'close', /**\n * Closes the WebSocket connection or connection attempt, if any. If the\n * connection is already CLOSED, this method does nothing.\n *\n * @param code A numeric value indicating the status code explaining why the connection is being closed. If this parameter is not specified, a default value of 1000 (indicating a normal \"transaction complete\" closure) is assumed. See the list of status codes on the CloseEvent page for permitted values.\n * @param reason A human-readable string explaining why the connection is closing. This string must be no longer than 123 bytes of UTF-8 text (not characters).\n *\n * @return void\n */value: function close(code, reason) {\n if (typeof code == 'undefined') {\n code = 1000;\n }this.reconnectEnabled = false;this.ws.close(code, reason);\n } /**\n * Transmits data to the server over the WebSocket connection.\n * @param data DOMString|ArrayBuffer|Blob\n * @return void\n */ }, { key: 'send', value: function send(data) {\n this.ws.send(data);\n } /**\n * An event listener to be called when the WebSocket connection's readyState changes to CLOSED. The listener receives a CloseEvent named \"close\".\n * @param listener EventListener\n */ }, { key: 'bufferedAmount', get: function get() {\n return this.ws.bufferedAmount;\n } /**\n * The current state of the connection; this is one of the Ready state constants.\n * @type unsigned short\n * @readonly\n */ }, { key: 'readyState', get: function get() {\n return this.ws.readyState;\n } /**\n * A string indicating the type of binary data being transmitted by the\n * connection. This should be either \"blob\" if DOM Blob objects are being\n * used or \"arraybuffer\" if ArrayBuffer objects are being used.\n * @type DOMString\n */ }, { key: 'binaryType', get: function get() {\n return this.ws.binaryType;\n }, set: function set(binaryType) {\n this.ws.binaryType = binaryType;\n } /**\n * The extensions selected by the server. This is currently only the empty\n * string or a list of extensions as negotiated by the connection.\n * @type DOMString\n */ }, { key: 'extensions', get: function get() {\n return this.ws.extensions;\n }, set: function set(extensions) {\n this.ws.extensions = extensions;\n } /**\n * A string indicating the name of the sub-protocol the server selected;\n * this will be one of the strings specified in the protocols parameter when\n * creating the WebSocket object.\n * @type DOMString\n */ }, { key: 'protocol', get: function get() {\n return this.ws.protocol;\n }, set: function set(protocol) {\n this.ws.protocol = protocol;\n } }, { key: 'onclose', set: function set(listener) {\n this.listeners['onclose'] = listener;\n }, get: function get() {\n return this.listeners['onclose'];\n } /**\n * An event listener to be called when an error occurs. This is a simple event named \"error\".\n * @param listener EventListener\n */ }, { key: 'onerror', set: function set(listener) {\n this.listeners['onerror'] = listener;\n }, get: function get() {\n return this.listeners['onerror'];\n } /**\n * An event listener to be called when a message is received from the server. The listener receives a MessageEvent named \"message\".\n * @param listener EventListener\n */ }, { key: 'onmessage', set: function set(listener) {\n this.listeners['onmessage'] = listener;\n }, get: function get() {\n return this.listeners['onmessage'];\n } /**\n * An event listener to be called when the WebSocket connection's readyState changes to OPEN; this indicates that the connection is ready to send and receive data. The event is a simple one with the name \"open\".\n * @param listener EventListener\n */ }, { key: 'onopen', set: function set(listener) {\n this.listeners['onopen'] = listener;\n }, get: function get() {\n return this.listeners['onopen'];\n } /**\n * @param listener EventListener\n */ }, { key: 'onreconnect', set: function set(listener) {\n this.listeners['onreconnect'] = listener;\n }, get: function get() {\n return this.listeners['onreconnect'];\n } }]);return WebSocketClient;\n}(); /**\n * The connection is not yet open.\n */WebSocketClient.CONNECTING = WebSocket.CONNECTING; /**\n * The connection is open and ready to communicate.\n */WebSocketClient.OPEN = WebSocket.OPEN; /**\n * The connection is in the process of closing.\n */WebSocketClient.CLOSING = WebSocket.CLOSING; /**\n * The connection is closed or couldn't be opened.\n */WebSocketClient.CLOSED = WebSocket.CLOSED;exports.default = WebSocketClient;" + }, + { + "id": 277, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "name": "./node_modules/backoff/index.js", + "index": 684, + "index2": 684, + "size": 1160, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "issuerId": 276, + "issuerName": "./node_modules/websocket.js/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 276, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "module": "./node_modules/websocket.js/lib/index.js", + "moduleName": "./node_modules/websocket.js/lib/index.js", + "type": "cjs require", + "userRequest": "backoff", + "loc": "14:15-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar Backoff = require('./lib/backoff');\nvar ExponentialBackoffStrategy = require('./lib/strategy/exponential');\nvar FibonacciBackoffStrategy = require('./lib/strategy/fibonacci');\nvar FunctionCall = require('./lib/function_call.js');\n\nmodule.exports.Backoff = Backoff;\nmodule.exports.FunctionCall = FunctionCall;\nmodule.exports.FibonacciStrategy = FibonacciBackoffStrategy;\nmodule.exports.ExponentialStrategy = ExponentialBackoffStrategy;\n\n// Constructs a Fibonacci backoff.\nmodule.exports.fibonacci = function (options) {\n return new Backoff(new FibonacciBackoffStrategy(options));\n};\n\n// Constructs an exponential backoff.\nmodule.exports.exponential = function (options) {\n return new Backoff(new ExponentialBackoffStrategy(options));\n};\n\n// Constructs a FunctionCall for the given function and arguments.\nmodule.exports.call = function (fn, vargs, callback) {\n var args = Array.prototype.slice.call(arguments);\n fn = args[0];\n vargs = args.slice(1, args.length - 1);\n callback = args[args.length - 1];\n return new FunctionCall(fn, vargs, callback);\n};" + }, + { + "id": 278, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "name": "./node_modules/precond/lib/checks.js", + "index": 688, + "index2": 677, + "size": 2676, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "issuerId": 93, + "issuerName": "./node_modules/precond/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 93, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "module": "./node_modules/precond/index.js", + "moduleName": "./node_modules/precond/index.js", + "type": "cjs require", + "userRequest": "./lib/checks", + "loc": "6:17-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nvar util = require('util');\n\nvar errors = module.exports = require('./errors');\n\nfunction failCheck(ExceptionConstructor, callee, messageFormat, formatArgs) {\n messageFormat = messageFormat || '';\n var message = util.format.apply(this, [messageFormat].concat(formatArgs));\n var error = new ExceptionConstructor(message);\n Error.captureStackTrace(error, callee);\n throw error;\n}\n\nfunction failArgumentCheck(callee, message, formatArgs) {\n failCheck(errors.IllegalArgumentError, callee, message, formatArgs);\n}\n\nfunction failStateCheck(callee, message, formatArgs) {\n failCheck(errors.IllegalStateError, callee, message, formatArgs);\n}\n\nmodule.exports.checkArgument = function (value, message) {\n if (!value) {\n failArgumentCheck(arguments.callee, message, Array.prototype.slice.call(arguments, 2));\n }\n};\n\nmodule.exports.checkState = function (value, message) {\n if (!value) {\n failStateCheck(arguments.callee, message, Array.prototype.slice.call(arguments, 2));\n }\n};\n\nmodule.exports.checkIsDef = function (value, message) {\n if (value !== undefined) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected value to be defined but was undefined.', Array.prototype.slice.call(arguments, 2));\n};\n\nmodule.exports.checkIsDefAndNotNull = function (value, message) {\n // Note that undefined == null.\n if (value != null) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected value to be defined and not null but got \"' + typeOf(value) + '\".', Array.prototype.slice.call(arguments, 2));\n};\n\n// Fixed version of the typeOf operator which returns 'null' for null values\n// and 'array' for arrays.\nfunction typeOf(value) {\n var s = typeof value;\n if (s == 'object') {\n if (!value) {\n return 'null';\n } else if (value instanceof Array) {\n return 'array';\n }\n }\n return s;\n}\n\nfunction typeCheck(expect) {\n return function (value, message) {\n var type = typeOf(value);\n\n if (type == expect) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected \"' + expect + '\" but got \"' + type + '\".', Array.prototype.slice.call(arguments, 2));\n };\n}\n\nmodule.exports.checkIsString = typeCheck('string');\nmodule.exports.checkIsArray = typeCheck('array');\nmodule.exports.checkIsNumber = typeCheck('number');\nmodule.exports.checkIsBoolean = typeCheck('boolean');\nmodule.exports.checkIsFunction = typeCheck('function');\nmodule.exports.checkIsObject = typeCheck('object');" + }, + { + "id": 279, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/support/isBufferBrowser.js", + "name": "./node_modules/util/support/isBufferBrowser.js", + "index": 690, + "index2": 673, + "size": 192, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "issuerId": 32, + "issuerName": "./node_modules/util/util.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 32, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "module": "./node_modules/util/util.js", + "moduleName": "./node_modules/util/util.js", + "type": "cjs require", + "userRequest": "./support/isBuffer", + "loc": "491:19-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function';\n};" + }, + { + "id": 280, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/node_modules/inherits/inherits_browser.js", + "name": "./node_modules/util/node_modules/inherits/inherits_browser.js", + "index": 691, + "index2": 674, + "size": 678, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "issuerId": 32, + "issuerName": "./node_modules/util/util.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 32, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "module": "./node_modules/util/util.js", + "moduleName": "./node_modules/util/util.js", + "type": "cjs require", + "userRequest": "inherits", + "loc": "528:19-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n };\n}" + }, + { + "id": 281, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/errors.js", + "name": "./node_modules/precond/lib/errors.js", + "index": 692, + "index2": 676, + "size": 632, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "issuerId": 278, + "issuerName": "./node_modules/precond/lib/checks.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 278, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "module": "./node_modules/precond/lib/checks.js", + "moduleName": "./node_modules/precond/lib/checks.js", + "type": "cjs require", + "userRequest": "./errors", + "loc": "8:30-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nvar util = require('util');\n\nfunction IllegalArgumentError(message) {\n Error.call(this, message);\n this.message = message;\n}\nutil.inherits(IllegalArgumentError, Error);\n\nIllegalArgumentError.prototype.name = 'IllegalArgumentError';\n\nfunction IllegalStateError(message) {\n Error.call(this, message);\n this.message = message;\n}\nutil.inherits(IllegalStateError, Error);\n\nIllegalStateError.prototype.name = 'IllegalStateError';\n\nmodule.exports.IllegalStateError = IllegalStateError;\nmodule.exports.IllegalArgumentError = IllegalArgumentError;" + }, + { + "id": 282, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "name": "./node_modules/backoff/lib/strategy/exponential.js", + "index": 693, + "index2": 681, + "size": 1397, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/strategy/exponential", + "loc": "5:33-70" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar util = require('util');\nvar precond = require('precond');\n\nvar BackoffStrategy = require('./strategy');\n\n// Exponential backoff strategy.\nfunction ExponentialBackoffStrategy(options) {\n BackoffStrategy.call(this, options);\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n this.factor_ = ExponentialBackoffStrategy.DEFAULT_FACTOR;\n\n if (options && options.factor !== undefined) {\n precond.checkArgument(options.factor > 1, 'Exponential factor should be greater than 1 but got %s.', options.factor);\n this.factor_ = options.factor;\n }\n}\nutil.inherits(ExponentialBackoffStrategy, BackoffStrategy);\n\n// Default multiplication factor used to compute the next backoff delay from\n// the current one. The value can be overridden by passing a custom factor as\n// part of the options.\nExponentialBackoffStrategy.DEFAULT_FACTOR = 2;\n\nExponentialBackoffStrategy.prototype.next_ = function () {\n this.backoffDelay_ = Math.min(this.nextBackoffDelay_, this.getMaxDelay());\n this.nextBackoffDelay_ = this.backoffDelay_ * this.factor_;\n return this.backoffDelay_;\n};\n\nExponentialBackoffStrategy.prototype.reset_ = function () {\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n};\n\nmodule.exports = ExponentialBackoffStrategy;" + }, + { + "id": 283, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "name": "./node_modules/backoff/lib/function_call.js", + "index": 696, + "index2": 683, + "size": 6157, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/function_call.js", + "loc": "7:19-52" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar precond = require('precond');\nvar util = require('util');\n\nvar Backoff = require('./backoff');\nvar FibonacciBackoffStrategy = require('./strategy/fibonacci');\n\n// Wraps a function to be called in a backoff loop.\nfunction FunctionCall(fn, args, callback) {\n events.EventEmitter.call(this);\n\n precond.checkIsFunction(fn, 'Expected fn to be a function.');\n precond.checkIsArray(args, 'Expected args to be an array.');\n precond.checkIsFunction(callback, 'Expected callback to be a function.');\n\n this.function_ = fn;\n this.arguments_ = args;\n this.callback_ = callback;\n this.lastResult_ = [];\n this.numRetries_ = 0;\n\n this.backoff_ = null;\n this.strategy_ = null;\n this.failAfter_ = -1;\n this.retryPredicate_ = FunctionCall.DEFAULT_RETRY_PREDICATE_;\n\n this.state_ = FunctionCall.State_.PENDING;\n}\nutil.inherits(FunctionCall, events.EventEmitter);\n\n// States in which the call can be.\nFunctionCall.State_ = {\n // Call isn't started yet.\n PENDING: 0,\n // Call is in progress.\n RUNNING: 1,\n // Call completed successfully which means that either the wrapped function\n // returned successfully or the maximal number of backoffs was reached.\n COMPLETED: 2,\n // The call was aborted.\n ABORTED: 3\n};\n\n// The default retry predicate which considers any error as retriable.\nFunctionCall.DEFAULT_RETRY_PREDICATE_ = function (err) {\n return true;\n};\n\n// Checks whether the call is pending.\nFunctionCall.prototype.isPending = function () {\n return this.state_ == FunctionCall.State_.PENDING;\n};\n\n// Checks whether the call is in progress.\nFunctionCall.prototype.isRunning = function () {\n return this.state_ == FunctionCall.State_.RUNNING;\n};\n\n// Checks whether the call is completed.\nFunctionCall.prototype.isCompleted = function () {\n return this.state_ == FunctionCall.State_.COMPLETED;\n};\n\n// Checks whether the call is aborted.\nFunctionCall.prototype.isAborted = function () {\n return this.state_ == FunctionCall.State_.ABORTED;\n};\n\n// Sets the backoff strategy to use. Can only be called before the call is\n// started otherwise an exception will be thrown.\nFunctionCall.prototype.setStrategy = function (strategy) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.strategy_ = strategy;\n return this; // Return this for chaining.\n};\n\n// Sets the predicate which will be used to determine whether the errors\n// returned from the wrapped function should be retried or not, e.g. a\n// network error would be retriable while a type error would stop the\n// function call.\nFunctionCall.prototype.retryIf = function (retryPredicate) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.retryPredicate_ = retryPredicate;\n return this;\n};\n\n// Returns all intermediary results returned by the wrapped function since\n// the initial call.\nFunctionCall.prototype.getLastResult = function () {\n return this.lastResult_.concat();\n};\n\n// Returns the number of times the wrapped function call was retried.\nFunctionCall.prototype.getNumRetries = function () {\n return this.numRetries_;\n};\n\n// Sets the backoff limit.\nFunctionCall.prototype.failAfter = function (maxNumberOfRetry) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.failAfter_ = maxNumberOfRetry;\n return this; // Return this for chaining.\n};\n\n// Aborts the call.\nFunctionCall.prototype.abort = function () {\n if (this.isCompleted() || this.isAborted()) {\n return;\n }\n\n if (this.isRunning()) {\n this.backoff_.reset();\n }\n\n this.state_ = FunctionCall.State_.ABORTED;\n this.lastResult_ = [new Error('Backoff aborted.')];\n this.emit('abort');\n this.doCallback_();\n};\n\n// Initiates the call to the wrapped function. Accepts an optional factory\n// function used to create the backoff instance; used when testing.\nFunctionCall.prototype.start = function (backoffFactory) {\n precond.checkState(!this.isAborted(), 'FunctionCall is aborted.');\n precond.checkState(this.isPending(), 'FunctionCall already started.');\n\n var strategy = this.strategy_ || new FibonacciBackoffStrategy();\n\n this.backoff_ = backoffFactory ? backoffFactory(strategy) : new Backoff(strategy);\n\n this.backoff_.on('ready', this.doCall_.bind(this, true /* isRetry */));\n this.backoff_.on('fail', this.doCallback_.bind(this));\n this.backoff_.on('backoff', this.handleBackoff_.bind(this));\n\n if (this.failAfter_ > 0) {\n this.backoff_.failAfter(this.failAfter_);\n }\n\n this.state_ = FunctionCall.State_.RUNNING;\n this.doCall_(false /* isRetry */);\n};\n\n// Calls the wrapped function.\nFunctionCall.prototype.doCall_ = function (isRetry) {\n if (isRetry) {\n this.numRetries_++;\n }\n var eventArgs = ['call'].concat(this.arguments_);\n events.EventEmitter.prototype.emit.apply(this, eventArgs);\n var callback = this.handleFunctionCallback_.bind(this);\n this.function_.apply(null, this.arguments_.concat(callback));\n};\n\n// Calls the wrapped function's callback with the last result returned by the\n// wrapped function.\nFunctionCall.prototype.doCallback_ = function () {\n this.callback_.apply(null, this.lastResult_);\n};\n\n// Handles wrapped function's completion. This method acts as a replacement\n// for the original callback function.\nFunctionCall.prototype.handleFunctionCallback_ = function () {\n if (this.isAborted()) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments);\n this.lastResult_ = args; // Save last callback arguments.\n events.EventEmitter.prototype.emit.apply(this, ['callback'].concat(args));\n\n var err = args[0];\n if (err && this.retryPredicate_(err)) {\n this.backoff_.backoff(err);\n } else {\n this.state_ = FunctionCall.State_.COMPLETED;\n this.doCallback_();\n }\n};\n\n// Handles the backoff event by reemitting it.\nFunctionCall.prototype.handleBackoff_ = function (number, delay, err) {\n this.emit('backoff', number, delay, err);\n};\n\nmodule.exports = FunctionCall;" + }, + { + "id": 757, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "name": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "index": 699, + "index2": 691, + "size": 4482, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 6 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../hashtag_timeline", + "loc": "26:9-93" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport StatusListContainer from '../ui/containers/status_list_container';\nimport Column from '../../components/column';\nimport ColumnHeader from '../../components/column_header';\nimport { refreshHashtagTimeline, expandHashtagTimeline } from '../../actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport { FormattedMessage } from 'react-intl';\nimport { connectHashtagStream } from '../../actions/streaming';\n\nvar mapStateToProps = function mapStateToProps(state, props) {\n return {\n hasUnread: state.getIn(['timelines', 'hashtag:' + props.params.id, 'unread']) > 0\n };\n};\n\nvar HashtagTimeline = (_dec = connect(mapStateToProps), _dec(_class = function (_React$PureComponent) {\n _inherits(HashtagTimeline, _React$PureComponent);\n\n function HashtagTimeline() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, HashtagTimeline);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handlePin = function () {\n var _this$props = _this.props,\n columnId = _this$props.columnId,\n dispatch = _this$props.dispatch;\n\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('HASHTAG', { id: _this.props.params.id }));\n }\n }, _this.handleMove = function (dir) {\n var _this$props2 = _this.props,\n columnId = _this$props2.columnId,\n dispatch = _this$props2.dispatch;\n\n dispatch(moveColumn(columnId, dir));\n }, _this.handleHeaderClick = function () {\n _this.column.scrollTop();\n }, _this.setRef = function (c) {\n _this.column = c;\n }, _this.handleLoadMore = function () {\n _this.props.dispatch(expandHashtagTimeline(_this.props.params.id));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n HashtagTimeline.prototype._subscribe = function _subscribe(dispatch, id) {\n this.disconnect = dispatch(connectHashtagStream(id));\n };\n\n HashtagTimeline.prototype._unsubscribe = function _unsubscribe() {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n };\n\n HashtagTimeline.prototype.componentDidMount = function componentDidMount() {\n var dispatch = this.props.dispatch;\n var id = this.props.params.id;\n\n\n dispatch(refreshHashtagTimeline(id));\n this._subscribe(dispatch, id);\n };\n\n HashtagTimeline.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.params.id !== this.props.params.id) {\n this.props.dispatch(refreshHashtagTimeline(nextProps.params.id));\n this._unsubscribe();\n this._subscribe(this.props.dispatch, nextProps.params.id);\n }\n };\n\n HashtagTimeline.prototype.componentWillUnmount = function componentWillUnmount() {\n this._unsubscribe();\n };\n\n HashtagTimeline.prototype.render = function render() {\n var _props = this.props,\n hasUnread = _props.hasUnread,\n columnId = _props.columnId,\n multiColumn = _props.multiColumn;\n var id = this.props.params.id;\n\n var pinned = !!columnId;\n\n return React.createElement(\n Column,\n { ref: this.setRef },\n _jsx(ColumnHeader, {\n icon: 'hashtag',\n active: hasUnread,\n title: id,\n onPin: this.handlePin,\n onMove: this.handleMove,\n onClick: this.handleHeaderClick,\n pinned: pinned,\n multiColumn: multiColumn,\n showBackButton: true\n }),\n _jsx(StatusListContainer, {\n trackScroll: !pinned,\n scrollKey: 'hashtag_timeline-' + columnId,\n timelineId: 'hashtag:' + id,\n loadMore: this.handleLoadMore,\n emptyMessage: _jsx(FormattedMessage, {\n id: 'empty_column.hashtag',\n defaultMessage: 'There is nothing in this hashtag yet.'\n })\n })\n );\n };\n\n return HashtagTimeline;\n}(React.PureComponent)) || _class);\nexport { HashtagTimeline as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "26:9-93", + "name": "features/hashtag_timeline", + "reasons": [] + } + ] + }, + { + "id": 7, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 680532, + "names": [ + "emoji_picker" + ], + "files": [ + "emoji_picker-9cf581d158c1cefc73c9.js", + "emoji_picker-9cf581d158c1cefc73c9.js.map" + ], + "hash": "9cf581d158c1cefc73c9", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 751, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_picker.js", + "name": "./app/javascript/mastodon/features/emoji/emoji_picker.js", + "index": 428, + "index2": 447, + "size": 142, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../emoji/emoji_picker", + "loc": "2:9-82" + } + ], + "usedExports": true, + "providedExports": [ + "Picker", + "Emoji" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import Picker from 'emoji-mart/dist-es/components/picker';\nimport Emoji from 'emoji-mart/dist-es/components/emoji';\n\nexport { Picker, Emoji };" + }, + { + "id": 785, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/polyfills/objectGetPrototypeOf.js", + "name": "./node_modules/emoji-mart/dist-es/polyfills/objectGetPrototypeOf.js", + "index": 431, + "index2": 421, + "size": 271, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "issuerId": 817, + "issuerName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "../polyfills/objectGetPrototypeOf", + "loc": "2:0-71" + }, + { + "moduleId": 872, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/anchors.js", + "module": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "type": "harmony import", + "userRequest": "../polyfills/objectGetPrototypeOf", + "loc": "1:0-71" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": "../polyfills/objectGetPrototypeOf", + "loc": "2:0-71" + }, + { + "moduleId": 875, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "module": "./node_modules/emoji-mart/dist-es/components/preview.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/preview.js", + "type": "harmony import", + "userRequest": "../polyfills/objectGetPrototypeOf", + "loc": "2:0-71" + }, + { + "moduleId": 876, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/search.js", + "module": "./node_modules/emoji-mart/dist-es/components/search.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/search.js", + "type": "harmony import", + "userRequest": "../polyfills/objectGetPrototypeOf", + "loc": "1:0-71" + }, + { + "moduleId": 878, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/skins.js", + "module": "./node_modules/emoji-mart/dist-es/components/skins.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/skins.js", + "type": "harmony import", + "userRequest": "../polyfills/objectGetPrototypeOf", + "loc": "1:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "var _Object = Object;\n\nexport default _Object.getPrototypeOf || function (O) {\n O = Object(O);\n\n if (typeof O.constructor === 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n\n return O instanceof Object ? Object.prototype : null;\n};" + }, + { + "id": 786, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/polyfills/createClass.js", + "name": "./node_modules/emoji-mart/dist-es/polyfills/createClass.js", + "index": 432, + "index2": 422, + "size": 656, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "issuerId": 817, + "issuerName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "../polyfills/createClass", + "loc": "4:0-52" + }, + { + "moduleId": 872, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/anchors.js", + "module": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "type": "harmony import", + "userRequest": "../polyfills/createClass", + "loc": "3:0-52" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": "../polyfills/createClass", + "loc": "4:0-52" + }, + { + "moduleId": 875, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "module": "./node_modules/emoji-mart/dist-es/components/preview.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/preview.js", + "type": "harmony import", + "userRequest": "../polyfills/createClass", + "loc": "4:0-52" + }, + { + "moduleId": 876, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/search.js", + "module": "./node_modules/emoji-mart/dist-es/components/search.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/search.js", + "type": "harmony import", + "userRequest": "../polyfills/createClass", + "loc": "3:0-52" + }, + { + "moduleId": 878, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/skins.js", + "module": "./node_modules/emoji-mart/dist-es/components/skins.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/skins.js", + "type": "harmony import", + "userRequest": "../polyfills/createClass", + "loc": "3:0-52" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "var _Object = Object;\n\nexport default (function createClass() {\n function 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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n})();" + }, + { + "id": 787, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/polyfills/possibleConstructorReturn.js", + "name": "./node_modules/emoji-mart/dist-es/polyfills/possibleConstructorReturn.js", + "index": 433, + "index2": 423, + "size": 265, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "issuerId": 817, + "issuerName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "../polyfills/possibleConstructorReturn", + "loc": "5:0-80" + }, + { + "moduleId": 872, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/anchors.js", + "module": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "type": "harmony import", + "userRequest": "../polyfills/possibleConstructorReturn", + "loc": "4:0-80" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": "../polyfills/possibleConstructorReturn", + "loc": "5:0-80" + }, + { + "moduleId": 875, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "module": "./node_modules/emoji-mart/dist-es/components/preview.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/preview.js", + "type": "harmony import", + "userRequest": "../polyfills/possibleConstructorReturn", + "loc": "5:0-80" + }, + { + "moduleId": 876, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/search.js", + "module": "./node_modules/emoji-mart/dist-es/components/search.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/search.js", + "type": "harmony import", + "userRequest": "../polyfills/possibleConstructorReturn", + "loc": "4:0-80" + }, + { + "moduleId": 878, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/skins.js", + "module": "./node_modules/emoji-mart/dist-es/components/skins.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/skins.js", + "type": "harmony import", + "userRequest": "../polyfills/possibleConstructorReturn", + "loc": "4:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "export default function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === 'object' || typeof call === 'function') ? call : self;\n}" + }, + { + "id": 788, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/polyfills/inherits.js", + "name": "./node_modules/emoji-mart/dist-es/polyfills/inherits.js", + "index": 434, + "index2": 424, + "size": 591, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "issuerId": 817, + "issuerName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "../polyfills/inherits", + "loc": "6:0-46" + }, + { + "moduleId": 872, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/anchors.js", + "module": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "type": "harmony import", + "userRequest": "../polyfills/inherits", + "loc": "5:0-46" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": "../polyfills/inherits", + "loc": "6:0-46" + }, + { + "moduleId": 875, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "module": "./node_modules/emoji-mart/dist-es/components/preview.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/preview.js", + "type": "harmony import", + "userRequest": "../polyfills/inherits", + "loc": "6:0-46" + }, + { + "moduleId": 876, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/search.js", + "module": "./node_modules/emoji-mart/dist-es/components/search.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/search.js", + "type": "harmony import", + "userRequest": "../polyfills/inherits", + "loc": "5:0-46" + }, + { + "moduleId": 878, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/skins.js", + "module": "./node_modules/emoji-mart/dist-es/components/skins.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/skins.js", + "type": "harmony import", + "userRequest": "../polyfills/inherits", + "loc": "5:0-46" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "var _Object = Object;\n\nexport default function inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);\n }\n\n subClass.prototype = _Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) {\n _Object.setPrototypeOf ? _Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n}" + }, + { + "id": 789, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/index.js", + "name": "./node_modules/emoji-mart/dist-es/utils/index.js", + "index": 441, + "index2": 436, + "size": 4388, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/emoji.js", + "issuerId": 821, + "issuerName": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "../utils", + "loc": "15:0-55" + }, + { + "moduleId": 821, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/emoji.js", + "module": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "type": "harmony import", + "userRequest": "../utils", + "loc": "5:0-70" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": "../utils", + "loc": "11:0-35" + }, + { + "moduleId": 875, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "module": "./node_modules/emoji-mart/dist-es/components/preview.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/preview.js", + "type": "harmony import", + "userRequest": "../utils", + "loc": "11:0-35" + }, + { + "moduleId": 877, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/emoji-index.js", + "module": "./node_modules/emoji-mart/dist-es/utils/emoji-index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/utils/emoji-index.js", + "type": "harmony import", + "userRequest": ".", + "loc": "2:0-57" + } + ], + "usedExports": [ + "deepMerge", + "getData", + "getSanitizedData", + "intersect", + "measureScrollbar", + "unifiedToNative" + ], + "providedExports": [ + "getData", + "getSanitizedData", + "uniq", + "intersect", + "deepMerge", + "unifiedToNative", + "measureScrollbar" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _Object$keys from 'babel-runtime/core-js/object/keys';\nimport buildSearch from './build-search';\nimport data from '../data';\nimport stringFromCodePoint from '../polyfills/stringFromCodePoint';\n\nvar _JSON = JSON;\n\nvar COLONS_REGEX = /^(?:\\:([^\\:]+)\\:)(?:\\:skin-tone-(\\d)\\:)?$/;\nvar SKINS = ['1F3FA', '1F3FB', '1F3FC', '1F3FD', '1F3FE', '1F3FF'];\n\nfunction unifiedToNative(unified) {\n var unicodes = unified.split('-'),\n codePoints = unicodes.map(function (u) {\n return '0x' + u;\n });\n\n return stringFromCodePoint.apply(null, codePoints);\n}\n\nfunction sanitize(emoji) {\n var name = emoji.name;\n var short_names = emoji.short_names;\n var skin_tone = emoji.skin_tone;\n var skin_variations = emoji.skin_variations;\n var emoticons = emoji.emoticons;\n var unified = emoji.unified;\n var custom = emoji.custom;\n var imageUrl = emoji.imageUrl;\n var id = emoji.id || short_names[0];\n var colons = ':' + id + ':';\n\n if (custom) {\n return {\n id: id,\n name: name,\n colons: colons,\n emoticons: emoticons,\n custom: custom,\n imageUrl: imageUrl\n };\n }\n\n if (skin_tone) {\n colons += ':skin-tone-' + skin_tone + ':';\n }\n\n return {\n id: id,\n name: name,\n colons: colons,\n emoticons: emoticons,\n unified: unified.toLowerCase(),\n skin: skin_tone || (skin_variations ? 1 : null),\n native: unifiedToNative(unified)\n };\n}\n\nfunction getSanitizedData() {\n return sanitize(getData.apply(undefined, arguments));\n}\n\nfunction getData(emoji, skin, set) {\n var emojiData = {};\n\n if (typeof emoji == 'string') {\n var matches = emoji.match(COLONS_REGEX);\n\n if (matches) {\n emoji = matches[1];\n\n if (matches[2]) {\n skin = parseInt(matches[2]);\n }\n }\n\n if (data.short_names.hasOwnProperty(emoji)) {\n emoji = data.short_names[emoji];\n }\n\n if (data.emojis.hasOwnProperty(emoji)) {\n emojiData = data.emojis[emoji];\n } else {\n return null;\n }\n } else if (emoji.id) {\n if (data.short_names.hasOwnProperty(emoji.id)) {\n emoji.id = data.short_names[emoji.id];\n }\n\n if (data.emojis.hasOwnProperty(emoji.id)) {\n emojiData = data.emojis[emoji.id];\n skin || (skin = emoji.skin);\n }\n }\n\n if (!_Object$keys(emojiData).length) {\n emojiData = emoji;\n emojiData.custom = true;\n\n if (!emojiData.search) {\n emojiData.search = buildSearch(emoji);\n }\n }\n\n emojiData.emoticons || (emojiData.emoticons = []);\n emojiData.variations || (emojiData.variations = []);\n\n if (emojiData.skin_variations && skin > 1 && set) {\n emojiData = JSON.parse(_JSON.stringify(emojiData));\n\n var skinKey = SKINS[skin - 1],\n variationData = emojiData.skin_variations[skinKey];\n\n if (!variationData.variations && emojiData.variations) {\n delete emojiData.variations;\n }\n\n if (variationData['has_img_' + set]) {\n emojiData.skin_tone = skin;\n\n for (var k in variationData) {\n var v = variationData[k];\n emojiData[k] = v;\n }\n }\n }\n\n if (emojiData.variations && emojiData.variations.length) {\n emojiData = JSON.parse(_JSON.stringify(emojiData));\n emojiData.unified = emojiData.variations.shift();\n }\n\n return emojiData;\n}\n\nfunction uniq(arr) {\n return arr.reduce(function (acc, item) {\n if (acc.indexOf(item) === -1) {\n acc.push(item);\n }\n return acc;\n }, []);\n}\n\nfunction intersect(a, b) {\n var uniqA = uniq(a);\n var uniqB = uniq(b);\n\n return uniqA.filter(function (item) {\n return uniqB.indexOf(item) >= 0;\n });\n}\n\nfunction deepMerge(a, b) {\n var o = {};\n\n for (var key in a) {\n var originalValue = a[key],\n value = originalValue;\n\n if (b.hasOwnProperty(key)) {\n value = b[key];\n }\n\n if (typeof value === 'object') {\n value = deepMerge(originalValue, value);\n }\n\n o[key] = value;\n }\n\n return o;\n}\n\n// https://github.com/sonicdoe/measure-scrollbar\nfunction measureScrollbar() {\n var div = document.createElement('div');\n\n div.style.width = '100px';\n div.style.height = '100px';\n div.style.overflow = 'scroll';\n div.style.position = 'absolute';\n div.style.top = '-9999px';\n\n document.body.appendChild(div);\n var scrollbarWidth = div.offsetWidth - div.clientWidth;\n document.body.removeChild(div);\n\n return scrollbarWidth;\n}\n\nexport { getData, getSanitizedData, uniq, intersect, deepMerge, unifiedToNative, measureScrollbar };" + }, + { + "id": 796, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/data/index.js", + "name": "./node_modules/emoji-mart/dist-es/data/index.js", + "index": 436, + "index2": 428, + "size": 726, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/emoji.js", + "issuerId": 821, + "issuerName": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 789, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/index.js", + "module": "./node_modules/emoji-mart/dist-es/utils/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/utils/index.js", + "type": "harmony import", + "userRequest": "../data", + "loc": "3:0-27" + }, + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "../data", + "loc": "11:0-27" + }, + { + "moduleId": 821, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/emoji.js", + "module": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "type": "harmony import", + "userRequest": "../data", + "loc": "3:0-27" + }, + { + "moduleId": 877, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/emoji-index.js", + "module": "./node_modules/emoji-mart/dist-es/utils/emoji-index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/utils/emoji-index.js", + "type": "harmony import", + "userRequest": "../data", + "loc": "1:0-27" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import buildSearch from '../utils/build-search';\nimport data from './data';\n\nfunction uncompress(list) {\n for (var short_name in list) {\n var datum = list[short_name];\n\n if (!datum.short_names) datum.short_names = [];\n datum.short_names.unshift(short_name);\n\n datum.sheet_x = datum.sheet[0];\n datum.sheet_y = datum.sheet[1];\n delete datum.sheet;\n\n if (!datum.text) datum.text = '';\n if (datum.added_in !== null && !datum.added_in) datum.added_in = '6.0';\n\n datum.search = buildSearch({\n short_names: datum.short_names,\n name: datum.name,\n keywords: datum.keywords,\n emoticons: datum.emoticons\n });\n }\n}\n\nuncompress(data.emojis);\nuncompress(data.skins);\n\nexport default data;" + }, + { + "id": 800, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/polyfills/extends.js", + "name": "./node_modules/emoji-mart/dist-es/polyfills/extends.js", + "index": 430, + "index2": 420, + "size": 321, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "issuerId": 817, + "issuerName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "../polyfills/extends", + "loc": "1:0-44" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": "../polyfills/extends", + "loc": "1:0-44" + }, + { + "moduleId": 875, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "module": "./node_modules/emoji-mart/dist-es/components/preview.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/preview.js", + "type": "harmony import", + "userRequest": "../polyfills/extends", + "loc": "1:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "var _Object = Object;\n\nexport default _Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};" + }, + { + "id": 801, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "name": "./node_modules/emoji-mart/dist-es/components/index.js", + "index": 447, + "index2": 445, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "issuerId": 817, + "issuerName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": ".", + "loc": "17:0-62" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": ".", + "loc": "12:0-26" + }, + { + "moduleId": 875, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "module": "./node_modules/emoji-mart/dist-es/components/preview.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/preview.js", + "type": "harmony import", + "userRequest": ".", + "loc": "10:0-33" + } + ], + "usedExports": [ + "Anchors", + "Category", + "Emoji", + "Preview", + "Search", + "Skins" + ], + "providedExports": [ + "Anchors", + "Category", + "Emoji", + "Picker", + "Preview", + "Search", + "Skins" + ], + "optimizationBailout": [], + "depth": 7, + "source": "export { default as Anchors } from './anchors';\nexport { default as Category } from './category';\nexport { default as Emoji } from './emoji';\nexport { default as Picker } from './picker';\nexport { default as Preview } from './preview';\nexport { default as Search } from './search';\nexport { default as Skins } from './skins';" + }, + { + "id": 817, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "name": "./node_modules/emoji-mart/dist-es/components/picker.js", + "index": 429, + "index2": 446, + "size": 16074, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_picker.js", + "issuerId": 751, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji_picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 751, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_picker.js", + "module": "./app/javascript/mastodon/features/emoji/emoji_picker.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji_picker.js", + "type": "harmony import", + "userRequest": "emoji-mart/dist-es/components/picker", + "loc": "1:0-58" + }, + { + "moduleId": 801, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "module": "./node_modules/emoji-mart/dist-es/components/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/index.js", + "type": "harmony import", + "userRequest": "./picker", + "loc": "4:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _extends from '../polyfills/extends';\nimport _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport '../vendor/raf-polyfill';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport data from '../data';\n\nimport store from '../utils/store';\nimport frequently from '../utils/frequently';\nimport { deepMerge, measureScrollbar } from '../utils';\n\nimport { Anchors, Category, Emoji, Preview, Search } from '.';\n\nvar RECENT_CATEGORY = { name: 'Recent', emojis: null };\nvar SEARCH_CATEGORY = { name: 'Search', emojis: null, anchor: false };\nvar CUSTOM_CATEGORY = { name: 'Custom', emojis: [] };\n\nvar I18N = {\n search: 'Search',\n notfound: 'No Emoji Found',\n categories: {\n search: 'Search Results',\n recent: 'Frequently Used',\n people: 'Smileys & People',\n nature: 'Animals & Nature',\n foods: 'Food & Drink',\n activity: 'Activity',\n places: 'Travel & Places',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags',\n custom: 'Custom'\n }\n};\n\nvar Picker = function (_React$PureComponent) {\n _inherits(Picker, _React$PureComponent);\n\n function Picker(props) {\n _classCallCheck(this, Picker);\n\n var _this = _possibleConstructorReturn(this, (Picker.__proto__ || _Object$getPrototypeOf(Picker)).call(this, props));\n\n _this.i18n = deepMerge(I18N, props.i18n);\n _this.state = {\n skin: store.get('skin') || props.skin,\n firstRender: true\n };\n\n _this.categories = [];\n var allCategories = [].concat(data.categories);\n\n if (props.custom.length > 0) {\n CUSTOM_CATEGORY.emojis = props.custom.map(function (emoji) {\n return _extends({}, emoji, {\n // `` expects emoji to have an `id`.\n id: emoji.short_names[0],\n custom: true\n });\n });\n\n allCategories.push(CUSTOM_CATEGORY);\n }\n\n _this.hideRecent = true;\n\n if (props.include != undefined) {\n allCategories.sort(function (a, b) {\n var aName = a.name.toLowerCase();\n var bName = b.name.toLowerCase();\n\n if (props.include.indexOf(aName) > props.include.indexOf(bName)) {\n return 1;\n }\n\n return 0;\n });\n }\n\n for (var categoryIndex = 0; categoryIndex < allCategories.length; categoryIndex++) {\n var category = allCategories[categoryIndex];\n var isIncluded = props.include && props.include.length ? props.include.indexOf(category.name.toLowerCase()) > -1 : true;\n var isExcluded = props.exclude && props.exclude.length ? props.exclude.indexOf(category.name.toLowerCase()) > -1 : false;\n if (!isIncluded || isExcluded) {\n continue;\n }\n\n if (props.emojisToShowFilter) {\n var newEmojis = [];\n\n var emojis = category.emojis;\n\n for (var emojiIndex = 0; emojiIndex < emojis.length; emojiIndex++) {\n var emoji = emojis[emojiIndex];\n if (props.emojisToShowFilter(data.emojis[emoji] || emoji)) {\n newEmojis.push(emoji);\n }\n }\n\n if (newEmojis.length) {\n var newCategory = {\n emojis: newEmojis,\n name: category.name\n };\n\n _this.categories.push(newCategory);\n }\n } else {\n _this.categories.push(category);\n }\n }\n\n var includeRecent = props.include && props.include.length ? props.include.indexOf('recent') > -1 : true;\n var excludeRecent = props.exclude && props.exclude.length ? props.exclude.indexOf('recent') > -1 : false;\n if (includeRecent && !excludeRecent) {\n _this.hideRecent = false;\n _this.categories.unshift(RECENT_CATEGORY);\n }\n\n if (_this.categories[0]) {\n _this.categories[0].first = true;\n }\n\n _this.categories.unshift(SEARCH_CATEGORY);\n\n _this.setAnchorsRef = _this.setAnchorsRef.bind(_this);\n _this.handleAnchorClick = _this.handleAnchorClick.bind(_this);\n _this.setSearchRef = _this.setSearchRef.bind(_this);\n _this.handleSearch = _this.handleSearch.bind(_this);\n _this.setScrollRef = _this.setScrollRef.bind(_this);\n _this.handleScroll = _this.handleScroll.bind(_this);\n _this.handleScrollPaint = _this.handleScrollPaint.bind(_this);\n _this.handleEmojiOver = _this.handleEmojiOver.bind(_this);\n _this.handleEmojiLeave = _this.handleEmojiLeave.bind(_this);\n _this.handleEmojiClick = _this.handleEmojiClick.bind(_this);\n _this.setPreviewRef = _this.setPreviewRef.bind(_this);\n _this.handleSkinChange = _this.handleSkinChange.bind(_this);\n return _this;\n }\n\n _createClass(Picker, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(props) {\n if (props.skin && !store.get('skin')) {\n this.setState({ skin: props.skin });\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n if (this.state.firstRender) {\n this.testStickyPosition();\n this.firstRenderTimeout = setTimeout(function () {\n _this2.setState({ firstRender: false });\n }, 60);\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n this.updateCategoriesSize();\n this.handleScroll();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n SEARCH_CATEGORY.emojis = null;\n\n clearTimeout(this.leaveTimeout);\n clearTimeout(this.firstRenderTimeout);\n }\n }, {\n key: 'testStickyPosition',\n value: function testStickyPosition() {\n var stickyTestElement = document.createElement('div');\n\n var prefixes = ['', '-webkit-', '-ms-', '-moz-', '-o-'];\n\n prefixes.forEach(function (prefix) {\n return stickyTestElement.style.position = prefix + 'sticky';\n });\n\n this.hasStickyPosition = !!stickyTestElement.style.position.length;\n }\n }, {\n key: 'handleEmojiOver',\n value: function handleEmojiOver(emoji) {\n var preview = this.preview;\n\n if (!preview) {\n return;\n }\n\n // Use Array.prototype.find() when it is more widely supported.\n var emojiData = CUSTOM_CATEGORY.emojis.filter(function (customEmoji) {\n return customEmoji.id === emoji.id;\n })[0];\n for (var key in emojiData) {\n if (emojiData.hasOwnProperty(key)) {\n emoji[key] = emojiData[key];\n }\n }\n\n preview.setState({ emoji: emoji });\n clearTimeout(this.leaveTimeout);\n }\n }, {\n key: 'handleEmojiLeave',\n value: function handleEmojiLeave(emoji) {\n var preview = this.preview;\n\n if (!preview) {\n return;\n }\n\n this.leaveTimeout = setTimeout(function () {\n preview.setState({ emoji: null });\n }, 16);\n }\n }, {\n key: 'handleEmojiClick',\n value: function handleEmojiClick(emoji, e) {\n var _this3 = this;\n\n this.props.onClick(emoji, e);\n if (!this.hideRecent && !this.props.recent) frequently.add(emoji);\n\n var component = this.categoryRefs['category-1'];\n if (component) {\n var maxMargin = component.maxMargin;\n component.forceUpdate();\n\n window.requestAnimationFrame(function () {\n if (!_this3.scroll) return;\n component.memoizeSize();\n if (maxMargin == component.maxMargin) return;\n\n _this3.updateCategoriesSize();\n _this3.handleScrollPaint();\n\n if (SEARCH_CATEGORY.emojis) {\n component.updateDisplay('none');\n }\n });\n }\n }\n }, {\n key: 'handleScroll',\n value: function handleScroll() {\n if (!this.waitingForPaint) {\n this.waitingForPaint = true;\n window.requestAnimationFrame(this.handleScrollPaint);\n }\n }\n }, {\n key: 'handleScrollPaint',\n value: function handleScrollPaint() {\n this.waitingForPaint = false;\n\n if (!this.scroll) {\n return;\n }\n\n var activeCategory = null;\n\n if (SEARCH_CATEGORY.emojis) {\n activeCategory = SEARCH_CATEGORY;\n } else {\n var target = this.scroll,\n scrollTop = target.scrollTop,\n scrollingDown = scrollTop > (this.scrollTop || 0),\n minTop = 0;\n\n for (var i = 0, l = this.categories.length; i < l; i++) {\n var ii = scrollingDown ? this.categories.length - 1 - i : i,\n category = this.categories[ii],\n component = this.categoryRefs['category-' + ii];\n\n if (component) {\n var active = component.handleScroll(scrollTop);\n\n if (!minTop || component.top < minTop) {\n if (component.top > 0) {\n minTop = component.top;\n }\n }\n\n if (active && !activeCategory) {\n activeCategory = category;\n }\n }\n }\n\n if (scrollTop < minTop) {\n activeCategory = this.categories.filter(function (category) {\n return !(category.anchor === false);\n })[0];\n } else if (scrollTop + this.clientHeight >= this.scrollHeight) {\n activeCategory = this.categories[this.categories.length - 1];\n }\n }\n\n if (activeCategory) {\n var anchors = this.anchors;\n var _activeCategory = activeCategory;\n var categoryName = _activeCategory.name;\n\n if (anchors.state.selected != categoryName) {\n anchors.setState({ selected: categoryName });\n }\n }\n\n this.scrollTop = scrollTop;\n }\n }, {\n key: 'handleSearch',\n value: function handleSearch(emojis) {\n SEARCH_CATEGORY.emojis = emojis;\n\n for (var i = 0, l = this.categories.length; i < l; i++) {\n var component = this.categoryRefs['category-' + i];\n\n if (component && component.props.name != 'Search') {\n var display = emojis ? 'none' : 'inherit';\n component.updateDisplay(display);\n }\n }\n\n this.forceUpdate();\n this.scroll.scrollTop = 0;\n this.handleScroll();\n }\n }, {\n key: 'handleAnchorClick',\n value: function handleAnchorClick(category, i) {\n var component = this.categoryRefs['category-' + i];\n var scroll = this.scroll;\n var anchors = this.anchors;\n var scrollToComponent = null;\n\n scrollToComponent = function scrollToComponent() {\n if (component) {\n var top = component.top;\n\n if (category.first) {\n top = 0;\n } else {\n top += 1;\n }\n\n scroll.scrollTop = top;\n }\n };\n\n if (SEARCH_CATEGORY.emojis) {\n this.handleSearch(null);\n this.search.clear();\n\n window.requestAnimationFrame(scrollToComponent);\n } else {\n scrollToComponent();\n }\n }\n }, {\n key: 'handleSkinChange',\n value: function handleSkinChange(skin) {\n var newState = { skin: skin };\n\n this.setState(newState);\n store.update(newState);\n }\n }, {\n key: 'updateCategoriesSize',\n value: function updateCategoriesSize() {\n for (var i = 0, l = this.categories.length; i < l; i++) {\n var component = this.categoryRefs['category-' + i];\n if (component) component.memoizeSize();\n }\n\n if (this.scroll) {\n var target = this.scroll;\n this.scrollHeight = target.scrollHeight;\n this.clientHeight = target.clientHeight;\n }\n }\n }, {\n key: 'getCategories',\n value: function getCategories() {\n return this.state.firstRender ? this.categories.slice(0, 3) : this.categories;\n }\n }, {\n key: 'setAnchorsRef',\n value: function setAnchorsRef(c) {\n this.anchors = c;\n }\n }, {\n key: 'setSearchRef',\n value: function setSearchRef(c) {\n this.search = c;\n }\n }, {\n key: 'setPreviewRef',\n value: function setPreviewRef(c) {\n this.preview = c;\n }\n }, {\n key: 'setScrollRef',\n value: function setScrollRef(c) {\n this.scroll = c;\n }\n }, {\n key: 'setCategoryRef',\n value: function setCategoryRef(name, c) {\n if (!this.categoryRefs) {\n this.categoryRefs = {};\n }\n\n this.categoryRefs[name] = c;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var _props = this.props;\n var perLine = _props.perLine;\n var emojiSize = _props.emojiSize;\n var set = _props.set;\n var sheetSize = _props.sheetSize;\n var style = _props.style;\n var title = _props.title;\n var emoji = _props.emoji;\n var color = _props.color;\n var native = _props.native;\n var backgroundImageFn = _props.backgroundImageFn;\n var emojisToShowFilter = _props.emojisToShowFilter;\n var showPreview = _props.showPreview;\n var emojiTooltip = _props.emojiTooltip;\n var include = _props.include;\n var exclude = _props.exclude;\n var recent = _props.recent;\n var autoFocus = _props.autoFocus;\n var skin = this.state.skin;\n var width = perLine * (emojiSize + 12) + 12 + 2 + measureScrollbar();\n\n return React.createElement('div', { style: _extends({ width: width }, style), className: 'emoji-mart' }, React.createElement('div', { className: 'emoji-mart-bar' }, React.createElement(Anchors, {\n ref: this.setAnchorsRef,\n i18n: this.i18n,\n color: color,\n categories: this.categories,\n onAnchorClick: this.handleAnchorClick\n })), React.createElement(Search, {\n ref: this.setSearchRef,\n onSearch: this.handleSearch,\n i18n: this.i18n,\n emojisToShowFilter: emojisToShowFilter,\n include: include,\n exclude: exclude,\n custom: CUSTOM_CATEGORY.emojis,\n autoFocus: autoFocus\n }), React.createElement('div', {\n ref: this.setScrollRef,\n className: 'emoji-mart-scroll',\n onScroll: this.handleScroll\n }, this.getCategories().map(function (category, i) {\n return React.createElement(Category, {\n ref: _this4.setCategoryRef.bind(_this4, 'category-' + i),\n key: category.name,\n name: category.name,\n emojis: category.emojis,\n perLine: perLine,\n native: native,\n hasStickyPosition: _this4.hasStickyPosition,\n i18n: _this4.i18n,\n recent: category.name == 'Recent' ? recent : undefined,\n custom: category.name == 'Recent' ? CUSTOM_CATEGORY.emojis : undefined,\n emojiProps: {\n native: native,\n skin: skin,\n size: emojiSize,\n set: set,\n sheetSize: sheetSize,\n forceSize: native,\n tooltip: emojiTooltip,\n backgroundImageFn: backgroundImageFn,\n onOver: _this4.handleEmojiOver,\n onLeave: _this4.handleEmojiLeave,\n onClick: _this4.handleEmojiClick\n }\n });\n })), showPreview && React.createElement('div', { className: 'emoji-mart-bar' }, React.createElement(Preview, {\n ref: this.setPreviewRef,\n title: title,\n emoji: emoji,\n emojiProps: {\n native: native,\n size: 38,\n skin: skin,\n set: set,\n sheetSize: sheetSize,\n backgroundImageFn: backgroundImageFn\n },\n skinsProps: {\n skin: skin,\n onChange: this.handleSkinChange\n }\n })));\n }\n }]);\n\n return Picker;\n}(React.PureComponent);\n\nexport default Picker;\n\nPicker.defaultProps = {\n onClick: function onClick() {},\n emojiSize: 24,\n perLine: 9,\n i18n: {},\n style: {},\n title: 'Emoji Mart™',\n emoji: 'department_store',\n color: '#ae65c5',\n set: Emoji.defaultProps.set,\n skin: Emoji.defaultProps.skin,\n native: Emoji.defaultProps.native,\n sheetSize: Emoji.defaultProps.sheetSize,\n backgroundImageFn: Emoji.defaultProps.backgroundImageFn,\n emojisToShowFilter: null,\n showPreview: true,\n emojiTooltip: Emoji.defaultProps.tooltip,\n autoFocus: false,\n custom: []\n};" + }, + { + "id": 818, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/build-search.js", + "name": "./node_modules/emoji-mart/dist-es/utils/build-search.js", + "index": 437, + "index2": 426, + "size": 617, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/data/index.js", + "issuerId": 796, + "issuerName": "./node_modules/emoji-mart/dist-es/data/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 789, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/index.js", + "module": "./node_modules/emoji-mart/dist-es/utils/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/utils/index.js", + "type": "harmony import", + "userRequest": "./build-search", + "loc": "2:0-41" + }, + { + "moduleId": 796, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/data/index.js", + "module": "./node_modules/emoji-mart/dist-es/data/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/data/index.js", + "type": "harmony import", + "userRequest": "../utils/build-search", + "loc": "1:0-48" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "export default (function (data) {\n var search = [];\n\n var addToSearch = function addToSearch(strings, split) {\n if (!strings) {\n return;\n }\n\n ;(Array.isArray(strings) ? strings : [strings]).forEach(function (string) {\n ;(split ? string.split(/[-|_|\\s]+/) : [string]).forEach(function (s) {\n s = s.toLowerCase();\n\n if (search.indexOf(s) == -1) {\n search.push(s);\n }\n });\n });\n };\n\n addToSearch(data.short_names, true);\n addToSearch(data.name, true);\n addToSearch(data.keywords, false);\n addToSearch(data.emoticons, false);\n\n return search.join(',');\n});" + }, + { + "id": 819, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/store.js", + "name": "./node_modules/emoji-mart/dist-es/utils/store.js", + "index": 439, + "index2": 429, + "size": 774, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "issuerId": 817, + "issuerName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "../utils/store", + "loc": "13:0-35" + }, + { + "moduleId": 820, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/frequently.js", + "module": "./node_modules/emoji-mart/dist-es/utils/frequently.js", + "moduleName": "./node_modules/emoji-mart/dist-es/utils/frequently.js", + "type": "harmony import", + "userRequest": "./store", + "loc": "1:0-28" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "var NAMESPACE = 'emoji-mart';\n\nvar _JSON = JSON;\n\nvar isLocalStorageSupported = typeof window !== 'undefined' && 'localStorage' in window;\n\nfunction update(state) {\n for (var key in state) {\n var value = state[key];\n set(key, value);\n }\n}\n\nfunction set(key, value) {\n if (!isLocalStorageSupported) return;\n try {\n window.localStorage[NAMESPACE + '.' + key] = _JSON.stringify(value);\n } catch (e) {}\n}\n\nfunction get(key) {\n if (!isLocalStorageSupported) return;\n try {\n var value = window.localStorage[NAMESPACE + '.' + key];\n } catch (e) {\n return;\n }\n\n if (value) {\n return JSON.parse(value);\n }\n}\n\nfunction setNamespace(namespace) {\n NAMESPACE = namespace;\n}\n\nexport default { update: update, set: set, get: get, setNamespace: setNamespace };" + }, + { + "id": 820, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/frequently.js", + "name": "./node_modules/emoji-mart/dist-es/utils/frequently.js", + "index": 440, + "index2": 430, + "size": 1271, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "issuerId": 817, + "issuerName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "../utils/frequently", + "loc": "14:0-45" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": "../utils/frequently", + "loc": "10:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import store from './store';\n\nvar DEFAULTS = ['+1', 'grinning', 'kissing_heart', 'heart_eyes', 'laughing', 'stuck_out_tongue_winking_eye', 'sweat_smile', 'joy', 'scream', 'disappointed', 'unamused', 'weary', 'sob', 'sunglasses', 'heart', 'poop'];\n\nvar frequently = store.get('frequently');\nvar defaults = {};\n\nfunction add(emoji) {\n var id = emoji.id;\n\n frequently || (frequently = defaults);\n frequently[id] || (frequently[id] = 0);\n frequently[id] += 1;\n\n store.set('last', id);\n store.set('frequently', frequently);\n}\n\nfunction get(perLine) {\n if (!frequently) {\n defaults = {};\n\n var result = [];\n\n for (var i = 0; i < perLine; i++) {\n defaults[DEFAULTS[i]] = perLine - i;\n result.push(DEFAULTS[i]);\n }\n\n return result;\n }\n\n var quantity = perLine * 4;\n var frequentlyKeys = [];\n\n for (var key in frequently) {\n if (frequently.hasOwnProperty(key)) {\n frequentlyKeys.push(key);\n }\n }\n\n var sorted = frequentlyKeys.sort(function (a, b) {\n return frequently[a] - frequently[b];\n }).reverse();\n var sliced = sorted.slice(0, quantity);\n\n var last = store.get('last');\n\n if (last && sliced.indexOf(last) == -1) {\n sliced.pop();\n sliced.push(last);\n }\n\n return sliced;\n}\n\nexport default { add: add, get: get };" + }, + { + "id": 821, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/emoji.js", + "name": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "index": 451, + "index2": 440, + "size": 3877, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_picker.js", + "issuerId": 751, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji_picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 751, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_picker.js", + "module": "./app/javascript/mastodon/features/emoji/emoji_picker.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji_picker.js", + "type": "harmony import", + "userRequest": "emoji-mart/dist-es/components/emoji", + "loc": "2:0-56" + }, + { + "moduleId": 801, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "module": "./node_modules/emoji-mart/dist-es/components/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/index.js", + "type": "harmony import", + "userRequest": "./emoji", + "loc": "3:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport data from '../data';\n\nimport { getData, getSanitizedData, unifiedToNative } from '../utils';\n\nvar SHEET_COLUMNS = 49;\n\nvar _getPosition = function _getPosition(props) {\n var _getData2 = _getData(props);\n\n var sheet_x = _getData2.sheet_x;\n var sheet_y = _getData2.sheet_y;\n var multiply = 100 / (SHEET_COLUMNS - 1);\n\n return multiply * sheet_x + '% ' + multiply * sheet_y + '%';\n};\n\nvar _getData = function _getData(props) {\n var emoji = props.emoji;\n var skin = props.skin;\n var set = props.set;\n\n return getData(emoji, skin, set);\n};\n\nvar _getSanitizedData = function _getSanitizedData(props) {\n var emoji = props.emoji;\n var skin = props.skin;\n var set = props.set;\n\n return getSanitizedData(emoji, skin, set);\n};\n\nvar _handleClick = function _handleClick(e, props) {\n if (!props.onClick) {\n return;\n }\n var onClick = props.onClick;\n var emoji = _getSanitizedData(props);\n\n onClick(emoji, e);\n};\n\nvar _handleOver = function _handleOver(e, props) {\n if (!props.onOver) {\n return;\n }\n var onOver = props.onOver;\n var emoji = _getSanitizedData(props);\n\n onOver(emoji, e);\n};\n\nvar _handleLeave = function _handleLeave(e, props) {\n if (!props.onLeave) {\n return;\n }\n var onLeave = props.onLeave;\n var emoji = _getSanitizedData(props);\n\n onLeave(emoji, e);\n};\n\nvar Emoji = function Emoji(props) {\n for (var k in Emoji.defaultProps) {\n if (props[k] == undefined && Emoji.defaultProps[k] != undefined) {\n props[k] = Emoji.defaultProps[k];\n }\n }\n\n var _getData3 = _getData(props);\n\n var unified = _getData3.unified;\n var custom = _getData3.custom;\n var short_names = _getData3.short_names;\n var colons = _getData3.colons;\n var imageUrl = _getData3.imageUrl;\n var style = {};\n var children = props.children;\n var className = 'emoji-mart-emoji';\n var title = null;\n\n if (!unified && !custom) {\n return null;\n }\n\n if (props.tooltip) {\n title = short_names ? ':' + short_names[0] + ':' : colons;\n }\n\n if (props.native && unified) {\n className += ' emoji-mart-emoji-native';\n style = { fontSize: props.size };\n children = unifiedToNative(unified);\n\n if (props.forceSize) {\n style.display = 'inline-block';\n style.width = props.size;\n style.height = props.size;\n }\n } else if (custom) {\n className += ' emoji-mart-emoji-custom';\n style = {\n width: props.size,\n height: props.size,\n display: 'inline-block',\n backgroundImage: 'url(' + imageUrl + ')',\n backgroundSize: 'contain'\n };\n } else {\n var setHasEmoji = _getData(props)['has_img_' + props.set];\n\n if (!setHasEmoji) {\n return null;\n }\n\n style = {\n width: props.size,\n height: props.size,\n display: 'inline-block',\n backgroundImage: 'url(' + props.backgroundImageFn(props.set, props.sheetSize) + ')',\n backgroundSize: 100 * SHEET_COLUMNS + '%',\n backgroundPosition: _getPosition(props)\n };\n }\n\n return React.createElement('span', {\n key: props.emoji.id || props.emoji,\n onClick: function onClick(e) {\n return _handleClick(e, props);\n },\n onMouseEnter: function onMouseEnter(e) {\n return _handleOver(e, props);\n },\n onMouseLeave: function onMouseLeave(e) {\n return _handleLeave(e, props);\n },\n title: title,\n className: className\n }, React.createElement('span', { style: style }, children));\n};\n\nEmoji.defaultProps = {\n skin: 1,\n set: 'apple',\n sheetSize: 64,\n native: false,\n forceSize: false,\n tooltip: false,\n backgroundImageFn: function backgroundImageFn(set, sheetSize) {\n return 'https://unpkg.com/emoji-datasource-' + set + '@' + '3.0.0' + '/img/' + set + '/sheets/' + sheetSize + '.png';\n },\n onOver: function onOver() {},\n onLeave: function onLeave() {},\n onClick: function onClick() {}\n};\n\nexport default Emoji;" + }, + { + "id": 866, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/vendor/raf-polyfill.js", + "name": "./node_modules/emoji-mart/dist-es/vendor/raf-polyfill.js", + "index": 435, + "index2": 425, + "size": 1204, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "issuerId": 817, + "issuerName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "../vendor/raf-polyfill", + "loc": "7:0-32" + } + ], + "usedExports": false, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\n\n// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel\n\n// MIT license\n\nvar isWindowAvailable = typeof window !== 'undefined';\n\nisWindowAvailable && function () {\n var lastTime = 0;\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\n window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\n }\n\n if (!window.requestAnimationFrame) window.requestAnimationFrame = function (callback, element) {\n var currTime = new Date().getTime();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n var id = window.setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n\n lastTime = currTime + timeToCall;\n return id;\n };\n\n if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function (id) {\n clearTimeout(id);\n };\n}();" + }, + { + "id": 867, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/data/data.js", + "name": "./node_modules/emoji-mart/dist-es/data/data.js", + "index": 438, + "index2": 427, + "size": 616873, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/data/index.js", + "issuerId": 796, + "issuerName": "./node_modules/emoji-mart/dist-es/data/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 796, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/data/index.js", + "module": "./node_modules/emoji-mart/dist-es/data/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/data/index.js", + "type": "harmony import", + "userRequest": "./data", + "loc": "2:0-26" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "export default{categories:[{name:\"People\",emojis:[\"grinning\",\"smiley\",\"smile\",\"grin\",\"laughing\",\"sweat_smile\",\"joy\",\"rolling_on_the_floor_laughing\",\"relaxed\",\"blush\",\"innocent\",\"slightly_smiling_face\",\"upside_down_face\",\"wink\",\"relieved\",\"heart_eyes\",\"kissing_heart\",\"kissing\",\"kissing_smiling_eyes\",\"kissing_closed_eyes\",\"yum\",\"stuck_out_tongue_winking_eye\",\"stuck_out_tongue_closed_eyes\",\"stuck_out_tongue\",\"money_mouth_face\",\"hugging_face\",\"nerd_face\",\"sunglasses\",\"clown_face\",\"face_with_cowboy_hat\",\"smirk\",\"unamused\",\"disappointed\",\"pensive\",\"worried\",\"confused\",\"slightly_frowning_face\",\"white_frowning_face\",\"persevere\",\"confounded\",\"tired_face\",\"weary\",\"triumph\",\"angry\",\"rage\",\"no_mouth\",\"neutral_face\",\"expressionless\",\"hushed\",\"frowning\",\"anguished\",\"open_mouth\",\"astonished\",\"dizzy_face\",\"flushed\",\"scream\",\"fearful\",\"cold_sweat\",\"cry\",\"disappointed_relieved\",\"drooling_face\",\"sob\",\"sweat\",\"sleepy\",\"sleeping\",\"face_with_rolling_eyes\",\"thinking_face\",\"lying_face\",\"grimacing\",\"zipper_mouth_face\",\"nauseated_face\",\"sneezing_face\",\"mask\",\"face_with_thermometer\",\"face_with_head_bandage\",\"smiling_imp\",\"imp\",\"japanese_ogre\",\"japanese_goblin\",\"hankey\",\"ghost\",\"skull\",\"skull_and_crossbones\",\"alien\",\"space_invader\",\"robot_face\",\"jack_o_lantern\",\"smiley_cat\",\"smile_cat\",\"joy_cat\",\"heart_eyes_cat\",\"smirk_cat\",\"kissing_cat\",\"scream_cat\",\"crying_cat_face\",\"pouting_cat\",\"open_hands\",\"raised_hands\",\"clap\",\"pray\",\"handshake\",\"+1\",\"-1\",\"facepunch\",\"fist\",\"left-facing_fist\",\"right-facing_fist\",\"hand_with_index_and_middle_fingers_crossed\",\"v\",\"the_horns\",\"ok_hand\",\"point_left\",\"point_right\",\"point_up_2\",\"point_down\",\"point_up\",\"hand\",\"raised_back_of_hand\",\"raised_hand_with_fingers_splayed\",\"spock-hand\",\"wave\",\"call_me_hand\",\"muscle\",\"middle_finger\",\"writing_hand\",\"selfie\",\"nail_care\",\"ring\",\"lipstick\",\"kiss\",\"lips\",\"tongue\",\"ear\",\"nose\",\"footprints\",\"eye\",\"eyes\",\"speaking_head_in_silhouette\",\"bust_in_silhouette\",\"busts_in_silhouette\",\"baby\",\"boy\",\"girl\",\"man\",\"woman\",\"blond-haired-woman\",\"person_with_blond_hair\",\"older_man\",\"older_woman\",\"man_with_gua_pi_mao\",\"woman-wearing-turban\",\"man_with_turban\",\"female-police-officer\",\"cop\",\"female-construction-worker\",\"construction_worker\",\"female-guard\",\"guardsman\",\"female-detective\",\"sleuth_or_spy\",\"female-doctor\",\"male-doctor\",\"female-farmer\",\"male-farmer\",\"female-cook\",\"male-cook\",\"female-student\",\"male-student\",\"female-singer\",\"male-singer\",\"female-teacher\",\"male-teacher\",\"female-factory-worker\",\"male-factory-worker\",\"female-technologist\",\"male-technologist\",\"female-office-worker\",\"male-office-worker\",\"female-mechanic\",\"male-mechanic\",\"female-scientist\",\"male-scientist\",\"female-artist\",\"male-artist\",\"female-firefighter\",\"male-firefighter\",\"female-pilot\",\"male-pilot\",\"female-astronaut\",\"male-astronaut\",\"female-judge\",\"male-judge\",\"mother_christmas\",\"santa\",\"princess\",\"prince\",\"bride_with_veil\",\"man_in_tuxedo\",\"angel\",\"pregnant_woman\",\"woman-bowing\",\"bow\",\"information_desk_person\",\"man-tipping-hand\",\"no_good\",\"man-gesturing-no\",\"ok_woman\",\"man-gesturing-ok\",\"raising_hand\",\"man-raising-hand\",\"face_palm\",\"woman-facepalming\",\"man-facepalming\",\"shrug\",\"woman-shrugging\",\"man-shrugging\",\"person_with_pouting_face\",\"man-pouting\",\"person_frowning\",\"man-frowning\",\"haircut\",\"man-getting-haircut\",\"massage\",\"man-getting-massage\",\"man_in_business_suit_levitating\",\"dancer\",\"man_dancing\",\"dancers\",\"man-with-bunny-ears-partying\",\"woman-walking\",\"walking\",\"woman-running\",\"runner\",\"couple\",\"two_women_holding_hands\",\"two_men_holding_hands\",\"couple_with_heart\",\"woman-heart-woman\",\"man-heart-man\",\"couplekiss\",\"woman-kiss-woman\",\"man-kiss-man\",\"family\",\"man-woman-girl\",\"man-woman-girl-boy\",\"man-woman-boy-boy\",\"man-woman-girl-girl\",\"woman-woman-boy\",\"woman-woman-girl\",\"woman-woman-girl-boy\",\"woman-woman-boy-boy\",\"woman-woman-girl-girl\",\"man-man-boy\",\"man-man-girl\",\"man-man-girl-boy\",\"man-man-boy-boy\",\"man-man-girl-girl\",\"woman-boy\",\"woman-girl\",\"woman-girl-boy\",\"woman-boy-boy\",\"woman-girl-girl\",\"man-boy\",\"man-girl\",\"man-girl-boy\",\"man-boy-boy\",\"man-girl-girl\",\"womans_clothes\",\"shirt\",\"jeans\",\"necktie\",\"dress\",\"bikini\",\"kimono\",\"high_heel\",\"sandal\",\"boot\",\"mans_shoe\",\"athletic_shoe\",\"womans_hat\",\"tophat\",\"mortar_board\",\"crown\",\"helmet_with_white_cross\",\"school_satchel\",\"pouch\",\"purse\",\"handbag\",\"briefcase\",\"eyeglasses\",\"dark_sunglasses\",\"closed_umbrella\",\"umbrella\",\"man-woman-boy\",\"woman-heart-man\",\"woman-kiss-man\",\"male-police-officer\",\"blond-haired-man\",\"man-wearing-turban\",\"male-construction-worker\",\"male-guard\",\"male-detective\",\"woman-with-bunny-ears-partying\",\"man-running\",\"woman-getting-massage\",\"woman-getting-haircut\",\"man-walking\",\"woman-tipping-hand\",\"woman-gesturing-no\",\"woman-gesturing-ok\",\"man-bowing\",\"woman-raising-hand\",\"woman-frowning\",\"woman-pouting\"]},{name:\"Nature\",emojis:[\"dog\",\"cat\",\"mouse\",\"hamster\",\"rabbit\",\"fox_face\",\"bear\",\"panda_face\",\"koala\",\"tiger\",\"lion_face\",\"cow\",\"pig\",\"pig_nose\",\"frog\",\"monkey_face\",\"see_no_evil\",\"hear_no_evil\",\"speak_no_evil\",\"monkey\",\"chicken\",\"penguin\",\"bird\",\"baby_chick\",\"hatching_chick\",\"hatched_chick\",\"duck\",\"eagle\",\"owl\",\"bat\",\"wolf\",\"boar\",\"horse\",\"unicorn_face\",\"bee\",\"bug\",\"butterfly\",\"snail\",\"shell\",\"beetle\",\"ant\",\"spider\",\"spider_web\",\"turtle\",\"snake\",\"lizard\",\"scorpion\",\"crab\",\"squid\",\"octopus\",\"shrimp\",\"tropical_fish\",\"fish\",\"blowfish\",\"dolphin\",\"shark\",\"whale\",\"whale2\",\"crocodile\",\"leopard\",\"tiger2\",\"water_buffalo\",\"ox\",\"cow2\",\"deer\",\"dromedary_camel\",\"camel\",\"elephant\",\"rhinoceros\",\"gorilla\",\"racehorse\",\"pig2\",\"goat\",\"ram\",\"sheep\",\"dog2\",\"poodle\",\"cat2\",\"rooster\",\"turkey\",\"dove_of_peace\",\"rabbit2\",\"mouse2\",\"rat\",\"chipmunk\",\"feet\",\"dragon\",\"dragon_face\",\"cactus\",\"christmas_tree\",\"evergreen_tree\",\"deciduous_tree\",\"palm_tree\",\"seedling\",\"herb\",\"shamrock\",\"four_leaf_clover\",\"bamboo\",\"tanabata_tree\",\"leaves\",\"fallen_leaf\",\"maple_leaf\",\"mushroom\",\"ear_of_rice\",\"bouquet\",\"tulip\",\"rose\",\"wilted_flower\",\"sunflower\",\"blossom\",\"cherry_blossom\",\"hibiscus\",\"earth_americas\",\"earth_africa\",\"earth_asia\",\"full_moon\",\"waning_gibbous_moon\",\"last_quarter_moon\",\"waning_crescent_moon\",\"new_moon\",\"waxing_crescent_moon\",\"first_quarter_moon\",\"moon\",\"new_moon_with_face\",\"full_moon_with_face\",\"sun_with_face\",\"first_quarter_moon_with_face\",\"last_quarter_moon_with_face\",\"crescent_moon\",\"dizzy\",\"star\",\"star2\",\"sparkles\",\"zap\",\"fire\",\"boom\",\"comet\",\"sunny\",\"mostly_sunny\",\"partly_sunny\",\"barely_sunny\",\"partly_sunny_rain\",\"rainbow\",\"cloud\",\"rain_cloud\",\"thunder_cloud_and_rain\",\"lightning\",\"snow_cloud\",\"snowman\",\"snowman_without_snow\",\"snowflake\",\"wind_blowing_face\",\"dash\",\"tornado\",\"fog\",\"ocean\",\"droplet\",\"sweat_drops\",\"umbrella_with_rain_drops\"]},{name:\"Foods\",emojis:[\"green_apple\",\"apple\",\"pear\",\"tangerine\",\"lemon\",\"banana\",\"watermelon\",\"grapes\",\"strawberry\",\"melon\",\"cherries\",\"peach\",\"pineapple\",\"kiwifruit\",\"avocado\",\"tomato\",\"eggplant\",\"cucumber\",\"carrot\",\"corn\",\"hot_pepper\",\"potato\",\"sweet_potato\",\"chestnut\",\"peanuts\",\"honey_pot\",\"croissant\",\"bread\",\"baguette_bread\",\"cheese_wedge\",\"egg\",\"fried_egg\",\"bacon\",\"pancakes\",\"fried_shrimp\",\"poultry_leg\",\"meat_on_bone\",\"pizza\",\"hotdog\",\"hamburger\",\"fries\",\"stuffed_flatbread\",\"taco\",\"burrito\",\"green_salad\",\"shallow_pan_of_food\",\"spaghetti\",\"ramen\",\"stew\",\"fish_cake\",\"sushi\",\"bento\",\"curry\",\"rice\",\"rice_ball\",\"rice_cracker\",\"oden\",\"dango\",\"shaved_ice\",\"ice_cream\",\"icecream\",\"cake\",\"birthday\",\"custard\",\"lollipop\",\"candy\",\"chocolate_bar\",\"popcorn\",\"doughnut\",\"cookie\",\"glass_of_milk\",\"baby_bottle\",\"coffee\",\"tea\",\"sake\",\"beer\",\"beers\",\"clinking_glasses\",\"wine_glass\",\"tumbler_glass\",\"cocktail\",\"tropical_drink\",\"champagne\",\"spoon\",\"fork_and_knife\",\"knife_fork_plate\"]},{name:\"Activity\",emojis:[\"soccer\",\"basketball\",\"football\",\"baseball\",\"tennis\",\"volleyball\",\"rugby_football\",\"8ball\",\"table_tennis_paddle_and_ball\",\"badminton_racquet_and_shuttlecock\",\"goal_net\",\"ice_hockey_stick_and_puck\",\"field_hockey_stick_and_ball\",\"cricket_bat_and_ball\",\"golf\",\"bow_and_arrow\",\"fishing_pole_and_fish\",\"boxing_glove\",\"martial_arts_uniform\",\"ice_skate\",\"ski\",\"skier\",\"snowboarder\",\"woman-lifting-weights\",\"weight_lifter\",\"fencer\",\"wrestlers\",\"woman-wrestling\",\"man-wrestling\",\"person_doing_cartwheel\",\"woman-cartwheeling\",\"man-cartwheeling\",\"woman-bouncing-ball\",\"person_with_ball\",\"handball\",\"woman-playing-handball\",\"man-playing-handball\",\"woman-golfing\",\"golfer\",\"woman-surfing\",\"surfer\",\"woman-swimming\",\"swimmer\",\"water_polo\",\"woman-playing-water-polo\",\"man-playing-water-polo\",\"woman-rowing-boat\",\"rowboat\",\"horse_racing\",\"woman-biking\",\"bicyclist\",\"woman-mountain-biking\",\"mountain_bicyclist\",\"running_shirt_with_sash\",\"sports_medal\",\"medal\",\"first_place_medal\",\"second_place_medal\",\"third_place_medal\",\"trophy\",\"rosette\",\"reminder_ribbon\",\"ticket\",\"admission_tickets\",\"circus_tent\",\"juggling\",\"woman-juggling\",\"man-juggling\",\"performing_arts\",\"art\",\"clapper\",\"microphone\",\"headphones\",\"musical_score\",\"musical_keyboard\",\"drum_with_drumsticks\",\"saxophone\",\"trumpet\",\"guitar\",\"violin\",\"game_die\",\"dart\",\"bowling\",\"video_game\",\"slot_machine\",\"man-bouncing-ball\",\"man-lifting-weights\",\"man-golfing\",\"man-surfing\",\"man-swimming\",\"man-rowing-boat\",\"man-biking\",\"man-mountain-biking\"]},{name:\"Places\",emojis:[\"car\",\"taxi\",\"blue_car\",\"bus\",\"trolleybus\",\"racing_car\",\"police_car\",\"ambulance\",\"fire_engine\",\"minibus\",\"truck\",\"articulated_lorry\",\"tractor\",\"scooter\",\"bike\",\"motor_scooter\",\"racing_motorcycle\",\"rotating_light\",\"oncoming_police_car\",\"oncoming_bus\",\"oncoming_automobile\",\"oncoming_taxi\",\"aerial_tramway\",\"mountain_cableway\",\"suspension_railway\",\"railway_car\",\"train\",\"mountain_railway\",\"monorail\",\"bullettrain_side\",\"bullettrain_front\",\"light_rail\",\"steam_locomotive\",\"train2\",\"metro\",\"tram\",\"station\",\"helicopter\",\"small_airplane\",\"airplane\",\"airplane_departure\",\"airplane_arriving\",\"rocket\",\"satellite\",\"seat\",\"canoe\",\"boat\",\"motor_boat\",\"speedboat\",\"passenger_ship\",\"ferry\",\"ship\",\"anchor\",\"construction\",\"fuelpump\",\"busstop\",\"vertical_traffic_light\",\"traffic_light\",\"world_map\",\"moyai\",\"statue_of_liberty\",\"fountain\",\"tokyo_tower\",\"european_castle\",\"japanese_castle\",\"stadium\",\"ferris_wheel\",\"roller_coaster\",\"carousel_horse\",\"umbrella_on_ground\",\"beach_with_umbrella\",\"desert_island\",\"mountain\",\"snow_capped_mountain\",\"mount_fuji\",\"volcano\",\"desert\",\"camping\",\"tent\",\"railway_track\",\"motorway\",\"building_construction\",\"factory\",\"house\",\"house_with_garden\",\"house_buildings\",\"derelict_house_building\",\"office\",\"department_store\",\"post_office\",\"european_post_office\",\"hospital\",\"bank\",\"hotel\",\"convenience_store\",\"school\",\"love_hotel\",\"wedding\",\"classical_building\",\"church\",\"mosque\",\"synagogue\",\"kaaba\",\"shinto_shrine\",\"japan\",\"rice_scene\",\"national_park\",\"sunrise\",\"sunrise_over_mountains\",\"stars\",\"sparkler\",\"fireworks\",\"city_sunrise\",\"city_sunset\",\"cityscape\",\"night_with_stars\",\"milky_way\",\"bridge_at_night\",\"foggy\"]},{name:\"Objects\",emojis:[\"watch\",\"iphone\",\"calling\",\"computer\",\"keyboard\",\"desktop_computer\",\"printer\",\"three_button_mouse\",\"trackball\",\"joystick\",\"compression\",\"minidisc\",\"floppy_disk\",\"cd\",\"dvd\",\"vhs\",\"camera\",\"camera_with_flash\",\"video_camera\",\"movie_camera\",\"film_projector\",\"film_frames\",\"telephone_receiver\",\"phone\",\"pager\",\"fax\",\"tv\",\"radio\",\"studio_microphone\",\"level_slider\",\"control_knobs\",\"stopwatch\",\"timer_clock\",\"alarm_clock\",\"mantelpiece_clock\",\"hourglass\",\"hourglass_flowing_sand\",\"satellite_antenna\",\"battery\",\"electric_plug\",\"bulb\",\"flashlight\",\"candle\",\"wastebasket\",\"oil_drum\",\"money_with_wings\",\"dollar\",\"yen\",\"euro\",\"pound\",\"moneybag\",\"credit_card\",\"gem\",\"scales\",\"wrench\",\"hammer\",\"hammer_and_pick\",\"hammer_and_wrench\",\"pick\",\"nut_and_bolt\",\"gear\",\"chains\",\"gun\",\"bomb\",\"hocho\",\"dagger_knife\",\"crossed_swords\",\"shield\",\"smoking\",\"coffin\",\"funeral_urn\",\"amphora\",\"crystal_ball\",\"prayer_beads\",\"barber\",\"alembic\",\"telescope\",\"microscope\",\"hole\",\"pill\",\"syringe\",\"thermometer\",\"toilet\",\"potable_water\",\"shower\",\"bathtub\",\"bath\",\"bellhop_bell\",\"key\",\"old_key\",\"door\",\"couch_and_lamp\",\"bed\",\"sleeping_accommodation\",\"frame_with_picture\",\"shopping_bags\",\"shopping_trolley\",\"gift\",\"balloon\",\"flags\",\"ribbon\",\"confetti_ball\",\"tada\",\"dolls\",\"izakaya_lantern\",\"wind_chime\",\"email\",\"envelope_with_arrow\",\"incoming_envelope\",\"e-mail\",\"love_letter\",\"inbox_tray\",\"outbox_tray\",\"package\",\"label\",\"mailbox_closed\",\"mailbox\",\"mailbox_with_mail\",\"mailbox_with_no_mail\",\"postbox\",\"postal_horn\",\"scroll\",\"page_with_curl\",\"page_facing_up\",\"bookmark_tabs\",\"bar_chart\",\"chart_with_upwards_trend\",\"chart_with_downwards_trend\",\"spiral_note_pad\",\"spiral_calendar_pad\",\"calendar\",\"date\",\"card_index\",\"card_file_box\",\"ballot_box_with_ballot\",\"file_cabinet\",\"clipboard\",\"file_folder\",\"open_file_folder\",\"card_index_dividers\",\"rolled_up_newspaper\",\"newspaper\",\"notebook\",\"notebook_with_decorative_cover\",\"ledger\",\"closed_book\",\"green_book\",\"blue_book\",\"orange_book\",\"books\",\"book\",\"bookmark\",\"link\",\"paperclip\",\"linked_paperclips\",\"triangular_ruler\",\"straight_ruler\",\"pushpin\",\"round_pushpin\",\"scissors\",\"lower_left_ballpoint_pen\",\"lower_left_fountain_pen\",\"black_nib\",\"lower_left_paintbrush\",\"lower_left_crayon\",\"memo\",\"pencil2\",\"mag\",\"mag_right\",\"lock_with_ink_pen\",\"closed_lock_with_key\",\"lock\",\"unlock\"]},{name:\"Symbols\",emojis:[\"heart\",\"yellow_heart\",\"green_heart\",\"blue_heart\",\"purple_heart\",\"black_heart\",\"broken_heart\",\"heavy_heart_exclamation_mark_ornament\",\"two_hearts\",\"revolving_hearts\",\"heartbeat\",\"heartpulse\",\"sparkling_heart\",\"cupid\",\"gift_heart\",\"heart_decoration\",\"peace_symbol\",\"latin_cross\",\"star_and_crescent\",\"om_symbol\",\"wheel_of_dharma\",\"star_of_david\",\"six_pointed_star\",\"menorah_with_nine_branches\",\"yin_yang\",\"orthodox_cross\",\"place_of_worship\",\"ophiuchus\",\"aries\",\"taurus\",\"gemini\",\"cancer\",\"leo\",\"virgo\",\"libra\",\"scorpius\",\"sagittarius\",\"capricorn\",\"aquarius\",\"pisces\",\"id\",\"atom_symbol\",\"accept\",\"radioactive_sign\",\"biohazard_sign\",\"mobile_phone_off\",\"vibration_mode\",\"u6709\",\"u7121\",\"u7533\",\"u55b6\",\"u6708\",\"eight_pointed_black_star\",\"vs\",\"white_flower\",\"ideograph_advantage\",\"secret\",\"congratulations\",\"u5408\",\"u6e80\",\"u5272\",\"u7981\",\"a\",\"b\",\"ab\",\"cl\",\"o2\",\"sos\",\"x\",\"o\",\"octagonal_sign\",\"no_entry\",\"name_badge\",\"no_entry_sign\",\"100\",\"anger\",\"hotsprings\",\"no_pedestrians\",\"do_not_litter\",\"no_bicycles\",\"non-potable_water\",\"underage\",\"no_mobile_phones\",\"no_smoking\",\"exclamation\",\"grey_exclamation\",\"question\",\"grey_question\",\"bangbang\",\"interrobang\",\"low_brightness\",\"high_brightness\",\"part_alternation_mark\",\"warning\",\"children_crossing\",\"trident\",\"fleur_de_lis\",\"beginner\",\"recycle\",\"white_check_mark\",\"u6307\",\"chart\",\"sparkle\",\"eight_spoked_asterisk\",\"negative_squared_cross_mark\",\"globe_with_meridians\",\"diamond_shape_with_a_dot_inside\",\"m\",\"cyclone\",\"zzz\",\"atm\",\"wc\",\"wheelchair\",\"parking\",\"u7a7a\",\"sa\",\"passport_control\",\"customs\",\"baggage_claim\",\"left_luggage\",\"mens\",\"womens\",\"baby_symbol\",\"restroom\",\"put_litter_in_its_place\",\"cinema\",\"signal_strength\",\"koko\",\"symbols\",\"information_source\",\"abc\",\"abcd\",\"capital_abcd\",\"ng\",\"ok\",\"up\",\"cool\",\"new\",\"free\",\"zero\",\"one\",\"two\",\"three\",\"four\",\"five\",\"six\",\"seven\",\"eight\",\"nine\",\"keycap_ten\",\"1234\",\"hash\",\"keycap_star\",\"arrow_forward\",\"double_vertical_bar\",\"black_right_pointing_triangle_with_double_vertical_bar\",\"black_square_for_stop\",\"eject\",\"black_circle_for_record\",\"black_right_pointing_double_triangle_with_vertical_bar\",\"black_left_pointing_double_triangle_with_vertical_bar\",\"fast_forward\",\"rewind\",\"arrow_double_up\",\"arrow_double_down\",\"arrow_backward\",\"arrow_up_small\",\"arrow_down_small\",\"arrow_right\",\"arrow_left\",\"arrow_up\",\"arrow_down\",\"arrow_upper_right\",\"arrow_lower_right\",\"arrow_lower_left\",\"arrow_upper_left\",\"arrow_up_down\",\"left_right_arrow\",\"arrow_right_hook\",\"leftwards_arrow_with_hook\",\"arrow_heading_up\",\"arrow_heading_down\",\"twisted_rightwards_arrows\",\"repeat\",\"repeat_one\",\"arrows_counterclockwise\",\"arrows_clockwise\",\"musical_note\",\"notes\",\"heavy_plus_sign\",\"heavy_minus_sign\",\"heavy_division_sign\",\"heavy_multiplication_x\",\"heavy_dollar_sign\",\"currency_exchange\",\"tm\",\"copyright\",\"registered\",\"wavy_dash\",\"curly_loop\",\"loop\",\"end\",\"back\",\"on\",\"top\",\"soon\",\"heavy_check_mark\",\"ballot_box_with_check\",\"radio_button\",\"white_circle\",\"black_circle\",\"red_circle\",\"large_blue_circle\",\"small_red_triangle\",\"small_red_triangle_down\",\"small_orange_diamond\",\"small_blue_diamond\",\"large_orange_diamond\",\"large_blue_diamond\",\"white_square_button\",\"black_square_button\",\"black_small_square\",\"white_small_square\",\"black_medium_small_square\",\"white_medium_small_square\",\"black_medium_square\",\"white_medium_square\",\"black_large_square\",\"white_large_square\",\"speaker\",\"mute\",\"sound\",\"loud_sound\",\"bell\",\"no_bell\",\"mega\",\"loudspeaker\",\"eye-in-speech-bubble\",\"speech_balloon\",\"left_speech_bubble\",\"thought_balloon\",\"right_anger_bubble\",\"spades\",\"clubs\",\"hearts\",\"diamonds\",\"black_joker\",\"flower_playing_cards\",\"mahjong\",\"clock1\",\"clock2\",\"clock3\",\"clock4\",\"clock5\",\"clock6\",\"clock7\",\"clock8\",\"clock9\",\"clock10\",\"clock11\",\"clock12\",\"clock130\",\"clock230\",\"clock330\",\"clock430\",\"clock530\",\"clock630\",\"clock730\",\"clock830\",\"clock930\",\"clock1030\",\"clock1130\",\"clock1230\",\"female_sign\",\"male_sign\",\"staff_of_aesculapius\"]},{name:\"Flags\",emojis:[\"checkered_flag\",\"crossed_flags\",\"flag-ac\",\"flag-ad\",\"flag-ae\",\"flag-af\",\"flag-ag\",\"flag-ai\",\"flag-al\",\"flag-am\",\"flag-ao\",\"flag-aq\",\"flag-ar\",\"flag-as\",\"flag-at\",\"flag-au\",\"flag-aw\",\"flag-ax\",\"flag-az\",\"flag-ba\",\"flag-bb\",\"flag-bd\",\"flag-be\",\"flag-bf\",\"flag-bg\",\"flag-bh\",\"flag-bi\",\"flag-bj\",\"flag-bl\",\"flag-bm\",\"flag-bn\",\"flag-bo\",\"flag-bq\",\"flag-br\",\"flag-bs\",\"flag-bt\",\"flag-bv\",\"flag-bw\",\"flag-by\",\"flag-bz\",\"flag-ca\",\"flag-cc\",\"flag-cd\",\"flag-cf\",\"flag-cg\",\"flag-ch\",\"flag-ci\",\"flag-ck\",\"flag-cl\",\"flag-cm\",\"flag-cn\",\"flag-co\",\"flag-cp\",\"flag-cr\",\"flag-cu\",\"flag-cv\",\"flag-cw\",\"flag-cx\",\"flag-cy\",\"flag-cz\",\"flag-de\",\"flag-dg\",\"flag-dj\",\"flag-dk\",\"flag-dm\",\"flag-do\",\"flag-dz\",\"flag-ea\",\"flag-ec\",\"flag-ee\",\"flag-eg\",\"flag-eh\",\"flag-er\",\"flag-es\",\"flag-et\",\"flag-eu\",\"flag-fi\",\"flag-fj\",\"flag-fk\",\"flag-fm\",\"flag-fo\",\"flag-fr\",\"flag-ga\",\"flag-gb\",\"flag-gd\",\"flag-ge\",\"flag-gf\",\"flag-gg\",\"flag-gh\",\"flag-gi\",\"flag-gl\",\"flag-gm\",\"flag-gn\",\"flag-gp\",\"flag-gq\",\"flag-gr\",\"flag-gs\",\"flag-gt\",\"flag-gu\",\"flag-gw\",\"flag-gy\",\"flag-hk\",\"flag-hm\",\"flag-hn\",\"flag-hr\",\"flag-ht\",\"flag-hu\",\"flag-ic\",\"flag-id\",\"flag-ie\",\"flag-il\",\"flag-im\",\"flag-in\",\"flag-io\",\"flag-iq\",\"flag-ir\",\"flag-is\",\"flag-it\",\"flag-je\",\"flag-jm\",\"flag-jo\",\"flag-jp\",\"flag-ke\",\"flag-kg\",\"flag-kh\",\"flag-ki\",\"flag-km\",\"flag-kn\",\"flag-kp\",\"flag-kr\",\"flag-kw\",\"flag-ky\",\"flag-kz\",\"flag-la\",\"flag-lb\",\"flag-lc\",\"flag-li\",\"flag-lk\",\"flag-lr\",\"flag-ls\",\"flag-lt\",\"flag-lu\",\"flag-lv\",\"flag-ly\",\"flag-ma\",\"flag-mc\",\"flag-md\",\"flag-me\",\"flag-mf\",\"flag-mg\",\"flag-mh\",\"flag-mk\",\"flag-ml\",\"flag-mm\",\"flag-mn\",\"flag-mo\",\"flag-mp\",\"flag-mq\",\"flag-mr\",\"flag-ms\",\"flag-mt\",\"flag-mu\",\"flag-mv\",\"flag-mw\",\"flag-mx\",\"flag-my\",\"flag-mz\",\"flag-na\",\"flag-nc\",\"flag-ne\",\"flag-nf\",\"flag-ng\",\"flag-ni\",\"flag-nl\",\"flag-no\",\"flag-np\",\"flag-nr\",\"flag-nu\",\"flag-nz\",\"flag-om\",\"flag-pa\",\"flag-pe\",\"flag-pf\",\"flag-pg\",\"flag-ph\",\"flag-pk\",\"flag-pl\",\"flag-pm\",\"flag-pn\",\"flag-pr\",\"flag-ps\",\"flag-pt\",\"flag-pw\",\"flag-py\",\"flag-qa\",\"flag-re\",\"flag-ro\",\"flag-rs\",\"flag-ru\",\"flag-rw\",\"flag-sa\",\"flag-sb\",\"flag-sc\",\"flag-sd\",\"flag-se\",\"flag-sg\",\"flag-sh\",\"flag-si\",\"flag-sj\",\"flag-sk\",\"flag-sl\",\"flag-sm\",\"flag-sn\",\"flag-so\",\"flag-sr\",\"flag-ss\",\"flag-st\",\"flag-sv\",\"flag-sx\",\"flag-sy\",\"flag-sz\",\"flag-ta\",\"flag-tc\",\"flag-td\",\"flag-tf\",\"flag-tg\",\"flag-th\",\"flag-tj\",\"flag-tk\",\"flag-tl\",\"flag-tm\",\"flag-tn\",\"flag-to\",\"flag-tr\",\"flag-tt\",\"flag-tv\",\"flag-tw\",\"flag-tz\",\"flag-ua\",\"flag-ug\",\"flag-um\",\"flag-us\",\"flag-uy\",\"flag-uz\",\"flag-va\",\"flag-vc\",\"flag-ve\",\"flag-vg\",\"flag-vi\",\"flag-vn\",\"flag-vu\",\"flag-wf\",\"flag-ws\",\"flag-xk\",\"flag-ye\",\"flag-yt\",\"flag-za\",\"flag-zm\",\"flag-zw\",\"rainbow-flag\",\"triangular_flag_on_post\",\"waving_black_flag\",\"waving_white_flag\"]}],emojis:{\"100\":{name:\"Hundred Points Symbol\",unified:\"1F4AF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"100\",\"score\",\"perfect\",\"numbers\",\"century\",\"exam\",\"quiz\",\"test\",\"pass\",\"hundred\"],sheet:[17,32]},\"1234\":{name:\"Input Symbol for Numbers\",unified:\"1F522\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"1234\",\"numbers\",\"blue-square\"],sheet:[19,48]},dog:{name:\"Dog Face\",unified:\"1F436\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dog\",\"animal\",\"friend\",\"nature\",\"woof\",\"puppy\",\"pet\",\"faithful\"],sheet:[11,30]},green_apple:{name:\"Green Apple\",unified:\"1F34F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"green_apple\",\"fruit\",\"nature\"],sheet:[6,12]},watch:{name:\"Watch\",unified:\"231A\",variations:[\"231A-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"watch\",\"time\",\"accessories\"],sheet:[0,14]},waving_white_flag:{name:\"White Flag\",unified:\"1F3F3\",variations:[\"1F3F3-FE0F\"],added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"white_flag\",\"losing\",\"loser\",\"lost\",\"surrender\",\"give up\",\"fail\"],sheet:[10,13]},heart:{name:\"Heavy Black Heart\",unified:\"2764\",variations:[\"2764-FE0F\"],text:\"<3\",added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,emoticons:[\"<3\"],sheet:[3,30]},car:{name:\"Automobile\",unified:\"1F697\",short_names:[\"red_car\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"red_car\",\"red\",\"transportation\",\"vehicle\"],sheet:[25,29]},soccer:{name:\"Soccer Ball\",unified:\"26BD\",variations:[\"26BD-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"soccer\",\"sports\",\"football\"],sheet:[2,5]},grinning:{name:\"Grinning Face\",unified:\"1F600\",text:\":D\",added_in:\"6.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"grinning\",\"face\",\"smile\",\"happy\",\"joy\",\":D\",\"grin\"],sheet:[22,33]},yellow_heart:{name:\"Yellow Heart\",unified:\"1F49B\",text:\"<3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"yellow_heart\",\"love\",\"like\",\"affection\",\"valentines\"],sheet:[17,7]},iphone:{name:\"Mobile Phone\",unified:\"1F4F1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"iphone\",\"technology\",\"apple\",\"gadgets\",\"dial\"],sheet:[19,0]},waving_black_flag:{name:\"Black Flag\",unified:\"1F3F4\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"black_flag\",\"pirate\"],sheet:[10,14]},cat:{name:\"Cat Face\",unified:\"1F431\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cat\",\"animal\",\"meow\",\"nature\",\"pet\",\"kitten\"],sheet:[11,25]},taxi:{name:\"Taxi\",unified:\"1F695\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"taxi\",\"uber\",\"vehicle\",\"cars\",\"transportation\"],sheet:[25,27]},apple:{name:\"Red Apple\",unified:\"1F34E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"apple\",\"fruit\",\"mac\",\"school\"],sheet:[6,11]},basketball:{name:\"Basketball and Hoop\",unified:\"1F3C0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"basketball\",\"sports\",\"balls\",\"NBA\"],sheet:[8,27]},smiley:{name:\"Smiling Face with Open Mouth\",unified:\"1F603\",text:\":)\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,emoticons:[\"=)\",\"=-)\"],keywords:[\"smiley\",\"face\",\"happy\",\"joy\",\"haha\",\":D\",\":)\",\"smile\",\"funny\"],sheet:[22,36]},mouse:{name:\"Mouse Face\",unified:\"1F42D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mouse\",\"animal\",\"nature\",\"cheese_wedge\",\"rodent\"],sheet:[11,21]},calling:{name:\"Mobile Phone with Rightwards Arrow at Left\",unified:\"1F4F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"calling\",\"iphone\",\"incoming\"],sheet:[19,1]},blue_car:{name:\"Recreational Vehicle\",unified:\"1F699\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"blue_car\",\"transportation\",\"vehicle\"],sheet:[25,31]},pear:{name:\"Pear\",unified:\"1F350\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"pear\",\"fruit\",\"nature\",\"food\"],sheet:[6,13]},checkered_flag:{name:\"Checkered Flag\",unified:\"1F3C1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"checkered_flag\",\"contest\",\"finishline\",\"race\",\"gokart\"],sheet:[8,28]},green_heart:{name:\"Green Heart\",unified:\"1F49A\",text:\"<3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"green_heart\",\"love\",\"like\",\"affection\",\"valentines\"],sheet:[17,6]},football:{name:\"American Football\",unified:\"1F3C8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"football\",\"sports\",\"balls\",\"NFL\"],sheet:[9,6]},smile:{name:\"Smiling Face with Open Mouth and Smiling Eyes\",unified:\"1F604\",text:\":)\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,emoticons:[\"C:\",\"c:\",\":D\",\":-D\"],keywords:[\"smile\",\"face\",\"happy\",\"joy\",\"funny\",\"haha\",\"laugh\",\"like\",\":D\",\":)\"],sheet:[22,37]},tangerine:{name:\"Tangerine\",unified:\"1F34A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tangerine\",\"food\",\"fruit\",\"nature\",\"orange\"],sheet:[6,7]},bus:{name:\"Bus\",unified:\"1F68C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bus\",\"car\",\"vehicle\",\"transportation\"],sheet:[25,18]},baseball:{name:\"Baseball\",unified:\"26BE\",variations:[\"26BE-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"baseball\",\"sports\",\"balls\"],sheet:[2,6]},hamster:{name:\"Hamster Face\",unified:\"1F439\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"hamster\",\"animal\",\"nature\"],sheet:[11,33]},blue_heart:{name:\"Blue Heart\",unified:\"1F499\",text:\"<3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"blue_heart\",\"love\",\"like\",\"affection\",\"valentines\"],sheet:[17,5]},grin:{name:\"Grinning Face with Smiling Eyes\",unified:\"1F601\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"grin\",\"face\",\"happy\",\"smile\",\"joy\",\"kawaii\"],sheet:[22,34]},triangular_flag_on_post:{name:\"Triangular Flag on Post\",unified:\"1F6A9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"triangular_flag_on_post\",\"mark\",\"milestone\",\"place\"],sheet:[26,3]},computer:{name:\"Personal Computer\",unified:\"1F4BB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"computer\",\"technology\",\"laptop\",\"screen\",\"display\",\"monitor\"],sheet:[17,44]},tennis:{name:\"Tennis Racquet and Ball\",unified:\"1F3BE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tennis\",\"sports\",\"balls\",\"green\"],sheet:[8,25]},trolleybus:{name:\"Trolleybus\",unified:\"1F68E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"trolleybus\",\"bart\",\"transportation\",\"vehicle\"],sheet:[25,20]},laughing:{name:\"Smiling Face with Open Mouth and Tightly-Closed Eyes\",unified:\"1F606\",short_names:[\"satisfied\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,emoticons:[\":>\",\":->\"],keywords:[\"laughing\",\"happy\",\"joy\",\"lol\",\"satisfied\",\"haha\",\"face\",\"glad\",\"XD\",\"laugh\"],sheet:[22,39]},rabbit:{name:\"Rabbit Face\",unified:\"1F430\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rabbit\",\"animal\",\"nature\",\"pet\",\"spring\",\"magic\",\"bunny\"],sheet:[11,24]},lemon:{name:\"Lemon\",unified:\"1F34B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"lemon\",\"fruit\",\"nature\"],sheet:[6,8]},keyboard:{name:\"Keyboard\",unified:\"2328\",variations:[\"2328-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"keyboard\",\"technology\",\"computer\",\"type\",\"input\",\"text\"],sheet:[0,16]},\"rainbow-flag\":{name:\"Rainbow Flag\",unified:\"1F3F3-FE0F-200D-1F308\",added_in:\"7.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:true,keywords:[\"rainbow_flag\",\"flag\",\"rainbow\",\"pride\",\"gay\",\"lgbt\",\"glbt\",\"queer\",\"homosexual\",\"lesbian\",\"bisexual\",\"transgender\"],sheet:[40,48]},purple_heart:{name:\"Purple Heart\",unified:\"1F49C\",text:\"<3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"purple_heart\",\"love\",\"like\",\"affection\",\"valentines\"],sheet:[17,8]},black_heart:{name:\"Black Heart\",unified:\"1F5A4\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"black_heart\",\"evil\"],sheet:[22,7]},desktop_computer:{name:\"Desktop Computer\",unified:\"1F5A5\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"desktop_computer\",\"technology\",\"computing\",\"screen\"],sheet:[22,8]},fox_face:{name:\"Fox Face\",unified:\"1F98A\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"fox_face\",\"animal\",\"nature\",\"face\"],sheet:[30,39]},\"flag-af\":{name:\"Afghanistan\",unified:\"1F1E6-1F1EB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"afghanistan\",\"af\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[31,14]},racing_car:{name:\"Racing Car\",unified:\"1F3CE\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"racing_car\",\"sports\",\"race\",\"fast\",\"formula\",\"f1\"],sheet:[9,27]},volleyball:{name:\"Volleyball\",unified:\"1F3D0\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"volleyball\",\"sports\",\"balls\"],sheet:[9,29]},sweat_smile:{name:\"Smiling Face with Open Mouth and Cold Sweat\",unified:\"1F605\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sweat_smile\",\"face\",\"hot\",\"happy\",\"laugh\",\"sweat\",\"smile\",\"relief\"],sheet:[22,38]},banana:{name:\"Banana\",unified:\"1F34C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"banana\",\"fruit\",\"food\",\"monkey\"],sheet:[6,9]},\"flag-ax\":{name:\"Aland Islands\",unified:\"1F1E6-1F1FD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"aland_islands\",\"Åland\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[31,26]},rugby_football:{name:\"Rugby Football\",unified:\"1F3C9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rugby_football\",\"sports\",\"team\"],sheet:[9,7]},watermelon:{name:\"Watermelon\",unified:\"1F349\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"watermelon\",\"fruit\",\"food\",\"picnic\",\"summer\"],sheet:[6,6]},broken_heart:{name:\"Broken Heart\",unified:\"1F494\",text:\":(\",\">:-(\"],keywords:[\"angry\",\"mad\",\"face\",\"annoyed\",\"frustrated\"],sheet:[23,16]},water_polo:{name:\"Water Polo\",unified:\"1F93D\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F93D-1F3FB\",image:\"1f93d-1f3fb.png\",sheet_x:29,sheet_y:41,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F93D-1F3FC\",image:\"1f93d-1f3fc.png\",sheet_x:29,sheet_y:42,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F93D-1F3FD\",image:\"1f93d-1f3fd.png\",sheet_x:29,sheet_y:43,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F93D-1F3FE\",image:\"1f93d-1f3fe.png\",sheet_x:29,sheet_y:44,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F93D-1F3FF\",image:\"1f93d-1f3ff.png\",sheet_x:29,sheet_y:45,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},sheet:[29,40]},satellite:{name:\"Satellite\",unified:\"1F6F0\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"artificial_satellite\",\"communication\",\"gps\",\"orbit\",\"spaceflight\",\"NASA\",\"ISS\"],sheet:[27,25]},turtle:{name:\"Turtle\",unified:\"1F422\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"turtle\",\"animal\",\"slow\",\"nature\",\"tortoise\"],sheet:[11,10]},wastebasket:{name:\"Wastebasket\",unified:\"1F5D1\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"wastebasket\",\"bin\",\"trash\",\"rubbish\",\"garbage\",\"toss\"],sheet:[22,16]},\"woman-playing-water-polo\":{name:\"Woman Playing Water Polo\",unified:\"1F93D-200D-2640-FE0F\",added_in:\"9.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F93D-1F3FB-200D-2640-FE0F\",image:\"1f93d-1f3fb-200d-2640-fe0f.png\",sheet_x:48,sheet_y:2,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F93D-1F3FC-200D-2640-FE0F\",image:\"1f93d-1f3fc-200d-2640-fe0f.png\",sheet_x:48,sheet_y:3,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F93D-1F3FD-200D-2640-FE0F\",image:\"1f93d-1f3fd-200d-2640-fe0f.png\",sheet_x:48,sheet_y:4,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F93D-1F3FE-200D-2640-FE0F\",image:\"1f93d-1f3fe-200d-2640-fe0f.png\",sheet_x:48,sheet_y:5,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F93D-1F3FF-200D-2640-FE0F\",image:\"1f93d-1f3ff-200d-2640-fe0f.png\",sheet_x:48,sheet_y:6,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"woman_playing_water_polo\",\"sports\",\"pool\"],sheet:[48,1]},snake:{name:\"Snake\",unified:\"1F40D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"snake\",\"animal\",\"evil\",\"nature\",\"hiss\",\"python\"],sheet:[10,38]},rage:{name:\"Pouting Face\",unified:\"1F621\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rage\",\"angry\",\"mad\",\"hate\",\"despise\"],sheet:[23,17]},green_salad:{name:\"Green Salad\",unified:\"1F957\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"green_salad\",\"food\",\"healthy\",\"lettuce\"],sheet:[30,21]},oil_drum:{name:\"Oil Drum\",unified:\"1F6E2\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"oil_drum\",\"barrell\"],sheet:[27,18]},seat:{name:\"Seat\",unified:\"1F4BA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"seat\",\"sit\",\"airplane\",\"transport\",\"bus\",\"flight\",\"fly\"],sheet:[17,43]},biohazard_sign:{name:\"Biohazard Sign\",unified:\"2623\",variations:[\"2623-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"biohazard\",\"danger\"],sheet:[1,10]},\"flag-cm\":{name:\"Cameroon\",unified:\"1F1E8-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cameroon\",\"cm\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,9]},shallow_pan_of_food:{name:\"Shallow Pan of Food\",unified:\"1F958\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"shallow_pan_of_food\",\"food\",\"cooking\",\"casserole\",\"paella\"],sheet:[30,22]},\"man-playing-water-polo\":{name:\"Man Playing Water Polo\",unified:\"1F93D-200D-2642-FE0F\",added_in:\"9.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F93D-1F3FB-200D-2642-FE0F\",image:\"1f93d-1f3fb-200d-2642-fe0f.png\",sheet_x:48,sheet_y:8,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F93D-1F3FC-200D-2642-FE0F\",image:\"1f93d-1f3fc-200d-2642-fe0f.png\",sheet_x:48,sheet_y:9,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F93D-1F3FD-200D-2642-FE0F\",image:\"1f93d-1f3fd-200d-2642-fe0f.png\",sheet_x:48,sheet_y:10,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F93D-1F3FE-200D-2642-FE0F\",image:\"1f93d-1f3fe-200d-2642-fe0f.png\",sheet_x:48,sheet_y:11,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F93D-1F3FF-200D-2642-FE0F\",image:\"1f93d-1f3ff-200d-2642-fe0f.png\",sheet_x:48,sheet_y:12,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"man_playing_water_polo\",\"sports\",\"pool\"],sheet:[48,7]},canoe:{name:\"Canoe\",unified:\"1F6F6\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"canoe\",\"boat\",\"paddle\",\"water\",\"ship\"],sheet:[27,29]},\"flag-ca\":{name:\"Canada\",unified:\"1F1E8-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"canada\",\"ca\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,0]},lizard:{name:\"Lizard\",unified:\"1F98E\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"lizard\",\"animal\",\"nature\",\"reptile\"],sheet:[30,43]},mobile_phone_off:{name:\"Mobile Phone off\",unified:\"1F4F4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mobile_phone_off\",\"mute\",\"orange-square\",\"silence\",\"quiet\"],sheet:[19,3]},money_with_wings:{name:\"Money with Wings\",unified:\"1F4B8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"money_with_wings\",\"dollar\",\"bills\",\"payment\",\"sale\"],sheet:[17,41]},no_mouth:{name:\"Face Without Mouth\",unified:\"1F636\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"no_mouth\",\"face\",\"hellokitty\"],sheet:[23,38]},\"flag-ic\":{name:\"Canary Islands\",unified:\"1F1EE-1F1E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"canary_islands\",\"canary\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,18]},neutral_face:{name:\"Neutral Face\",unified:\"1F610\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,emoticons:[\":|\",\":-|\"],keywords:[\"neutral_face\",\"indifference\",\"meh\",\":|\",\"neutral\"],sheet:[23,0]},dollar:{name:\"Banknote with Dollar Sign\",unified:\"1F4B5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dollar\",\"money\",\"sales\",\"bill\",\"currency\"],sheet:[17,38]},vibration_mode:{name:\"Vibration Mode\",unified:\"1F4F3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"vibration_mode\",\"orange-square\",\"phone\"],sheet:[19,2]},spaghetti:{name:\"Spaghetti\",unified:\"1F35D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"spaghetti\",\"food\",\"italian\",\"noodle\"],sheet:[6,26]},\"woman-rowing-boat\":{name:\"Woman Rowing Boat\",unified:\"1F6A3-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F6A3-1F3FB-200D-2640-FE0F\",image:\"1f6a3-1f3fb-200d-2640-fe0f.png\",sheet_x:46,sheet_y:2,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F6A3-1F3FC-200D-2640-FE0F\",image:\"1f6a3-1f3fc-200d-2640-fe0f.png\",sheet_x:46,sheet_y:3,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F6A3-1F3FD-200D-2640-FE0F\",image:\"1f6a3-1f3fd-200d-2640-fe0f.png\",sheet_x:46,sheet_y:4,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F6A3-1F3FE-200D-2640-FE0F\",image:\"1f6a3-1f3fe-200d-2640-fe0f.png\",sheet_x:46,sheet_y:5,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F6A3-1F3FF-200D-2640-FE0F\",image:\"1f6a3-1f3ff-200d-2640-fe0f.png\",sheet_x:46,sheet_y:6,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"rowing_woman\",\"sports\",\"hobby\",\"water\",\"ship\",\"woman\",\"female\"],sheet:[46,1]},scorpion:{name:\"Scorpion\",unified:\"1F982\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"scorpion\",\"animal\",\"arachnid\"],sheet:[30,31]},boat:{name:\"Sailboat\",unified:\"26F5\",variations:[\"26F5-FE0F\"],short_names:[\"sailboat\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sailboat\",\"ship\",\"summer\",\"transportation\",\"water\",\"sailing\"],sheet:[2,22]},\"flag-ky\":{name:\"Cayman Islands\",unified:\"1F1F0-1F1FE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cayman_islands\",\"cayman\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,42]},rowboat:{name:\"Rowboat\",unified:\"1F6A3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F6A3-1F3FB\",image:\"1f6a3-1f3fb.png\",sheet_x:25,sheet_y:42,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F6A3-1F3FC\",image:\"1f6a3-1f3fc.png\",sheet_x:25,sheet_y:43,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F6A3-1F3FD\",image:\"1f6a3-1f3fd.png\",sheet_x:25,sheet_y:44,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F6A3-1F3FE\",image:\"1f6a3-1f3fe.png\",sheet_x:25,sheet_y:45,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F6A3-1F3FF\",image:\"1f6a3-1f3ff.png\",sheet_x:25,sheet_y:46,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},obsoleted_by:\"1F6A3-200D-2642-FE0F\",keywords:[\"rowing_man\",\"sports\",\"hobby\",\"water\",\"ship\"],sheet:[25,41]},expressionless:{name:\"Expressionless Face\",unified:\"1F611\",added_in:\"6.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"expressionless\",\"face\",\"indifferent\",\"-_-\",\"meh\",\"deadpan\"],sheet:[23,1]},\"u6709\":{name:\"Squared Cjk Unified Ideograph-6709\",unified:\"1F236\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"u6709\",\"orange-square\",\"chinese\",\"have\",\"kanji\"],sheet:[4,26]},yen:{name:\"Banknote with Yen Sign\",unified:\"1F4B4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"yen\",\"money\",\"sales\",\"japanese\",\"dollar\",\"currency\"],sheet:[17,37]},crab:{name:\"Crab\",unified:\"1F980\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"crab\",\"animal\",\"crustacean\"],sheet:[30,29]},ramen:{name:\"Steaming Bowl\",unified:\"1F35C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ramen\",\"food\",\"japanese\",\"noodle\",\"chopsticks\"],sheet:[6,25]},motor_boat:{name:\"Motor Boat\",unified:\"1F6E5\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"motor_boat\",\"ship\"],sheet:[27,21]},\"flag-cf\":{name:\"Central African Republic\",unified:\"1F1E8-1F1EB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"central_african_republic\",\"central\",\"african\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,3]},hushed:{name:\"Hushed Face\",unified:\"1F62F\",added_in:\"6.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"hushed\",\"face\",\"woo\",\"shh\"],sheet:[23,31]},\"u7121\":{name:\"Squared Cjk Unified Ideograph-7121\",unified:\"1F21A\",variations:[\"1F21A-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"u7121\",\"nothing\",\"chinese\",\"kanji\",\"japanese\",\"orange-square\"],sheet:[4,20]},speedboat:{name:\"Speedboat\",unified:\"1F6A4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"speedboat\",\"ship\",\"transportation\",\"vehicle\",\"summer\"],sheet:[25,47]},squid:{name:\"Squid\",unified:\"1F991\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"squid\",\"animal\",\"nature\",\"ocean\",\"sea\"],sheet:[30,46]},stew:{name:\"Pot of Food\",unified:\"1F372\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"stew\",\"food\",\"meat\",\"soup\"],sheet:[6,47]},horse_racing:{name:\"Horse Racing\",unified:\"1F3C7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F3C7-1F3FB\",image:\"1f3c7-1f3fb.png\",sheet_x:9,sheet_y:1,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F3C7-1F3FC\",image:\"1f3c7-1f3fc.png\",sheet_x:9,sheet_y:2,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F3C7-1F3FD\",image:\"1f3c7-1f3fd.png\",sheet_x:9,sheet_y:3,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F3C7-1F3FE\",image:\"1f3c7-1f3fe.png\",sheet_x:9,sheet_y:4,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F3C7-1F3FF\",image:\"1f3c7-1f3ff.png\",sheet_x:9,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"horse_racing\",\"animal\",\"betting\",\"competition\",\"gambling\",\"luck\"],sheet:[9,0]},euro:{name:\"Banknote with Euro Sign\",unified:\"1F4B6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"euro\",\"money\",\"sales\",\"dollar\",\"currency\"],sheet:[17,39]},passenger_ship:{name:\"Passenger Ship\",unified:\"1F6F3\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"passenger_ship\",\"yacht\",\"cruise\",\"ferry\"],sheet:[27,26]},pound:{name:\"Banknote with Pound Sign\",unified:\"1F4B7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"pound\",\"british\",\"sterling\",\"money\",\"sales\",\"bills\",\"uk\",\"england\",\"currency\"],sheet:[17,40]},fish_cake:{name:\"Fish Cake with Swirl Design\",unified:\"1F365\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fish_cake\",\"food\",\"japan\",\"sea\",\"beach\",\"narutomaki\",\"pink\",\"swirl\",\"kamaboko\",\"surimi\",\"ramen\"],sheet:[6,34]},octopus:{name:\"Octopus\",unified:\"1F419\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"octopus\",\"animal\",\"creature\",\"ocean\",\"sea\",\"nature\",\"beach\"],sheet:[11,1]},\"woman-biking\":{name:\"Woman Biking\",unified:\"1F6B4-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F6B4-1F3FB-200D-2640-FE0F\",image:\"1f6b4-1f3fb-200d-2640-fe0f.png\",sheet_x:46,sheet_y:14,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F6B4-1F3FC-200D-2640-FE0F\",image:\"1f6b4-1f3fc-200d-2640-fe0f.png\",sheet_x:46,sheet_y:15,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F6B4-1F3FD-200D-2640-FE0F\",image:\"1f6b4-1f3fd-200d-2640-fe0f.png\",sheet_x:46,sheet_y:16,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F6B4-1F3FE-200D-2640-FE0F\",image:\"1f6b4-1f3fe-200d-2640-fe0f.png\",sheet_x:46,sheet_y:17,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F6B4-1F3FF-200D-2640-FE0F\",image:\"1f6b4-1f3ff-200d-2640-fe0f.png\",sheet_x:46,sheet_y:18,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"biking_woman\",\"sports\",\"bike\",\"exercise\",\"hipster\",\"woman\",\"female\"],sheet:[46,13]},frowning:{name:\"Frowning Face with Open Mouth\",unified:\"1F626\",added_in:\"6.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"frowning\",\"face\",\"aw\",\"what\"],sheet:[23,22]},\"flag-td\":{name:\"Chad\",unified:\"1F1F9-1F1E9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"chad\",\"td\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,36]},\"u7533\":{name:\"Squared Cjk Unified Ideograph-7533\",unified:\"1F238\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"u7533\",\"chinese\",\"japanese\",\"kanji\",\"orange-square\"],sheet:[4,28]},\"u55b6\":{name:\"Squared Cjk Unified Ideograph-55b6\",unified:\"1F23A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"u55b6\",\"japanese\",\"opening hours\",\"orange-square\"],sheet:[4,30]},anguished:{name:\"Anguished Face\",unified:\"1F627\",added_in:\"6.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,emoticons:[\"D:\"],keywords:[\"anguished\",\"face\",\"stunned\",\"nervous\"],sheet:[23,23]},moneybag:{name:\"Money Bag\",unified:\"1F4B0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"moneybag\",\"dollar\",\"payment\",\"coins\",\"sale\"],sheet:[17,33]},sushi:{name:\"Sushi\",unified:\"1F363\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sushi\",\"food\",\"fish\",\"japanese\",\"rice\"],sheet:[6,32]},bicyclist:{name:\"Bicyclist\",unified:\"1F6B4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F6B4-1F3FB\",image:\"1f6b4-1f3fb.png\",sheet_x:26,sheet_y:15,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F6B4-1F3FC\",image:\"1f6b4-1f3fc.png\",sheet_x:26,sheet_y:16,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F6B4-1F3FD\",image:\"1f6b4-1f3fd.png\",sheet_x:26,sheet_y:17,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F6B4-1F3FE\",image:\"1f6b4-1f3fe.png\",sheet_x:26,sheet_y:18,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F6B4-1F3FF\",image:\"1f6b4-1f3ff.png\",sheet_x:26,sheet_y:19,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F6B4-200D-2642-FE0F\",keywords:[\"biking_man\",\"sports\",\"bike\",\"exercise\",\"hipster\"],sheet:[26,14]},shrimp:{name:\"Shrimp\",unified:\"1F990\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"shrimp\",\"animal\",\"ocean\",\"nature\",\"seafood\"],sheet:[30,45]},ferry:{name:\"Ferry\",unified:\"26F4\",added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"ferry\",\"boat\",\"ship\",\"yacht\"],sheet:[2,21]},\"flag-cl\":{name:\"Chile\",unified:\"1F1E8-1F1F1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"chile\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,8]},credit_card:{name:\"Credit Card\",unified:\"1F4B3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"credit_card\",\"money\",\"sales\",\"dollar\",\"bill\",\"payment\",\"shopping\"],sheet:[17,36]},\"flag-cn\":{name:\"CN\",unified:\"1F1E8-1F1F3\",short_names:[\"cn\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cn\",\"china\",\"chinese\",\"prc\",\"flag\",\"country\",\"nation\",\"banner\"],sheet:[32,10]},bento:{name:\"Bento Box\",unified:\"1F371\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bento\",\"food\",\"japanese\",\"box\"],sheet:[6,46]},ship:{name:\"Ship\",unified:\"1F6A2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ship\",\"transportation\",\"titanic\",\"deploy\"],sheet:[25,40]},open_mouth:{name:\"Face with Open Mouth\",unified:\"1F62E\",added_in:\"6.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,emoticons:[\":o\",\":-o\",\":O\",\":-O\"],keywords:[\"open_mouth\",\"face\",\"surprise\",\"impressed\",\"wow\",\"whoa\",\":O\"],sheet:[23,30]},\"u6708\":{name:\"Squared Cjk Unified Ideograph-6708\",unified:\"1F237\",variations:[\"1F237-FE0F\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[4,27]},tropical_fish:{name:\"Tropical Fish\",unified:\"1F420\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tropical_fish\",\"animal\",\"swim\",\"ocean\",\"beach\",\"nemo\"],sheet:[11,8]},\"woman-mountain-biking\":{name:\"Woman Mountain Biking\",unified:\"1F6B5-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F6B5-1F3FB-200D-2640-FE0F\",image:\"1f6b5-1f3fb-200d-2640-fe0f.png\",sheet_x:46,sheet_y:26,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F6B5-1F3FC-200D-2640-FE0F\",image:\"1f6b5-1f3fc-200d-2640-fe0f.png\",sheet_x:46,sheet_y:27,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F6B5-1F3FD-200D-2640-FE0F\",image:\"1f6b5-1f3fd-200d-2640-fe0f.png\",sheet_x:46,sheet_y:28,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F6B5-1F3FE-200D-2640-FE0F\",image:\"1f6b5-1f3fe-200d-2640-fe0f.png\",sheet_x:46,sheet_y:29,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F6B5-1F3FF-200D-2640-FE0F\",image:\"1f6b5-1f3ff-200d-2640-fe0f.png\",sheet_x:46,sheet_y:30,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"mountain_biking_woman\",\"transportation\",\"sports\",\"human\",\"race\",\"bike\",\"woman\",\"female\"],sheet:[46,25]},\"flag-cx\":{name:\"Christmas Island\",unified:\"1F1E8-1F1FD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"christmas_island\",\"christmas\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,17]},fish:{name:\"Fish\",unified:\"1F41F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fish\",\"animal\",\"food\",\"nature\"],sheet:[11,7]},eight_pointed_black_star:{name:\"Eight Pointed Black Star\",unified:\"2734\",variations:[\"2734-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,20]},anchor:{name:\"Anchor\",unified:\"2693\",variations:[\"2693-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"anchor\",\"ship\",\"ferry\",\"sea\",\"boat\"],sheet:[1,40]},gem:{name:\"Gem Stone\",unified:\"1F48E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"gem\",\"blue\",\"ruby\",\"diamond\",\"jewelry\"],sheet:[16,43]},astonished:{name:\"Astonished Face\",unified:\"1F632\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"astonished\",\"face\",\"xox\",\"surprised\",\"poisoned\"],sheet:[23,34]},mountain_bicyclist:{name:\"Mountain Bicyclist\",unified:\"1F6B5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F6B5-1F3FB\",image:\"1f6b5-1f3fb.png\",sheet_x:26,sheet_y:21,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F6B5-1F3FC\",image:\"1f6b5-1f3fc.png\",sheet_x:26,sheet_y:22,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F6B5-1F3FD\",image:\"1f6b5-1f3fd.png\",sheet_x:26,sheet_y:23,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F6B5-1F3FE\",image:\"1f6b5-1f3fe.png\",sheet_x:26,sheet_y:24,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F6B5-1F3FF\",image:\"1f6b5-1f3ff.png\",sheet_x:26,sheet_y:25,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F6B5-200D-2642-FE0F\",keywords:[\"mountain_biking_man\",\"transportation\",\"sports\",\"human\",\"race\",\"bike\"],sheet:[26,20]},curry:{name:\"Curry and Rice\",unified:\"1F35B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"curry\",\"food\",\"spicy\",\"hot\",\"indian\"],sheet:[6,24]},\"flag-cc\":{name:\"Cocos Islands\",unified:\"1F1E8-1F1E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cocos_islands\",\"cocos\",\"keeling\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,1]},blowfish:{name:\"Blowfish\",unified:\"1F421\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"blowfish\",\"animal\",\"nature\",\"food\",\"sea\",\"ocean\"],sheet:[11,9]},rice:{name:\"Cooked Rice\",unified:\"1F35A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rice\",\"food\",\"china\",\"asian\"],sheet:[6,23]},running_shirt_with_sash:{name:\"Running Shirt with Sash\",unified:\"1F3BD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"running_shirt_with_sash\",\"play\",\"pageant\"],sheet:[8,24]},dizzy_face:{name:\"Dizzy Face\",unified:\"1F635\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dizzy_face\",\"spent\",\"unconscious\",\"xox\",\"dizzy\"],sheet:[23,37]},construction:{name:\"Construction Sign\",unified:\"1F6A7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"construction\",\"wip\",\"progress\",\"caution\",\"warning\"],sheet:[26,1]},scales:{name:\"Scales\",unified:\"2696\",variations:[\"2696-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"balance_scale\",\"law\",\"fairness\",\"weight\"],sheet:[1,43]},vs:{name:\"Squared Vs\",unified:\"1F19A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"vs\",\"words\",\"orange-square\"],sheet:[4,17]},fuelpump:{name:\"Fuel Pump\",unified:\"26FD\",variations:[\"26FD-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fuelpump\",\"gas station\",\"petroleum\"],sheet:[2,32]},white_flower:{name:\"White Flower\",unified:\"1F4AE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"white_flower\",\"japanese\",\"spring\"],sheet:[17,31]},rice_ball:{name:\"Rice Ball\",unified:\"1F359\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rice_ball\",\"food\",\"japanese\"],sheet:[6,22]},dolphin:{name:\"Dolphin\",unified:\"1F42C\",short_names:[\"flipper\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dolphin\",\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"flipper\",\"fins\",\"beach\"],sheet:[11,20]},wrench:{name:\"Wrench\",unified:\"1F527\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"wrench\",\"tools\",\"diy\",\"ikea\",\"fix\",\"maintainer\"],sheet:[20,4]},\"flag-co\":{name:\"Colombia\",unified:\"1F1E8-1F1F4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"colombia\",\"co\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,11]},sports_medal:{name:\"Sports Medal\",unified:\"1F3C5\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"medal_sports\",\"award\",\"winning\"],sheet:[8,47]},flushed:{name:\"Flushed Face\",unified:\"1F633\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"flushed\",\"face\",\"blush\",\"shy\",\"flattered\"],sheet:[23,35]},hammer:{name:\"Hammer\",unified:\"1F528\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"hammer\",\"tools\",\"build\",\"create\"],sheet:[20,5]},ideograph_advantage:{name:\"Circled Ideograph Advantage\",unified:\"1F250\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ideograph_advantage\",\"chinese\",\"kanji\",\"obtain\",\"get\",\"circle\"],sheet:[4,31]},shark:{name:\"Shark\",unified:\"1F988\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"shark\",\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"jaws\",\"fins\",\"beach\"],sheet:[30,37]},medal:{name:\"Military Medal\",unified:\"1F396\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"medal_military\",\"award\",\"winning\",\"army\"],sheet:[7,37]},\"flag-km\":{name:\"Comoros\",unified:\"1F1F0-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"comoros\",\"km\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,37]},scream:{name:\"Face Screaming in Fear\",unified:\"1F631\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"scream\",\"face\",\"munch\",\"scared\",\"omg\"],sheet:[23,33]},busstop:{name:\"Bus Stop\",unified:\"1F68F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"busstop\",\"transportation\",\"wait\"],sheet:[25,21]},rice_cracker:{name:\"Rice Cracker\",unified:\"1F358\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rice_cracker\",\"food\",\"japanese\"],sheet:[6,21]},vertical_traffic_light:{name:\"Vertical Traffic Light\",unified:\"1F6A6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"vertical_traffic_light\",\"transportation\",\"driving\"],sheet:[26,0]},hammer_and_pick:{name:\"Hammer and Pick\",unified:\"2692\",added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"hammer_and_pick\",\"tools\",\"build\",\"create\"],sheet:[1,39]},\"flag-cg\":{name:\"Congo Brazzaville\",unified:\"1F1E8-1F1EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"congo_brazzaville\",\"congo\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,4]},whale:{name:\"Spouting Whale\",unified:\"1F433\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"whale\",\"animal\",\"nature\",\"sea\",\"ocean\"],sheet:[11,27]},secret:{name:\"Circled Ideograph Secret\",unified:\"3299\",variations:[\"3299-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[4,0]},fearful:{name:\"Fearful Face\",unified:\"1F628\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fearful\",\"face\",\"scared\",\"terrified\",\"nervous\",\"oops\",\"huh\"],sheet:[23,24]},first_place_medal:{name:\"First Place Medal\",unified:\"1F947\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"1st_place_medal\",\"award\",\"winning\",\"first\"],sheet:[30,9]},oden:{name:\"Oden\",unified:\"1F362\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"oden\",\"food\",\"japanese\"],sheet:[6,31]},\"whale2\":{name:\"Whale\",unified:\"1F40B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"whale2\",\"animal\",\"nature\",\"sea\",\"ocean\"],sheet:[10,36]},traffic_light:{name:\"Horizontal Traffic Light\",unified:\"1F6A5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"traffic_light\",\"transportation\",\"signal\"],sheet:[25,48]},\"flag-cd\":{name:\"Congo Kinshasa\",unified:\"1F1E8-1F1E9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"congo_kinshasa\",\"congo\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,2]},hammer_and_wrench:{name:\"Hammer and Wrench\",unified:\"1F6E0\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"hammer_and_wrench\",\"tools\",\"build\",\"create\"],sheet:[27,16]},second_place_medal:{name:\"Second Place Medal\",unified:\"1F948\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"2nd_place_medal\",\"award\",\"second\"],sheet:[30,10]},dango:{name:\"Dango\",unified:\"1F361\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dango\",\"food\",\"dessert\",\"sweet\",\"japanese\",\"barbecue\",\"meat\"],sheet:[6,30]},cold_sweat:{name:\"Face with Open Mouth and Cold Sweat\",unified:\"1F630\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cold_sweat\",\"face\",\"nervous\",\"sweat\"],sheet:[23,32]},congratulations:{name:\"Circled Ideograph Congratulation\",unified:\"3297\",variations:[\"3297-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,48]},cry:{name:\"Crying Face\",unified:\"1F622\",text:\":'(\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,emoticons:[\":'(\"],keywords:[\"cry\",\"face\",\"tears\",\"sad\",\"depressed\",\"upset\",\":'(\"],sheet:[23,18]},crocodile:{name:\"Crocodile\",unified:\"1F40A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"crocodile\",\"animal\",\"nature\",\"reptile\",\"lizard\",\"alligator\"],sheet:[10,35]},\"u5408\":{name:\"Squared Cjk Unified Ideograph-5408\",unified:\"1F234\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"u5408\",\"japanese\",\"chinese\",\"join\",\"kanji\",\"red-square\"],sheet:[4,24]},\"flag-ck\":{name:\"Cook Islands\",unified:\"1F1E8-1F1F0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cook_islands\",\"cook\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,7]},pick:{name:\"Pick\",unified:\"26CF\",added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"pick\",\"tools\",\"dig\"],sheet:[2,11]},shaved_ice:{name:\"Shaved Ice\",unified:\"1F367\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"shaved_ice\",\"hot\",\"dessert\",\"summer\"],sheet:[6,36]},third_place_medal:{name:\"Third Place Medal\",unified:\"1F949\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"3rd_place_medal\",\"award\",\"third\"],sheet:[30,11]},world_map:{name:\"World Map\",unified:\"1F5FA\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"world_map\",\"location\",\"direction\"],sheet:[22,27]},trophy:{name:\"Trophy\",unified:\"1F3C6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"trophy\",\"win\",\"award\",\"contest\",\"place\",\"ftw\",\"ceremony\"],sheet:[8,48]},\"flag-cr\":{name:\"Costa Rica\",unified:\"1F1E8-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"costa_rica\",\"costa\",\"rica\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,13]},moyai:{name:\"Moyai\",unified:\"1F5FF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"moyai\",\"rock\",\"easter island\",\"moai\"],sheet:[22,32]},\"u6e80\":{name:\"Squared Cjk Unified Ideograph-6e80\",unified:\"1F235\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"u6e80\",\"full\",\"chinese\",\"japanese\",\"red-square\",\"kanji\"],sheet:[4,25]},leopard:{name:\"Leopard\",unified:\"1F406\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"leopard\",\"animal\",\"nature\"],sheet:[10,31]},nut_and_bolt:{name:\"Nut and Bolt\",unified:\"1F529\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"nut_and_bolt\",\"handy\",\"tools\",\"fix\"],sheet:[20,6]},disappointed_relieved:{name:\"Disappointed but Relieved Face\",unified:\"1F625\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"disappointed_relieved\",\"face\",\"phew\",\"sweat\",\"nervous\"],sheet:[23,21]},ice_cream:{name:\"Ice Cream\",unified:\"1F368\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ice_cream\",\"food\",\"hot\",\"dessert\"],sheet:[6,37]},rosette:{name:\"Rosette\",unified:\"1F3F5\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"rosette\",\"flower\",\"decoration\",\"military\"],sheet:[10,15]},icecream:{name:\"Soft Ice Cream\",unified:\"1F366\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"icecream\",\"food\",\"hot\",\"dessert\",\"summer\"],sheet:[6,35]},\"u5272\":{name:\"Squared Cjk Unified Ideograph-5272\",unified:\"1F239\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"u5272\",\"cut\",\"divide\",\"chinese\",\"kanji\",\"pink-square\"],sheet:[4,29]},statue_of_liberty:{name:\"Statue of Liberty\",unified:\"1F5FD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"statue_of_liberty\",\"american\",\"newyork\"],sheet:[22,30]},gear:{name:\"Gear\",unified:\"2699\",variations:[\"2699-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"gear\",\"cog\"],sheet:[1,45]},drooling_face:{name:\"Drooling Face\",unified:\"1F924\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"drooling_face\",\"face\"],sheet:[28,30]},\"flag-ci\":{name:\"Cote Divoire\",unified:\"1F1E8-1F1EE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cote_divoire\",\"ivory\",\"coast\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,6]},\"tiger2\":{name:\"Tiger\",unified:\"1F405\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tiger2\",\"animal\",\"nature\",\"roar\"],sheet:[10,30]},sob:{name:\"Loudly Crying Face\",unified:\"1F62D\",text:\":'(\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sob\",\"face\",\"cry\",\"tears\",\"sad\",\"upset\",\"depressed\"],sheet:[23,29]},\"flag-hr\":{name:\"Croatia\",unified:\"1F1ED-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"croatia\",\"hr\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,15]},fountain:{name:\"Fountain\",unified:\"26F2\",variations:[\"26F2-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fountain\",\"photo\",\"summer\",\"water\",\"fresh\"],sheet:[2,19]},water_buffalo:{name:\"Water Buffalo\",unified:\"1F403\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"water_buffalo\",\"animal\",\"nature\",\"ox\",\"cow\"],sheet:[10,28]},cake:{name:\"Shortcake\",unified:\"1F370\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cake\",\"food\",\"dessert\"],sheet:[6,45]},\"u7981\":{name:\"Squared Cjk Unified Ideograph-7981\",unified:\"1F232\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"u7981\",\"kanji\",\"japanese\",\"chinese\",\"forbidden\",\"limit\",\"restricted\",\"red-square\"],sheet:[4,22]},reminder_ribbon:{name:\"Reminder Ribbon\",unified:\"1F397\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"reminder_ribbon\",\"sports\",\"cause\",\"support\",\"awareness\"],sheet:[7,38]},chains:{name:\"Chains\",unified:\"26D3\",added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"chains\",\"lock\",\"arrest\"],sheet:[2,13]},\"flag-cu\":{name:\"Cuba\",unified:\"1F1E8-1F1FA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cuba\",\"cu\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,14]},sweat:{name:\"Face with Cold Sweat\",unified:\"1F613\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sweat\",\"face\",\"hot\",\"sad\",\"tired\",\"exercise\"],sheet:[23,3]},gun:{name:\"Pistol\",unified:\"1F52B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"gun\",\"violence\",\"weapon\",\"pistol\",\"revolver\"],sheet:[20,8]},a:{name:\"Negative Squared Latin Capital Letter a\",unified:\"1F170\",variations:[\"1F170-FE0F\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[4,3]},ox:{name:\"Ox\",unified:\"1F402\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ox\",\"animal\",\"cow\",\"beef\"],sheet:[10,27]},tokyo_tower:{name:\"Tokyo Tower\",unified:\"1F5FC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tokyo_tower\",\"photo\",\"japanese\"],sheet:[22,29]},birthday:{name:\"Birthday Cake\",unified:\"1F382\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"birthday\",\"food\",\"dessert\",\"cake\"],sheet:[7,14]},ticket:{name:\"Ticket\",unified:\"1F3AB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ticket\",\"event\",\"concert\",\"pass\"],sheet:[8,6]},sleepy:{name:\"Sleepy Face\",unified:\"1F62A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sleepy\",\"face\",\"tired\",\"rest\",\"nap\"],sheet:[23,26]},european_castle:{name:\"European Castle\",unified:\"1F3F0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"european_castle\",\"building\",\"royalty\",\"history\"],sheet:[10,12]},custard:{name:\"Custard\",unified:\"1F36E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"custard\",\"dessert\",\"food\"],sheet:[6,43]},\"cow2\":{name:\"Cow\",unified:\"1F404\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cow2\",\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],sheet:[10,29]},bomb:{name:\"Bomb\",unified:\"1F4A3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bomb\",\"boom\",\"explode\",\"explosion\",\"terrorism\"],sheet:[17,15]},\"flag-cw\":{name:\"Curacao\",unified:\"1F1E8-1F1FC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"curacao\",\"curaçao\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,16]},b:{name:\"Negative Squared Latin Capital Letter B\",unified:\"1F171\",variations:[\"1F171-FE0F\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[4,4]},admission_tickets:{name:\"Admission Tickets\",unified:\"1F39F\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"tickets\",\"sports\",\"concert\",\"entrance\"],sheet:[7,43]},ab:{name:\"Negative Squared Ab\",unified:\"1F18E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ab\",\"red-square\",\"alphabet\"],sheet:[4,7]},sleeping:{name:\"Sleeping Face\",unified:\"1F634\",added_in:\"6.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sleeping\",\"face\",\"tired\",\"sleepy\",\"night\",\"zzz\"],sheet:[23,36]},deer:{name:\"Deer\",unified:\"1F98C\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"deer\",\"animal\",\"nature\",\"horns\",\"venison\"],sheet:[30,41]},\"flag-cy\":{name:\"Cyprus\",unified:\"1F1E8-1F1FE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cyprus\",\"cy\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,18]},lollipop:{name:\"Lollipop\",unified:\"1F36D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"lollipop\",\"food\",\"snack\",\"candy\",\"sweet\"],sheet:[6,42]},japanese_castle:{name:\"Japanese Castle\",unified:\"1F3EF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"japanese_castle\",\"photo\",\"building\"],sheet:[10,11]},hocho:{name:\"Hocho\",unified:\"1F52A\",short_names:[\"knife\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"hocho\",\"knife\",\"blade\",\"cutlery\",\"kitchen\",\"weapon\"],sheet:[20,7]},circus_tent:{name:\"Circus Tent\",unified:\"1F3AA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"circus_tent\",\"festival\",\"carnival\",\"party\"],sheet:[8,5]},cl:{name:\"Squared Cl\",unified:\"1F191\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cl\",\"alphabet\",\"words\",\"red-square\"],sheet:[4,8]},candy:{name:\"Candy\",unified:\"1F36C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"candy\",\"snack\",\"dessert\",\"sweet\",\"lolly\"],sheet:[6,41]},\"flag-cz\":{name:\"Czech Republic\",unified:\"1F1E8-1F1FF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"czech_republic\",\"cz\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,19]},stadium:{name:\"Stadium\",unified:\"1F3DF\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"stadium\",\"photo\",\"place\",\"sports\",\"concert\",\"venue\"],sheet:[9,44]},dagger_knife:{name:\"Dagger Knife\",unified:\"1F5E1\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"dagger\",\"weapon\"],sheet:[22,22]},face_with_rolling_eyes:{name:\"Face with Rolling Eyes\",unified:\"1F644\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"roll_eyes\",\"face\",\"eyeroll\",\"frustrated\"],sheet:[24,3]},juggling:{name:\"Juggling\",unified:\"1F939\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F939-1F3FB\",image:\"1f939-1f3fb.png\",sheet_x:29,sheet_y:33,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F939-1F3FC\",image:\"1f939-1f3fc.png\",sheet_x:29,sheet_y:34,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F939-1F3FD\",image:\"1f939-1f3fd.png\",sheet_x:29,sheet_y:35,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F939-1F3FE\",image:\"1f939-1f3fe.png\",sheet_x:29,sheet_y:36,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F939-1F3FF\",image:\"1f939-1f3ff.png\",sheet_x:29,sheet_y:37,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},sheet:[29,32]},dromedary_camel:{name:\"Dromedary Camel\",unified:\"1F42A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dromedary_camel\",\"animal\",\"hot\",\"desert\",\"hump\"],sheet:[11,18]},\"woman-juggling\":{name:\"Woman Juggling\",unified:\"1F939-200D-2640-FE0F\",added_in:\"9.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F939-1F3FB-200D-2640-FE0F\",image:\"1f939-1f3fb-200d-2640-fe0f.png\",sheet_x:47,sheet_y:37,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F939-1F3FC-200D-2640-FE0F\",image:\"1f939-1f3fc-200d-2640-fe0f.png\",sheet_x:47,sheet_y:38,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F939-1F3FD-200D-2640-FE0F\",image:\"1f939-1f3fd-200d-2640-fe0f.png\",sheet_x:47,sheet_y:39,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F939-1F3FE-200D-2640-FE0F\",image:\"1f939-1f3fe-200d-2640-fe0f.png\",sheet_x:47,sheet_y:40,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F939-1F3FF-200D-2640-FE0F\",image:\"1f939-1f3ff-200d-2640-fe0f.png\",sheet_x:47,sheet_y:41,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"woman_juggling\",\"juggle\",\"balance\",\"skill\",\"multitask\"],sheet:[47,36]},\"o2\":{name:\"Negative Squared Latin Capital Letter O\",unified:\"1F17E\",variations:[\"1F17E-FE0F\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[4,5]},\"flag-dk\":{name:\"Denmark\",unified:\"1F1E9-1F1F0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"denmark\",\"dk\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,23]},camel:{name:\"Bactrian Camel\",unified:\"1F42B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"camel\",\"animal\",\"nature\",\"hot\",\"desert\",\"hump\"],sheet:[11,19]},ferris_wheel:{name:\"Ferris Wheel\",unified:\"1F3A1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ferris_wheel\",\"photo\",\"carnival\",\"londoneye\"],sheet:[7,45]},thinking_face:{name:\"Thinking Face\",unified:\"1F914\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"thinking\",\"face\",\"hmmm\",\"think\",\"consider\"],sheet:[27,34]},crossed_swords:{name:\"Crossed Swords\",unified:\"2694\",variations:[\"2694-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"crossed_swords\",\"weapon\"],sheet:[1,41]},chocolate_bar:{name:\"Chocolate Bar\",unified:\"1F36B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"chocolate_bar\",\"food\",\"snack\",\"dessert\",\"sweet\"],sheet:[6,40]},\"man-juggling\":{name:\"Man Juggling\",unified:\"1F939-200D-2642-FE0F\",added_in:\"9.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F939-1F3FB-200D-2642-FE0F\",image:\"1f939-1f3fb-200d-2642-fe0f.png\",sheet_x:47,sheet_y:43,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F939-1F3FC-200D-2642-FE0F\",image:\"1f939-1f3fc-200d-2642-fe0f.png\",sheet_x:47,sheet_y:44,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F939-1F3FD-200D-2642-FE0F\",image:\"1f939-1f3fd-200d-2642-fe0f.png\",sheet_x:47,sheet_y:45,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F939-1F3FE-200D-2642-FE0F\",image:\"1f939-1f3fe-200d-2642-fe0f.png\",sheet_x:47,sheet_y:46,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F939-1F3FF-200D-2642-FE0F\",image:\"1f939-1f3ff-200d-2642-fe0f.png\",sheet_x:47,sheet_y:47,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"man_juggling\",\"juggle\",\"balance\",\"skill\",\"multitask\"],sheet:[47,42]},roller_coaster:{name:\"Roller Coaster\",unified:\"1F3A2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"roller_coaster\",\"carnival\",\"playground\",\"photo\",\"fun\"],sheet:[7,46]},sos:{name:\"Squared Sos\",unified:\"1F198\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sos\",\"help\",\"red-square\",\"words\",\"emergency\",\"911\"],sheet:[4,15]},shield:{name:\"Shield\",unified:\"1F6E1\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"shield\",\"protection\",\"security\"],sheet:[27,17]},\"flag-dj\":{name:\"Djibouti\",unified:\"1F1E9-1F1EF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"djibouti\",\"dj\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,22]},popcorn:{name:\"Popcorn\",unified:\"1F37F\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"popcorn\",\"food\",\"movie theater\",\"films\",\"snack\"],sheet:[7,11]},elephant:{name:\"Elephant\",unified:\"1F418\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"elephant\",\"animal\",\"nature\",\"nose\",\"th\",\"circus\"],sheet:[11,0]},lying_face:{name:\"Lying Face\",unified:\"1F925\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"lying_face\",\"face\",\"lie\",\"pinocchio\"],sheet:[28,31]},carousel_horse:{name:\"Carousel Horse\",unified:\"1F3A0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"carousel_horse\",\"photo\",\"carnival\"],sheet:[7,44]},performing_arts:{name:\"Performing Arts\",unified:\"1F3AD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"performing_arts\",\"acting\",\"theater\",\"drama\"],sheet:[8,8]},x:{name:\"Cross Mark\",unified:\"274C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"x\",\"no\",\"delete\",\"remove\",\"cancel\"],sheet:[3,23]},rhinoceros:{name:\"Rhinoceros\",unified:\"1F98F\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"rhinoceros\",\"animal\",\"nature\",\"horn\"],sheet:[30,44]},grimacing:{name:\"Grimacing Face\",unified:\"1F62C\",added_in:\"6.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"grimacing\",\"face\",\"grimace\",\"teeth\"],sheet:[23,28]},doughnut:{name:\"Doughnut\",unified:\"1F369\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"doughnut\",\"food\",\"dessert\",\"snack\",\"sweet\",\"donut\"],sheet:[6,38]},\"flag-dm\":{name:\"Dominica\",unified:\"1F1E9-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dominica\",\"dm\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,24]},smoking:{name:\"Smoking Symbol\",unified:\"1F6AC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"smoking\",\"kills\",\"tobacco\",\"cigarette\",\"joint\",\"smoke\"],sheet:[26,6]},o:{name:\"Heavy Large Circle\",unified:\"2B55\",variations:[\"2B55-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"o\",\"circle\",\"round\"],sheet:[3,45]},umbrella_on_ground:{name:\"Umbrella on Ground\",unified:\"26F1\",added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"parasol_on_ground\",\"weather\",\"summer\"],sheet:[2,18]},\"flag-do\":{name:\"Dominican Republic\",unified:\"1F1E9-1F1F4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dominican_republic\",\"dominican\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,25]},coffin:{name:\"Coffin\",unified:\"26B0\",variations:[\"26B0-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"coffin\",\"vampire\",\"dead\",\"die\",\"death\",\"rip\",\"graveyard\",\"cemetery\",\"casket\",\"funeral\",\"box\"],sheet:[2,3]},cookie:{name:\"Cookie\",unified:\"1F36A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cookie\",\"food\",\"snack\",\"oreo\",\"chocolate\",\"sweet\",\"dessert\"],sheet:[6,39]},gorilla:{name:\"Gorilla\",unified:\"1F98D\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"gorilla\",\"animal\",\"nature\",\"circus\"],sheet:[30,42]},art:{name:\"Artist Palette\",unified:\"1F3A8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"art\",\"design\",\"paint\",\"draw\",\"colors\"],sheet:[8,3]},zipper_mouth_face:{name:\"Zipper-Mouth Face\",unified:\"1F910\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"zipper_mouth_face\",\"face\",\"sealed\",\"zipper\",\"secret\"],sheet:[27,30]},octagonal_sign:{name:\"Octagonal Sign\",unified:\"1F6D1\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"stop_sign\",\"stop\"],sheet:[27,14]},nauseated_face:{name:\"Nauseated Face\",unified:\"1F922\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"nauseated_face\",\"face\",\"vomit\",\"gross\",\"green\",\"sick\",\"throw up\",\"ill\"],sheet:[28,28]},beach_with_umbrella:{name:\"Beach with Umbrella\",unified:\"1F3D6\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"beach_umbrella\",\"weather\",\"summer\",\"sunny\",\"sand\",\"mojito\"],sheet:[9,35]},\"flag-ec\":{name:\"Ecuador\",unified:\"1F1EA-1F1E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ecuador\",\"ec\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,28]},funeral_urn:{name:\"Funeral Urn\",unified:\"26B1\",variations:[\"26B1-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"funeral_urn\",\"dead\",\"die\",\"death\",\"rip\",\"ashes\"],sheet:[2,4]},glass_of_milk:{name:\"Glass of Milk\",unified:\"1F95B\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"milk_glass\",\"beverage\",\"drink\",\"cow\"],sheet:[30,25]},racehorse:{name:\"Horse\",unified:\"1F40E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"racehorse\",\"animal\",\"gamble\",\"luck\"],sheet:[10,39]},clapper:{name:\"Clapper Board\",unified:\"1F3AC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clapper\",\"movie\",\"film\",\"record\"],sheet:[8,7]},amphora:{name:\"Amphora\",unified:\"1F3FA\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"amphora\",\"vase\",\"jar\"],sheet:[10,19]},sneezing_face:{name:\"Sneezing Face\",unified:\"1F927\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"sneezing_face\",\"face\",\"gesundheit\",\"sneeze\",\"sick\",\"allergy\"],sheet:[28,38]},baby_bottle:{name:\"Baby Bottle\",unified:\"1F37C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"baby_bottle\",\"food\",\"container\",\"milk\"],sheet:[7,8]},\"pig2\":{name:\"Pig\",unified:\"1F416\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"pig2\",\"animal\",\"nature\"],sheet:[10,47]},desert_island:{name:\"Desert Island\",unified:\"1F3DD\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"desert_island\",\"photo\",\"tropical\",\"mojito\"],sheet:[9,42]},microphone:{name:\"Microphone\",unified:\"1F3A4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"microphone\",\"sound\",\"music\",\"PA\",\"sing\",\"talkshow\"],sheet:[7,48]},\"flag-eg\":{name:\"Egypt\",unified:\"1F1EA-1F1EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"egypt\",\"eg\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,30]},no_entry:{name:\"No Entry\",unified:\"26D4\",variations:[\"26D4-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"no_entry\",\"limit\",\"security\",\"privacy\",\"bad\",\"denied\",\"stop\",\"circle\"],sheet:[2,14]},name_badge:{name:\"Name Badge\",unified:\"1F4DB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"name_badge\",\"fire\",\"forbid\"],sheet:[18,27]},mask:{name:\"Face with Medical Mask\",unified:\"1F637\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mask\",\"face\",\"sick\",\"ill\",\"disease\"],sheet:[23,39]},coffee:{name:\"Hot Beverage\",unified:\"2615\",variations:[\"2615-FE0F\"],added_in:\"4.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"coffee\",\"beverage\",\"caffeine\",\"latte\",\"espresso\"],sheet:[1,0]},mountain:{name:\"Mountain\",unified:\"26F0\",added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"mountain\",\"photo\",\"nature\",\"environment\"],sheet:[2,17]},headphones:{name:\"Headphone\",unified:\"1F3A7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"headphones\",\"music\",\"score\",\"gadgets\"],sheet:[8,2]},goat:{name:\"Goat\",unified:\"1F410\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"goat\",\"animal\",\"nature\"],sheet:[10,41]},\"flag-sv\":{name:\"El Salvador\",unified:\"1F1F8-1F1FB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"el_salvador\",\"el\",\"salvador\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,30]},crystal_ball:{name:\"Crystal Ball\",unified:\"1F52E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"crystal_ball\",\"disco\",\"party\",\"magic\",\"circus\",\"fortune_teller\"],sheet:[20,11]},prayer_beads:{name:\"Prayer Beads\",unified:\"1F4FF\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"prayer_beads\",\"dhikr\",\"religious\"],sheet:[19,13]},\"flag-gq\":{name:\"Equatorial Guinea\",unified:\"1F1EC-1F1F6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"equatorial_guinea\",\"equatorial\",\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,5]},musical_score:{name:\"Musical Score\",unified:\"1F3BC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"musical_score\",\"treble\",\"clef\",\"compose\"],sheet:[8,23]},ram:{name:\"Ram\",unified:\"1F40F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ram\",\"animal\",\"sheep\",\"nature\"],sheet:[10,40]},tea:{name:\"Teacup Without Handle\",unified:\"1F375\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tea\",\"drink\",\"bowl\",\"breakfast\",\"green\",\"british\"],sheet:[7,1]},face_with_thermometer:{name:\"Face with Thermometer\",unified:\"1F912\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"face_with_thermometer\",\"sick\",\"temperature\",\"thermometer\",\"cold\",\"fever\"],sheet:[27,32]},snow_capped_mountain:{name:\"Snow Capped Mountain\",unified:\"1F3D4\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"mountain_snow\",\"photo\",\"nature\",\"environment\",\"winter\",\"cold\"],sheet:[9,33]},no_entry_sign:{name:\"No Entry Sign\",unified:\"1F6AB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"no_entry_sign\",\"forbid\",\"stop\",\"limit\",\"denied\",\"disallow\",\"circle\"],sheet:[26,5]},barber:{name:\"Barber Pole\",unified:\"1F488\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"barber\",\"hair\",\"salon\",\"style\"],sheet:[16,37]},face_with_head_bandage:{name:\"Face with Head-Bandage\",unified:\"1F915\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"face_with_head_bandage\",\"injured\",\"clumsy\",\"bandage\",\"hurt\"],sheet:[27,35]},mount_fuji:{name:\"Mount Fuji\",unified:\"1F5FB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mount_fuji\",\"photo\",\"mountain\",\"nature\",\"japanese\"],sheet:[22,28]},sheep:{name:\"Sheep\",unified:\"1F411\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sheep\",\"animal\",\"nature\",\"wool\",\"shipit\"],sheet:[10,42]},\"flag-er\":{name:\"Eritrea\",unified:\"1F1EA-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"eritrea\",\"er\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,32]},sake:{name:\"Sake Bottle and Cup\",unified:\"1F376\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sake\",\"wine\",\"drink\",\"drunk\",\"beverage\",\"japanese\",\"alcohol\",\"booze\"],sheet:[7,2]},musical_keyboard:{name:\"Musical Keyboard\",unified:\"1F3B9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"musical_keyboard\",\"piano\",\"instrument\",\"compose\"],sheet:[8,20]},smiling_imp:{name:\"Smiling Face with Horns\",unified:\"1F608\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"smiling_imp\",\"devil\",\"horns\"],sheet:[22,41]},\"dog2\":{name:\"Dog\",unified:\"1F415\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dog2\",\"animal\",\"nature\",\"friend\",\"doge\",\"pet\",\"faithful\"],sheet:[10,46]},beer:{name:\"Beer Mug\",unified:\"1F37A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"beer\",\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],sheet:[7,6]},alembic:{name:\"Alembic\",unified:\"2697\",variations:[\"2697-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"alembic\",\"distilling\",\"science\",\"experiment\",\"chemistry\"],sheet:[1,44]},\"flag-ee\":{name:\"Estonia\",unified:\"1F1EA-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"estonia\",\"ee\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,29]},volcano:{name:\"Volcano\",unified:\"1F30B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"volcano\",\"photo\",\"nature\",\"disaster\"],sheet:[4,44]},drum_with_drumsticks:{name:\"Drum with Drumsticks\",unified:\"1F941\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"drum\",\"music\",\"instrument\",\"drumsticks\"],sheet:[30,4]},anger:{name:\"Anger Symbol\",unified:\"1F4A2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"anger\",\"angry\",\"mad\"],sheet:[17,14]},saxophone:{name:\"Saxophone\",unified:\"1F3B7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"saxophone\",\"music\",\"instrument\",\"jazz\",\"blues\"],sheet:[8,18]},poodle:{name:\"Poodle\",unified:\"1F429\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"poodle\",\"dog\",\"animal\",\"101\",\"nature\",\"pet\"],sheet:[11,17]},hotsprings:{name:\"Hot Springs\",unified:\"2668\",variations:[\"2668-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[1,36]},\"flag-et\":{name:\"Ethiopia\",unified:\"1F1EA-1F1F9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ethiopia\",\"et\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,34]},desert:{name:\"Desert\",unified:\"1F3DC\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"desert\",\"photo\",\"warm\",\"saharah\"],sheet:[9,41]},beers:{name:\"Clinking Beer Mugs\",unified:\"1F37B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"beers\",\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],sheet:[7,7]},imp:{name:\"Imp\",unified:\"1F47F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"imp\",\"devil\",\"angry\",\"horns\"],sheet:[15,47]},telescope:{name:\"Telescope\",unified:\"1F52D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"telescope\",\"stars\",\"space\",\"zoom\",\"science\",\"astronomy\"],sheet:[20,10]},japanese_ogre:{name:\"Japanese Ogre\",unified:\"1F479\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"japanese_ogre\",\"monster\",\"red\",\"mask\",\"halloween\",\"scary\",\"creepy\",\"devil\",\"demon\",\"japanese\",\"ogre\"],sheet:[15,36]},no_pedestrians:{name:\"No Pedestrians\",unified:\"1F6B7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"no_pedestrians\",\"rules\",\"crossing\",\"walking\",\"circle\"],sheet:[26,32]},clinking_glasses:{name:\"Clinking Glasses\",unified:\"1F942\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"clinking_glasses\",\"beverage\",\"drink\",\"party\",\"alcohol\",\"celebrate\",\"cheers\"],sheet:[30,5]},camping:{name:\"Camping\",unified:\"1F3D5\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"camping\",\"photo\",\"outdoors\",\"tent\"],sheet:[9,34]},\"cat2\":{name:\"Cat\",unified:\"1F408\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cat2\",\"animal\",\"meow\",\"pet\",\"cats\"],sheet:[10,33]},trumpet:{name:\"Trumpet\",unified:\"1F3BA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"trumpet\",\"music\",\"brass\"],sheet:[8,21]},\"flag-eu\":{name:\"EU\",unified:\"1F1EA-1F1FA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"eu\",\"european\",\"union\",\"flag\",\"banner\"],sheet:[32,35]},microscope:{name:\"Microscope\",unified:\"1F52C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"microscope\",\"laboratory\",\"experiment\",\"zoomin\",\"science\",\"study\"],sheet:[20,9]},wine_glass:{name:\"Wine Glass\",unified:\"1F377\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"wine_glass\",\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"booze\"],sheet:[7,3]},japanese_goblin:{name:\"Japanese Goblin\",unified:\"1F47A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"japanese_goblin\",\"red\",\"evil\",\"mask\",\"monster\",\"scary\",\"creepy\",\"japanese\",\"goblin\"],sheet:[15,37]},tent:{name:\"Tent\",unified:\"26FA\",variations:[\"26FA-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tent\",\"photo\",\"camping\",\"outdoors\"],sheet:[2,31]},rooster:{name:\"Rooster\",unified:\"1F413\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rooster\",\"animal\",\"nature\",\"chicken\"],sheet:[10,44]},do_not_litter:{name:\"Do Not Litter Symbol\",unified:\"1F6AF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"do_not_litter\",\"trash\",\"bin\",\"garbage\",\"circle\"],sheet:[26,9]},hole:{name:\"Hole\",unified:\"1F573\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"hole\",\"embarrassing\"],sheet:[21,10]},\"flag-fk\":{name:\"Falkland Islands\",unified:\"1F1EB-1F1F0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"falkland_islands\",\"falkland\",\"islands\",\"malvinas\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,38]},guitar:{name:\"Guitar\",unified:\"1F3B8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"guitar\",\"music\",\"instrument\"],sheet:[8,19]},tumbler_glass:{name:\"Tumbler Glass\",unified:\"1F943\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"tumbler_glass\",\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"liquor\",\"booze\",\"bourbon\",\"scotch\",\"whisky\",\"glass\",\"shot\"],sheet:[30,6]},\"flag-fo\":{name:\"Faroe Islands\",unified:\"1F1EB-1F1F4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"faroe_islands\",\"faroe\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,40]},no_bicycles:{name:\"No Bicycles\",unified:\"1F6B3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"no_bicycles\",\"cyclist\",\"prohibited\",\"circle\"],sheet:[26,13]},violin:{name:\"Violin\",unified:\"1F3BB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"violin\",\"music\",\"instrument\",\"orchestra\",\"symphony\"],sheet:[8,22]},hankey:{name:\"Pile of Poo\",unified:\"1F4A9\",short_names:[\"poop\",\"shit\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"poop\",\"hankey\",\"shitface\",\"fail\",\"turd\",\"shit\"],sheet:[17,21]},pill:{name:\"Pill\",unified:\"1F48A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"pill\",\"health\",\"medicine\",\"doctor\",\"pharmacy\",\"drug\"],sheet:[16,39]},turkey:{name:\"Turkey\",unified:\"1F983\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"turkey\",\"animal\",\"bird\"],sheet:[30,32]},railway_track:{name:\"Railway Track\",unified:\"1F6E4\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"railway_track\",\"train\",\"transportation\"],sheet:[27,20]},cocktail:{name:\"Cocktail Glass\",unified:\"1F378\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cocktail\",\"drink\",\"drunk\",\"alcohol\",\"beverage\",\"booze\",\"mojito\"],sheet:[7,4]},game_die:{name:\"Game Die\",unified:\"1F3B2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"game_die\",\"dice\",\"random\",\"tabletop\",\"play\",\"luck\"],sheet:[8,13]},dove_of_peace:{name:\"Dove of Peace\",unified:\"1F54A\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"dove\",\"animal\",\"bird\"],sheet:[20,28]},motorway:{name:\"Motorway\",unified:\"1F6E3\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"motorway\",\"road\",\"cupertino\",\"interstate\",\"highway\"],sheet:[27,19]},\"flag-fj\":{name:\"Fiji\",unified:\"1F1EB-1F1EF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fiji\",\"fj\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,37]},\"non-potable_water\":{name:\"Non-Potable Water Symbol\",unified:\"1F6B1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"non-potable_water\",\"drink\",\"faucet\",\"tap\",\"circle\"],sheet:[26,11]},ghost:{name:\"Ghost\",unified:\"1F47B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ghost\",\"halloween\",\"spooky\",\"scary\"],sheet:[15,38]},syringe:{name:\"Syringe\",unified:\"1F489\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"syringe\",\"health\",\"hospital\",\"drugs\",\"blood\",\"medicine\",\"needle\",\"doctor\",\"nurse\"],sheet:[16,38]},building_construction:{name:\"Building Construction\",unified:\"1F3D7\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"building_construction\",\"wip\",\"working\",\"progress\"],sheet:[9,36]},\"flag-fi\":{name:\"Finland\",unified:\"1F1EB-1F1EE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"finland\",\"fi\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,36]},tropical_drink:{name:\"Tropical Drink\",unified:\"1F379\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tropical_drink\",\"beverage\",\"cocktail\",\"summer\",\"beach\",\"alcohol\",\"booze\",\"mojito\"],sheet:[7,5]},thermometer:{name:\"Thermometer\",unified:\"1F321\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"thermometer\",\"weather\",\"temperature\",\"hot\",\"cold\"],sheet:[5,17]},skull:{name:\"Skull\",unified:\"1F480\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"skull\",\"dead\",\"skeleton\",\"creepy\",\"death\"],sheet:[15,48]},dart:{name:\"Direct Hit\",unified:\"1F3AF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dart\",\"game\",\"play\",\"bar\"],sheet:[8,10]},\"rabbit2\":{name:\"Rabbit\",unified:\"1F407\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rabbit2\",\"animal\",\"nature\",\"pet\",\"magic\",\"spring\"],sheet:[10,32]},underage:{name:\"No One Under Eighteen Symbol\",unified:\"1F51E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"underage\",\"18\",\"drink\",\"pub\",\"night\",\"minor\",\"circle\"],sheet:[19,44]},\"flag-fr\":{name:\"FR\",unified:\"1F1EB-1F1F7\",short_names:[\"fr\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fr\",\"banner\",\"flag\",\"nation\",\"france\",\"french\",\"country\"],sheet:[32,41]},factory:{name:\"Factory\",unified:\"1F3ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"factory\",\"building\",\"industry\",\"pollution\",\"smoke\"],sheet:[10,9]},\"mouse2\":{name:\"Mouse\",unified:\"1F401\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mouse2\",\"animal\",\"nature\",\"rodent\"],sheet:[10,26]},toilet:{name:\"Toilet\",unified:\"1F6BD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"toilet\",\"restroom\",\"wc\",\"washroom\",\"bathroom\",\"potty\"],sheet:[26,38]},no_mobile_phones:{name:\"No Mobile Phones\",unified:\"1F4F5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"no_mobile_phones\",\"iphone\",\"mute\",\"circle\"],sheet:[19,4]},bowling:{name:\"Bowling\",unified:\"1F3B3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bowling\",\"sports\",\"fun\",\"play\"],sheet:[8,14]},champagne:{name:\"Bottle with Popping Cork\",unified:\"1F37E\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"champagne\",\"drink\",\"wine\",\"bottle\",\"celebration\"],sheet:[7,10]},skull_and_crossbones:{name:\"Skull and Crossbones\",unified:\"2620\",variations:[\"2620-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"skull_and_crossbones\",\"poison\",\"danger\",\"deadly\",\"scary\",\"death\",\"pirate\",\"evil\"],sheet:[1,8]},spoon:{name:\"Spoon\",unified:\"1F944\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"spoon\",\"cutlery\",\"kitchen\",\"tableware\"],sheet:[30,7]},video_game:{name:\"Video Game\",unified:\"1F3AE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"video_game\",\"play\",\"console\",\"PS4\",\"controller\"],sheet:[8,9]},no_smoking:{name:\"No Smoking Symbol\",unified:\"1F6AD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"no_smoking\",\"cigarette\",\"blue-square\",\"smell\",\"smoke\"],sheet:[26,7]},\"flag-gf\":{name:\"French Guiana\",unified:\"1F1EC-1F1EB\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"french_guiana\",\"french\",\"guiana\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,46]},alien:{name:\"Extraterrestrial Alien\",unified:\"1F47D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"alien\",\"UFO\",\"paul\",\"weird\",\"outer_space\"],sheet:[15,45]},house:{name:\"House Building\",unified:\"1F3E0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"house\",\"building\",\"home\"],sheet:[9,45]},rat:{name:\"Rat\",unified:\"1F400\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rat\",\"animal\",\"mouse\",\"rodent\"],sheet:[10,25]},potable_water:{name:\"Potable Water Symbol\",unified:\"1F6B0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"potable_water\",\"blue-square\",\"liquid\",\"restroom\",\"cleaning\",\"faucet\"],sheet:[26,10]},chipmunk:{name:\"Chipmunk\",unified:\"1F43F\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"chipmunk\",\"animal\",\"nature\",\"rodent\",\"squirrel\"],sheet:[11,39]},exclamation:{name:\"Heavy Exclamation Mark Symbol\",unified:\"2757\",variations:[\"2757-FE0F\"],short_names:[\"heavy_exclamation_mark\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"exclamation\",\"heavy_exclamation_mark\",\"danger\",\"surprise\",\"punctuation\",\"wow\",\"warning\"],sheet:[3,28]},\"flag-pf\":{name:\"French Polynesia\",unified:\"1F1F5-1F1EB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"french_polynesia\",\"french\",\"polynesia\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,44]},space_invader:{name:\"Alien Monster\",unified:\"1F47E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"space_invader\",\"game\",\"arcade\",\"play\"],sheet:[15,46]},slot_machine:{name:\"Slot Machine\",unified:\"1F3B0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"slot_machine\",\"bet\",\"gamble\",\"vegas\",\"fruit machine\",\"luck\",\"casino\"],sheet:[8,11]},shower:{name:\"Shower\",unified:\"1F6BF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"shower\",\"clean\",\"water\",\"bathroom\"],sheet:[26,40]},fork_and_knife:{name:\"Fork and Knife\",unified:\"1F374\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fork_and_knife\",\"cutlery\",\"kitchen\"],sheet:[7,0]},house_with_garden:{name:\"House with Garden\",unified:\"1F3E1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"house_with_garden\",\"home\",\"plant\",\"nature\"],sheet:[9,46]},feet:{name:\"Paw Prints\",unified:\"1F43E\",short_names:[\"paw_prints\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"paw_prints\",\"animal\",\"tracking\",\"footprints\",\"dog\",\"cat\",\"pet\",\"feet\"],sheet:[11,38]},grey_exclamation:{name:\"White Exclamation Mark Ornament\",unified:\"2755\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"grey_exclamation\",\"surprise\",\"punctuation\",\"gray\",\"wow\",\"warning\"],sheet:[3,27]},\"man-bouncing-ball\":{name:\"Man Bouncing Ball\",unified:\"26F9-FE0F-200D-2642-FE0F\",added_in:\"5.2\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"26F9-1F3FB-200D-2642-FE0F\",image:\"26f9-1f3fb-200d-2642-fe0f.png\",sheet_x:48,sheet_y:32,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"26F9-1F3FC-200D-2642-FE0F\",image:\"26f9-1f3fc-200d-2642-fe0f.png\",sheet_x:48,sheet_y:33,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"26F9-1F3FD-200D-2642-FE0F\",image:\"26f9-1f3fd-200d-2642-fe0f.png\",sheet_x:48,sheet_y:34,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"26F9-1F3FE-200D-2642-FE0F\",image:\"26f9-1f3fe-200d-2642-fe0f.png\",sheet_x:48,sheet_y:35,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"26F9-1F3FF-200D-2642-FE0F\",image:\"26f9-1f3ff-200d-2642-fe0f.png\",sheet_x:48,sheet_y:36,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"26F9\",sheet:[48,31]},house_buildings:{name:\"House Buildings\",unified:\"1F3D8\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"houses\",\"buildings\",\"photo\"],sheet:[9,37]},knife_fork_plate:{name:\"Fork and Knife with Plate\",unified:\"1F37D\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"plate_with_cutlery\",\"food\",\"eat\",\"meal\",\"lunch\",\"dinner\",\"restaurant\"],sheet:[7,9]},robot_face:{name:\"Robot Face\",unified:\"1F916\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"robot\",\"computer\",\"machine\",\"bot\"],sheet:[27,36]},bathtub:{name:\"Bathtub\",unified:\"1F6C1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bathtub\",\"clean\",\"shower\",\"bathroom\"],sheet:[26,47]},\"flag-tf\":{name:\"French Southern Territories\",unified:\"1F1F9-1F1EB\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"french_southern_territories\",\"french\",\"southern\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,37]},\"flag-ga\":{name:\"Gabon\",unified:\"1F1EC-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"gabon\",\"ga\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,42]},\"man-lifting-weights\":{name:\"Man Lifting Weights\",unified:\"1F3CB-FE0F-200D-2642-FE0F\",added_in:\"7.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F3CB-1F3FB-200D-2642-FE0F\",image:\"1f3cb-1f3fb-200d-2642-fe0f.png\",sheet_x:40,sheet_y:31,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F3CB-1F3FC-200D-2642-FE0F\",image:\"1f3cb-1f3fc-200d-2642-fe0f.png\",sheet_x:40,sheet_y:32,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F3CB-1F3FD-200D-2642-FE0F\",image:\"1f3cb-1f3fd-200d-2642-fe0f.png\",sheet_x:40,sheet_y:33,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F3CB-1F3FE-200D-2642-FE0F\",image:\"1f3cb-1f3fe-200d-2642-fe0f.png\",sheet_x:40,sheet_y:34,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F3CB-1F3FF-200D-2642-FE0F\",image:\"1f3cb-1f3ff-200d-2642-fe0f.png\",sheet_x:40,sheet_y:35,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F3CB\",sheet:[40,30]},bath:{name:\"Bath\",unified:\"1F6C0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F6C0-1F3FB\",image:\"1f6c0-1f3fb.png\",sheet_x:26,sheet_y:42,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F6C0-1F3FC\",image:\"1f6c0-1f3fc.png\",sheet_x:26,sheet_y:43,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F6C0-1F3FD\",image:\"1f6c0-1f3fd.png\",sheet_x:26,sheet_y:44,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F6C0-1F3FE\",image:\"1f6c0-1f3fe.png\",sheet_x:26,sheet_y:45,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F6C0-1F3FF\",image:\"1f6c0-1f3ff.png\",sheet_x:26,sheet_y:46,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"bath\",\"clean\",\"shower\",\"bathroom\"],sheet:[26,41]},derelict_house_building:{name:\"Derelict House Building\",unified:\"1F3DA\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"derelict_house\",\"abandon\",\"evict\",\"broken\",\"building\"],sheet:[9,39]},dragon:{name:\"Dragon\",unified:\"1F409\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dragon\",\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],sheet:[10,34]},jack_o_lantern:{name:\"Jack-O-Lantern\",unified:\"1F383\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"jack_o_lantern\",\"halloween\",\"light\",\"pumpkin\",\"creepy\",\"fall\"],sheet:[7,15]},question:{name:\"Black Question Mark Ornament\",unified:\"2753\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"question\",\"doubt\",\"confused\"],sheet:[3,25]},smiley_cat:{name:\"Smiling Cat Face with Open Mouth\",unified:\"1F63A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"smiley_cat\",\"animal\",\"cats\",\"happy\",\"smile\"],sheet:[23,42]},dragon_face:{name:\"Dragon Face\",unified:\"1F432\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dragon_face\",\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],sheet:[11,26]},bellhop_bell:{name:\"Bellhop Bell\",unified:\"1F6CE\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"bellhop_bell\",\"service\"],sheet:[27,11]},grey_question:{name:\"White Question Mark Ornament\",unified:\"2754\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"grey_question\",\"doubts\",\"gray\",\"huh\",\"confused\"],sheet:[3,26]},office:{name:\"Office Building\",unified:\"1F3E2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"office\",\"building\",\"bureau\",\"work\"],sheet:[9,47]},\"flag-gm\":{name:\"Gambia\",unified:\"1F1EC-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"gambia\",\"gm\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,2]},\"man-golfing\":{name:\"Man Golfing\",unified:\"1F3CC-FE0F-200D-2642-FE0F\",added_in:\"7.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F3CC-1F3FB-200D-2642-FE0F\",image:\"1f3cc-1f3fb-200d-2642-fe0f.png\",sheet_x:40,sheet_y:43,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F3CC-1F3FC-200D-2642-FE0F\",image:\"1f3cc-1f3fc-200d-2642-fe0f.png\",sheet_x:40,sheet_y:44,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F3CC-1F3FD-200D-2642-FE0F\",image:\"1f3cc-1f3fd-200d-2642-fe0f.png\",sheet_x:40,sheet_y:45,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F3CC-1F3FE-200D-2642-FE0F\",image:\"1f3cc-1f3fe-200d-2642-fe0f.png\",sheet_x:40,sheet_y:46,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F3CC-1F3FF-200D-2642-FE0F\",image:\"1f3cc-1f3ff-200d-2642-fe0f.png\",sheet_x:40,sheet_y:47,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F3CC\",sheet:[40,42]},\"flag-ge\":{name:\"Georgia\",unified:\"1F1EC-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"georgia\",\"ge\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,45]},key:{name:\"Key\",unified:\"1F511\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"key\",\"lock\",\"door\",\"password\"],sheet:[19,31]},bangbang:{name:\"Double Exclamation Mark\",unified:\"203C\",variations:[\"203C-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,2]},cactus:{name:\"Cactus\",unified:\"1F335\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cactus\",\"vegetable\",\"plant\",\"nature\"],sheet:[5,35]},department_store:{name:\"Department Store\",unified:\"1F3EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"department_store\",\"building\",\"shopping\",\"mall\"],sheet:[10,8]},\"man-surfing\":{name:\"Man Surfing\",unified:\"1F3C4-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F3C4-1F3FB-200D-2642-FE0F\",image:\"1f3c4-1f3fb-200d-2642-fe0f.png\",sheet_x:40,sheet_y:7,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F3C4-1F3FC-200D-2642-FE0F\",image:\"1f3c4-1f3fc-200d-2642-fe0f.png\",sheet_x:40,sheet_y:8,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F3C4-1F3FD-200D-2642-FE0F\",image:\"1f3c4-1f3fd-200d-2642-fe0f.png\",sheet_x:40,sheet_y:9,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F3C4-1F3FE-200D-2642-FE0F\",image:\"1f3c4-1f3fe-200d-2642-fe0f.png\",sheet_x:40,sheet_y:10,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F3C4-1F3FF-200D-2642-FE0F\",image:\"1f3c4-1f3ff-200d-2642-fe0f.png\",sheet_x:40,sheet_y:11,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F3C4\",sheet:[40,6]},smile_cat:{name:\"Grinning Cat Face with Smiling Eyes\",unified:\"1F638\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"smile_cat\",\"animal\",\"cats\",\"smile\"],sheet:[23,40]},old_key:{name:\"Old Key\",unified:\"1F5DD\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"old_key\",\"lock\",\"door\",\"password\"],sheet:[22,20]},\"man-swimming\":{name:\"Man Swimming\",unified:\"1F3CA-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F3CA-1F3FB-200D-2642-FE0F\",image:\"1f3ca-1f3fb-200d-2642-fe0f.png\",sheet_x:40,sheet_y:19,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F3CA-1F3FC-200D-2642-FE0F\",image:\"1f3ca-1f3fc-200d-2642-fe0f.png\",sheet_x:40,sheet_y:20,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F3CA-1F3FD-200D-2642-FE0F\",image:\"1f3ca-1f3fd-200d-2642-fe0f.png\",sheet_x:40,sheet_y:21,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F3CA-1F3FE-200D-2642-FE0F\",image:\"1f3ca-1f3fe-200d-2642-fe0f.png\",sheet_x:40,sheet_y:22,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F3CA-1F3FF-200D-2642-FE0F\",image:\"1f3ca-1f3ff-200d-2642-fe0f.png\",sheet_x:40,sheet_y:23,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F3CA\",sheet:[40,18]},\"flag-de\":{name:\"DE\",unified:\"1F1E9-1F1EA\",short_names:[\"de\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"de\",\"german\",\"nation\",\"flag\",\"country\",\"banner\"],sheet:[32,20]},post_office:{name:\"Japanese Post Office\",unified:\"1F3E3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"post_office\",\"building\",\"envelope\",\"communication\"],sheet:[9,48]},interrobang:{name:\"Exclamation Question Mark\",unified:\"2049\",variations:[\"2049-FE0F\"],added_in:\"3.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,3]},joy_cat:{name:\"Cat Face with Tears of Joy\",unified:\"1F639\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"joy_cat\",\"animal\",\"cats\",\"haha\",\"happy\",\"tears\"],sheet:[23,41]},christmas_tree:{name:\"Christmas Tree\",unified:\"1F384\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"christmas_tree\",\"festival\",\"vacation\",\"december\",\"xmas\",\"celebration\"],sheet:[7,16]},low_brightness:{name:\"Low Brightness Symbol\",unified:\"1F505\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"low_brightness\",\"sun\",\"afternoon\",\"warm\",\"summer\"],sheet:[19,19]},evergreen_tree:{name:\"Evergreen Tree\",unified:\"1F332\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"evergreen_tree\",\"plant\",\"nature\"],sheet:[5,32]},heart_eyes_cat:{name:\"Smiling Cat Face with Heart-Shaped Eyes\",unified:\"1F63B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"heart_eyes_cat\",\"animal\",\"love\",\"like\",\"affection\",\"cats\",\"valentines\",\"heart\"],sheet:[23,43]},\"man-rowing-boat\":{name:\"Man Rowing Boat\",unified:\"1F6A3-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F6A3-1F3FB-200D-2642-FE0F\",image:\"1f6a3-1f3fb-200d-2642-fe0f.png\",sheet_x:46,sheet_y:8,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F6A3-1F3FC-200D-2642-FE0F\",image:\"1f6a3-1f3fc-200d-2642-fe0f.png\",sheet_x:46,sheet_y:9,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F6A3-1F3FD-200D-2642-FE0F\",image:\"1f6a3-1f3fd-200d-2642-fe0f.png\",sheet_x:46,sheet_y:10,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F6A3-1F3FE-200D-2642-FE0F\",image:\"1f6a3-1f3fe-200d-2642-fe0f.png\",sheet_x:46,sheet_y:11,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F6A3-1F3FF-200D-2642-FE0F\",image:\"1f6a3-1f3ff-200d-2642-fe0f.png\",sheet_x:46,sheet_y:12,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F6A3\",sheet:[46,7]},door:{name:\"Door\",unified:\"1F6AA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"door\",\"house\",\"entry\",\"exit\"],sheet:[26,4]},\"flag-gh\":{name:\"Ghana\",unified:\"1F1EC-1F1ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ghana\",\"gh\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,48]},european_post_office:{name:\"European Post Office\",unified:\"1F3E4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"european_post_office\",\"building\",\"email\"],sheet:[10,0]},high_brightness:{name:\"High Brightness Symbol\",unified:\"1F506\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"high_brightness\",\"sun\",\"light\"],sheet:[19,20]},deciduous_tree:{name:\"Deciduous Tree\",unified:\"1F333\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"deciduous_tree\",\"plant\",\"nature\"],sheet:[5,33]},couch_and_lamp:{name:\"Couch and Lamp\",unified:\"1F6CB\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"couch_and_lamp\",\"read\",\"chill\"],sheet:[27,3]},\"man-biking\":{name:\"Man Biking\",unified:\"1F6B4-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F6B4-1F3FB-200D-2642-FE0F\",image:\"1f6b4-1f3fb-200d-2642-fe0f.png\",sheet_x:46,sheet_y:20,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F6B4-1F3FC-200D-2642-FE0F\",image:\"1f6b4-1f3fc-200d-2642-fe0f.png\",sheet_x:46,sheet_y:21,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F6B4-1F3FD-200D-2642-FE0F\",image:\"1f6b4-1f3fd-200d-2642-fe0f.png\",sheet_x:46,sheet_y:22,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F6B4-1F3FE-200D-2642-FE0F\",image:\"1f6b4-1f3fe-200d-2642-fe0f.png\",sheet_x:46,sheet_y:23,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F6B4-1F3FF-200D-2642-FE0F\",image:\"1f6b4-1f3ff-200d-2642-fe0f.png\",sheet_x:46,sheet_y:24,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F6B4\",sheet:[46,19]},hospital:{name:\"Hospital\",unified:\"1F3E5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"hospital\",\"building\",\"health\",\"surgery\",\"doctor\"],sheet:[10,1]},\"flag-gi\":{name:\"Gibraltar\",unified:\"1F1EC-1F1EE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"gibraltar\",\"gi\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,0]},smirk_cat:{name:\"Cat Face with Wry Smile\",unified:\"1F63C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"smirk_cat\",\"animal\",\"cats\",\"smirk\"],sheet:[23,44]},bank:{name:\"Bank\",unified:\"1F3E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bank\",\"building\",\"money\",\"sales\",\"cash\",\"business\",\"enterprise\"],sheet:[10,2]},part_alternation_mark:{name:\"Part Alternation Mark\",unified:\"303D\",variations:[\"303D-FE0F\"],added_in:\"3.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,47]},kissing_cat:{name:\"Kissing Cat Face with Closed Eyes\",unified:\"1F63D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"kissing_cat\",\"animal\",\"cats\",\"kiss\"],sheet:[23,45]},\"man-mountain-biking\":{name:\"Man Mountain Biking\",unified:\"1F6B5-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F6B5-1F3FB-200D-2642-FE0F\",image:\"1f6b5-1f3fb-200d-2642-fe0f.png\",sheet_x:46,sheet_y:32,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F6B5-1F3FC-200D-2642-FE0F\",image:\"1f6b5-1f3fc-200d-2642-fe0f.png\",sheet_x:46,sheet_y:33,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F6B5-1F3FD-200D-2642-FE0F\",image:\"1f6b5-1f3fd-200d-2642-fe0f.png\",sheet_x:46,sheet_y:34,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F6B5-1F3FE-200D-2642-FE0F\",image:\"1f6b5-1f3fe-200d-2642-fe0f.png\",sheet_x:46,sheet_y:35,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F6B5-1F3FF-200D-2642-FE0F\",image:\"1f6b5-1f3ff-200d-2642-fe0f.png\",sheet_x:46,sheet_y:36,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F6B5\",sheet:[46,31]},\"flag-gr\":{name:\"Greece\",unified:\"1F1EC-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"greece\",\"gr\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,6]},bed:{name:\"Bed\",unified:\"1F6CF\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"bed\",\"sleep\",\"rest\"],sheet:[27,12]},palm_tree:{name:\"Palm Tree\",unified:\"1F334\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"palm_tree\",\"plant\",\"vegetable\",\"nature\",\"summer\",\"beach\",\"mojito\",\"tropical\"],sheet:[5,34]},hotel:{name:\"Hotel\",unified:\"1F3E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"hotel\",\"building\",\"accomodation\",\"checkin\"],sheet:[10,4]},scream_cat:{name:\"Weary Cat Face\",unified:\"1F640\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"scream_cat\",\"animal\",\"cats\",\"munch\",\"scared\",\"scream\"],sheet:[23,48]},\"flag-gl\":{name:\"Greenland\",unified:\"1F1EC-1F1F1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"greenland\",\"gl\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,1]},sleeping_accommodation:{name:\"Sleeping Accommodation\",unified:\"1F6CC\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F6CC-1F3FB\",image:\"1f6cc-1f3fb.png\",sheet_x:27,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F6CC-1F3FC\",image:\"1f6cc-1f3fc.png\",sheet_x:27,sheet_y:6,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F6CC-1F3FD\",image:\"1f6cc-1f3fd.png\",sheet_x:27,sheet_y:7,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F6CC-1F3FE\",image:\"1f6cc-1f3fe.png\",sheet_x:27,sheet_y:8,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F6CC-1F3FF\",image:\"1f6cc-1f3ff.png\",sheet_x:27,sheet_y:9,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"sleeping_bed\",\"bed\",\"rest\"],sheet:[27,4]},seedling:{name:\"Seedling\",unified:\"1F331\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"seedling\",\"plant\",\"nature\",\"grass\",\"lawn\",\"spring\"],sheet:[5,31]},warning:{name:\"Warning Sign\",unified:\"26A0\",variations:[\"26A0-FE0F\"],added_in:\"4.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[1,48]},herb:{name:\"Herb\",unified:\"1F33F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"herb\",\"vegetable\",\"plant\",\"medicine\",\"weed\",\"grass\",\"lawn\"],sheet:[5,45]},crying_cat_face:{name:\"Crying Cat Face\",unified:\"1F63F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"crying_cat_face\",\"animal\",\"tears\",\"weep\",\"sad\",\"cats\",\"upset\",\"cry\"],sheet:[23,47]},children_crossing:{name:\"Children Crossing\",unified:\"1F6B8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"children_crossing\",\"school\",\"warning\",\"danger\",\"sign\",\"driving\",\"yellow-diamond\"],sheet:[26,33]},\"flag-gd\":{name:\"Grenada\",unified:\"1F1EC-1F1E9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"grenada\",\"gd\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,44]},frame_with_picture:{name:\"Frame with Picture\",unified:\"1F5BC\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"framed_picture\",\"photography\"],sheet:[22,12]},convenience_store:{name:\"Convenience Store\",unified:\"1F3EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"convenience_store\",\"building\",\"shopping\",\"groceries\"],sheet:[10,6]},school:{name:\"School\",unified:\"1F3EB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"school\",\"building\",\"student\",\"education\",\"learn\",\"teach\"],sheet:[10,7]},pouting_cat:{name:\"Pouting Cat Face\",unified:\"1F63E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"pouting_cat\",\"animal\",\"cats\"],sheet:[23,46]},\"flag-gp\":{name:\"Guadeloupe\",unified:\"1F1EC-1F1F5\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"guadeloupe\",\"gp\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,4]},trident:{name:\"Trident Emblem\",unified:\"1F531\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"trident\",\"weapon\",\"spear\"],sheet:[20,14]},shamrock:{name:\"Shamrock\",unified:\"2618\",variations:[\"2618-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"shamrock\",\"vegetable\",\"plant\",\"nature\",\"irish\",\"clover\"],sheet:[1,1]},shopping_bags:{name:\"Shopping Bags\",unified:\"1F6CD\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"shopping\",\"mall\",\"buy\",\"purchase\"],sheet:[27,10]},shopping_trolley:{name:\"Shopping Trolley\",unified:\"1F6D2\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"shopping_cart\",\"trolley\"],sheet:[27,15]},love_hotel:{name:\"Love Hotel\",unified:\"1F3E9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"love_hotel\",\"like\",\"affection\",\"dating\"],sheet:[10,5]},fleur_de_lis:{name:\"Fleur-De-Lis\",unified:\"269C\",variations:[\"269C-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"fleur_de_lis\",\"decorative\",\"scout\"],sheet:[1,47]},four_leaf_clover:{name:\"Four Leaf Clover\",unified:\"1F340\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"four_leaf_clover\",\"vegetable\",\"plant\",\"nature\",\"lucky\",\"irish\"],sheet:[5,46]},\"flag-gu\":{name:\"Guam\",unified:\"1F1EC-1F1FA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"guam\",\"gu\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,9]},open_hands:{name:\"Open Hands Sign\",unified:\"1F450\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F450-1F3FB\",image:\"1f450-1f3fb.png\",sheet_x:13,sheet_y:19,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F450-1F3FC\",image:\"1f450-1f3fc.png\",sheet_x:13,sheet_y:20,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F450-1F3FD\",image:\"1f450-1f3fd.png\",sheet_x:13,sheet_y:21,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F450-1F3FE\",image:\"1f450-1f3fe.png\",sheet_x:13,sheet_y:22,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F450-1F3FF\",image:\"1f450-1f3ff.png\",sheet_x:13,sheet_y:23,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"open_hands\",\"fingers\",\"butterfly\",\"hands\",\"open\"],sheet:[13,18]},raised_hands:{name:\"Person Raising Both Hands in Celebration\",unified:\"1F64C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F64C-1F3FB\",image:\"1f64c-1f3fb.png\",sheet_x:24,sheet_y:32,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F64C-1F3FC\",image:\"1f64c-1f3fc.png\",sheet_x:24,sheet_y:33,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F64C-1F3FD\",image:\"1f64c-1f3fd.png\",sheet_x:24,sheet_y:34,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F64C-1F3FE\",image:\"1f64c-1f3fe.png\",sheet_x:24,sheet_y:35,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F64C-1F3FF\",image:\"1f64c-1f3ff.png\",sheet_x:24,sheet_y:36,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"raised_hands\",\"gesture\",\"hooray\",\"yea\",\"celebration\",\"hands\"],sheet:[24,31]},wedding:{name:\"Wedding\",unified:\"1F492\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"wedding\",\"love\",\"like\",\"affection\",\"couple\",\"marriage\",\"bride\",\"groom\"],sheet:[16,47]},bamboo:{name:\"Pine Decoration\",unified:\"1F38D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bamboo\",\"plant\",\"nature\",\"vegetable\",\"panda\",\"pine_decoration\"],sheet:[7,30]},beginner:{name:\"Japanese Symbol for Beginner\",unified:\"1F530\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"beginner\",\"badge\",\"shield\"],sheet:[20,13]},\"flag-gt\":{name:\"Guatemala\",unified:\"1F1EC-1F1F9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"guatemala\",\"gt\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,8]},gift:{name:\"Wrapped Present\",unified:\"1F381\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"gift\",\"present\",\"birthday\",\"christmas\",\"xmas\"],sheet:[7,13]},classical_building:{name:\"Classical Building\",unified:\"1F3DB\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"classical_building\",\"art\",\"culture\",\"history\"],sheet:[9,40]},\"flag-gg\":{name:\"Guernsey\",unified:\"1F1EC-1F1EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"guernsey\",\"gg\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,47]},balloon:{name:\"Balloon\",unified:\"1F388\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"balloon\",\"party\",\"celebration\",\"birthday\",\"circus\"],sheet:[7,25]},tanabata_tree:{name:\"Tanabata Tree\",unified:\"1F38B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tanabata_tree\",\"plant\",\"nature\",\"branch\",\"summer\"],sheet:[7,28]},clap:{name:\"Clapping Hands Sign\",unified:\"1F44F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F44F-1F3FB\",image:\"1f44f-1f3fb.png\",sheet_x:13,sheet_y:13,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F44F-1F3FC\",image:\"1f44f-1f3fc.png\",sheet_x:13,sheet_y:14,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F44F-1F3FD\",image:\"1f44f-1f3fd.png\",sheet_x:13,sheet_y:15,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F44F-1F3FE\",image:\"1f44f-1f3fe.png\",sheet_x:13,sheet_y:16,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F44F-1F3FF\",image:\"1f44f-1f3ff.png\",sheet_x:13,sheet_y:17,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"clap\",\"hands\",\"praise\",\"applause\",\"congrats\",\"yay\"],sheet:[13,12]},recycle:{name:\"Black Universal Recycling Symbol\",unified:\"267B\",variations:[\"267B-FE0F\"],added_in:\"3.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[1,37]},pray:{name:\"Person with Folded Hands\",unified:\"1F64F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F64F-1F3FB\",image:\"1f64f-1f3fb.png\",sheet_x:25,sheet_y:1,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F64F-1F3FC\",image:\"1f64f-1f3fc.png\",sheet_x:25,sheet_y:2,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F64F-1F3FD\",image:\"1f64f-1f3fd.png\",sheet_x:25,sheet_y:3,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F64F-1F3FE\",image:\"1f64f-1f3fe.png\",sheet_x:25,sheet_y:4,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F64F-1F3FF\",image:\"1f64f-1f3ff.png\",sheet_x:25,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"pray\",\"please\",\"hope\",\"wish\",\"namaste\",\"highfive\"],sheet:[25,0]},church:{name:\"Church\",unified:\"26EA\",variations:[\"26EA-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"church\",\"building\",\"religion\",\"christ\"],sheet:[2,16]},white_check_mark:{name:\"White Heavy Check Mark\",unified:\"2705\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"white_check_mark\",\"green-square\",\"ok\",\"agree\",\"vote\",\"election\",\"answer\",\"tick\"],sheet:[2,34]},flags:{name:\"Carp Streamer\",unified:\"1F38F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"flags\",\"fish\",\"japanese\",\"koinobori\",\"carp\",\"banner\"],sheet:[7,32]},leaves:{name:\"Leaf Fluttering in Wind\",unified:\"1F343\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"leaves\",\"nature\",\"plant\",\"tree\",\"vegetable\",\"grass\",\"lawn\",\"spring\"],sheet:[6,0]},\"flag-gn\":{name:\"Guinea\",unified:\"1F1EC-1F1F3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"guinea\",\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,3]},ribbon:{name:\"Ribbon\",unified:\"1F380\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ribbon\",\"decoration\",\"pink\",\"girl\",\"bowtie\"],sheet:[7,12]},\"flag-gw\":{name:\"Guinea Bissau\",unified:\"1F1EC-1F1FC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"guinea_bissau\",\"gw\",\"bissau\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,10]},handshake:{name:\"Handshake\",unified:\"1F91D\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"handshake\",\"agreement\",\"shake\"],sheet:[28,19]},\"u6307\":{name:\"Squared Cjk Unified Ideograph-6307\",unified:\"1F22F\",variations:[\"1F22F-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"u6307\",\"chinese\",\"point\",\"green-square\",\"kanji\"],sheet:[4,21]},fallen_leaf:{name:\"Fallen Leaf\",unified:\"1F342\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fallen_leaf\",\"nature\",\"plant\",\"vegetable\",\"leaves\"],sheet:[5,48]},mosque:{name:\"Mosque\",unified:\"1F54C\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"mosque\",\"islam\",\"worship\",\"minaret\"],sheet:[20,30]},chart:{name:\"Chart with Upwards Trend and Yen Sign\",unified:\"1F4B9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"chart\",\"green-square\",\"graph\",\"presentation\",\"stats\"],sheet:[17,42]},\"flag-gy\":{name:\"Guyana\",unified:\"1F1EC-1F1FE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"guyana\",\"gy\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,11]},\"+1\":{name:\"Thumbs Up Sign\",unified:\"1F44D\",short_names:[\"thumbsup\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F44D-1F3FB\",image:\"1f44d-1f3fb.png\",sheet_x:13,sheet_y:1,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F44D-1F3FC\",image:\"1f44d-1f3fc.png\",sheet_x:13,sheet_y:2,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F44D-1F3FD\",image:\"1f44d-1f3fd.png\",sheet_x:13,sheet_y:3,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F44D-1F3FE\",image:\"1f44d-1f3fe.png\",sheet_x:13,sheet_y:4,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F44D-1F3FF\",image:\"1f44d-1f3ff.png\",sheet_x:13,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"+1\",\"thumbsup\",\"yes\",\"awesome\",\"good\",\"agree\",\"accept\",\"cool\",\"hand\",\"like\"],sheet:[13,0]},maple_leaf:{name:\"Maple Leaf\",unified:\"1F341\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"maple_leaf\",\"nature\",\"plant\",\"vegetable\",\"ca\",\"fall\"],sheet:[5,47]},confetti_ball:{name:\"Confetti Ball\",unified:\"1F38A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"confetti_ball\",\"festival\",\"party\",\"birthday\",\"circus\"],sheet:[7,27]},synagogue:{name:\"Synagogue\",unified:\"1F54D\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"synagogue\",\"judaism\",\"worship\",\"temple\",\"jewish\"],sheet:[20,31]},tada:{name:\"Party Popper\",unified:\"1F389\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tada\",\"party\",\"congratulations\",\"birthday\",\"magic\",\"circus\",\"celebration\"],sheet:[7,26]},kaaba:{name:\"Kaaba\",unified:\"1F54B\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"kaaba\",\"mecca\",\"mosque\",\"islam\"],sheet:[20,29]},\"-1\":{name:\"Thumbs Down Sign\",unified:\"1F44E\",short_names:[\"thumbsdown\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F44E-1F3FB\",image:\"1f44e-1f3fb.png\",sheet_x:13,sheet_y:7,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F44E-1F3FC\",image:\"1f44e-1f3fc.png\",sheet_x:13,sheet_y:8,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F44E-1F3FD\",image:\"1f44e-1f3fd.png\",sheet_x:13,sheet_y:9,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F44E-1F3FE\",image:\"1f44e-1f3fe.png\",sheet_x:13,sheet_y:10,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F44E-1F3FF\",image:\"1f44e-1f3ff.png\",sheet_x:13,sheet_y:11,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"-1\",\"thumbsdown\",\"no\",\"dislike\",\"hand\"],sheet:[13,6]},sparkle:{name:\"Sparkle\",unified:\"2747\",variations:[\"2747-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,22]},\"flag-ht\":{name:\"Haiti\",unified:\"1F1ED-1F1F9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"haiti\",\"ht\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,16]},mushroom:{name:\"Mushroom\",unified:\"1F344\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mushroom\",\"plant\",\"vegetable\"],sheet:[6,1]},\"flag-hn\":{name:\"Honduras\",unified:\"1F1ED-1F1F3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"honduras\",\"hn\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,14]},shinto_shrine:{name:\"Shinto Shrine\",unified:\"26E9\",added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"shinto_shrine\",\"temple\",\"japan\",\"kyoto\"],sheet:[2,15]},ear_of_rice:{name:\"Ear of Rice\",unified:\"1F33E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ear_of_rice\",\"nature\",\"plant\"],sheet:[5,44]},facepunch:{name:\"Fisted Hand Sign\",unified:\"1F44A\",short_names:[\"punch\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F44A-1F3FB\",image:\"1f44a-1f3fb.png\",sheet_x:12,sheet_y:32,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F44A-1F3FC\",image:\"1f44a-1f3fc.png\",sheet_x:12,sheet_y:33,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F44A-1F3FD\",image:\"1f44a-1f3fd.png\",sheet_x:12,sheet_y:34,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F44A-1F3FE\",image:\"1f44a-1f3fe.png\",sheet_x:12,sheet_y:35,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F44A-1F3FF\",image:\"1f44a-1f3ff.png\",sheet_x:12,sheet_y:36,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"facepunch\",\"angry\",\"violence\",\"fist\",\"hit\",\"attack\",\"hand\"],sheet:[12,31]},eight_spoked_asterisk:{name:\"Eight Spoked Asterisk\",unified:\"2733\",variations:[\"2733-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,19]},dolls:{name:\"Japanese Dolls\",unified:\"1F38E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dolls\",\"japanese\",\"toy\",\"kimono\"],sheet:[7,31]},bouquet:{name:\"Bouquet\",unified:\"1F490\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bouquet\",\"flowers\",\"nature\",\"spring\"],sheet:[16,45]},negative_squared_cross_mark:{name:\"Negative Squared Cross Mark\",unified:\"274E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"negative_squared_cross_mark\",\"x\",\"green-square\",\"no\",\"deny\"],sheet:[3,24]},\"flag-hk\":{name:\"Hong Kong\",unified:\"1F1ED-1F1F0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"hong_kong\",\"hong\",\"kong\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,12]},fist:{name:\"Raised Fist\",unified:\"270A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"270A-1F3FB\",image:\"270a-1f3fb.png\",sheet_x:2,sheet_y:38,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"270A-1F3FC\",image:\"270a-1f3fc.png\",sheet_x:2,sheet_y:39,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"270A-1F3FD\",image:\"270a-1f3fd.png\",sheet_x:2,sheet_y:40,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"270A-1F3FE\",image:\"270a-1f3fe.png\",sheet_x:2,sheet_y:41,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"270A-1F3FF\",image:\"270a-1f3ff.png\",sheet_x:2,sheet_y:42,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"fist\",\"fingers\",\"hand\",\"grasp\"],sheet:[2,37]},izakaya_lantern:{name:\"Izakaya Lantern\",unified:\"1F3EE\",short_names:[\"lantern\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"izakaya_lantern\",\"light\",\"paper\",\"halloween\",\"spooky\"],sheet:[10,10]},japan:{name:\"Silhouette of Japan\",unified:\"1F5FE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"japan\",\"nation\",\"country\",\"japanese\",\"asia\"],sheet:[22,31]},\"left-facing_fist\":{name:\"Left-Facing Fist\",unified:\"1F91B\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F91B-1F3FB\",image:\"1f91b-1f3fb.png\",sheet_x:28,sheet_y:8,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F91B-1F3FC\",image:\"1f91b-1f3fc.png\",sheet_x:28,sheet_y:9,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F91B-1F3FD\",image:\"1f91b-1f3fd.png\",sheet_x:28,sheet_y:10,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F91B-1F3FE\",image:\"1f91b-1f3fe.png\",sheet_x:28,sheet_y:11,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F91B-1F3FF\",image:\"1f91b-1f3ff.png\",sheet_x:28,sheet_y:12,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"fist_left\",\"hand\",\"fistbump\"],sheet:[28,7]},tulip:{name:\"Tulip\",unified:\"1F337\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tulip\",\"flowers\",\"plant\",\"nature\",\"summer\",\"spring\"],sheet:[5,37]},rice_scene:{name:\"Moon Viewing Ceremony\",unified:\"1F391\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rice_scene\",\"photo\",\"japan\",\"asia\",\"tsukimi\"],sheet:[7,34]},wind_chime:{name:\"Wind Chime\",unified:\"1F390\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"wind_chime\",\"nature\",\"ding\",\"spring\",\"bell\"],sheet:[7,33]},globe_with_meridians:{name:\"Globe with Meridians\",unified:\"1F310\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"globe_with_meridians\",\"earth\",\"international\",\"world\",\"internet\",\"interweb\",\"i18n\"],sheet:[5,0]},\"flag-hu\":{name:\"Hungary\",unified:\"1F1ED-1F1FA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"hungary\",\"hu\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,17]},national_park:{name:\"National Park\",unified:\"1F3DE\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"national_park\",\"photo\",\"environment\",\"nature\"],sheet:[9,43]},diamond_shape_with_a_dot_inside:{name:\"Diamond Shape with a Dot Inside\",unified:\"1F4A0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"diamond_shape_with_a_dot_inside\",\"jewel\",\"blue\",\"gem\",\"crystal\",\"fancy\"],sheet:[17,12]},\"right-facing_fist\":{name:\"Right-Facing Fist\",unified:\"1F91C\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F91C-1F3FB\",image:\"1f91c-1f3fb.png\",sheet_x:28,sheet_y:14,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F91C-1F3FC\",image:\"1f91c-1f3fc.png\",sheet_x:28,sheet_y:15,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F91C-1F3FD\",image:\"1f91c-1f3fd.png\",sheet_x:28,sheet_y:16,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F91C-1F3FE\",image:\"1f91c-1f3fe.png\",sheet_x:28,sheet_y:17,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F91C-1F3FF\",image:\"1f91c-1f3ff.png\",sheet_x:28,sheet_y:18,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"fist_right\",\"hand\",\"fistbump\"],sheet:[28,13]},email:{name:\"Envelope\",unified:\"2709\",variations:[\"2709-FE0F\"],short_names:[\"envelope\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[2,36]},rose:{name:\"Rose\",unified:\"1F339\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rose\",\"flowers\",\"valentines\",\"love\",\"spring\"],sheet:[5,39]},\"flag-is\":{name:\"Iceland\",unified:\"1F1EE-1F1F8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"iceland\",\"is\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,27]},m:{name:\"Circled Latin Capital Letter M\",unified:\"24C2\",variations:[\"24C2-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,32]},sunrise:{name:\"Sunrise\",unified:\"1F305\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sunrise\",\"morning\",\"view\",\"vacation\",\"photo\"],sheet:[4,38]},envelope_with_arrow:{name:\"Envelope with Downwards Arrow Above\",unified:\"1F4E9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"envelope_with_arrow\",\"email\",\"communication\"],sheet:[18,41]},\"flag-in\":{name:\"India\",unified:\"1F1EE-1F1F3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"india\",\"in\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,23]},wilted_flower:{name:\"Wilted Flower\",unified:\"1F940\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"wilted_flower\",\"plant\",\"nature\",\"flower\"],sheet:[30,3]},hand_with_index_and_middle_fingers_crossed:{name:\"Hand with Index and Middle Fingers Crossed\",unified:\"1F91E\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F91E-1F3FB\",image:\"1f91e-1f3fb.png\",sheet_x:28,sheet_y:21,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F91E-1F3FC\",image:\"1f91e-1f3fc.png\",sheet_x:28,sheet_y:22,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F91E-1F3FD\",image:\"1f91e-1f3fd.png\",sheet_x:28,sheet_y:23,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F91E-1F3FE\",image:\"1f91e-1f3fe.png\",sheet_x:28,sheet_y:24,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F91E-1F3FF\",image:\"1f91e-1f3ff.png\",sheet_x:28,sheet_y:25,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"crossed_fingers\",\"good\",\"lucky\"],sheet:[28,20]},\"flag-id\":{name:\"Indonesia\",unified:\"1F1EE-1F1E9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"indonesia\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,19]},v:{name:\"Victory Hand\",unified:\"270C\",variations:[\"270C-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"270C-1F3FB\",image:\"270c-1f3fb.png\",sheet_x:3,sheet_y:1,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"270C-1F3FC\",image:\"270c-1f3fc.png\",sheet_x:3,sheet_y:2,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"270C-1F3FD\",image:\"270c-1f3fd.png\",sheet_x:3,sheet_y:3,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"270C-1F3FE\",image:\"270c-1f3fe.png\",sheet_x:3,sheet_y:4,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"270C-1F3FF\",image:\"270c-1f3ff.png\",sheet_x:3,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"v\",\"fingers\",\"ohyeah\",\"hand\",\"peace\",\"victory\",\"two\"],sheet:[3,0]},sunrise_over_mountains:{name:\"Sunrise over Mountains\",unified:\"1F304\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sunrise_over_mountains\",\"view\",\"vacation\",\"photo\"],sheet:[4,37]},sunflower:{name:\"Sunflower\",unified:\"1F33B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sunflower\",\"nature\",\"plant\",\"fall\"],sheet:[5,41]},cyclone:{name:\"Cyclone\",unified:\"1F300\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cyclone\",\"weather\",\"swirl\",\"blue\",\"cloud\",\"vortex\",\"spiral\",\"whirlpool\",\"spin\",\"tornado\",\"hurricane\",\"typhoon\"],sheet:[4,33]},incoming_envelope:{name:\"Incoming Envelope\",unified:\"1F4E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"incoming_envelope\",\"email\",\"inbox\"],sheet:[18,40]},\"e-mail\":{name:\"E-Mail Symbol\",unified:\"1F4E7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"e-mail\",\"communication\",\"inbox\"],sheet:[18,39]},blossom:{name:\"Blossom\",unified:\"1F33C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"blossom\",\"nature\",\"flowers\",\"yellow\"],sheet:[5,42]},stars:{name:\"Shooting Star\",unified:\"1F320\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"stars\",\"night\",\"photo\"],sheet:[5,16]},the_horns:{name:\"Sign of the Horns\",unified:\"1F918\",short_names:[\"sign_of_the_horns\"],added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F918-1F3FB\",image:\"1f918-1f3fb.png\",sheet_x:27,sheet_y:39,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F918-1F3FC\",image:\"1f918-1f3fc.png\",sheet_x:27,sheet_y:40,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F918-1F3FD\",image:\"1f918-1f3fd.png\",sheet_x:27,sheet_y:41,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F918-1F3FE\",image:\"1f918-1f3fe.png\",sheet_x:27,sheet_y:42,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F918-1F3FF\",image:\"1f918-1f3ff.png\",sheet_x:27,sheet_y:43,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"metal\",\"hand\",\"fingers\",\"evil_eye\",\"sign_of_horns\",\"rock_on\"],sheet:[27,38]},zzz:{name:\"Sleeping Symbol\",unified:\"1F4A4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"zzz\",\"sleepy\",\"tired\",\"dream\"],sheet:[17,16]},\"flag-ir\":{name:\"Iran\",unified:\"1F1EE-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"iran\",\"iran,\",\"islamic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,26]},\"flag-iq\":{name:\"Iraq\",unified:\"1F1EE-1F1F6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"iraq\",\"iq\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,25]},love_letter:{name:\"Love Letter\",unified:\"1F48C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"love_letter\",\"email\",\"like\",\"affection\",\"envelope\",\"valentines\"],sheet:[16,41]},ok_hand:{name:\"Ok Hand Sign\",unified:\"1F44C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F44C-1F3FB\",image:\"1f44c-1f3fb.png\",sheet_x:12,sheet_y:44,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F44C-1F3FC\",image:\"1f44c-1f3fc.png\",sheet_x:12,sheet_y:45,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F44C-1F3FD\",image:\"1f44c-1f3fd.png\",sheet_x:12,sheet_y:46,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F44C-1F3FE\",image:\"1f44c-1f3fe.png\",sheet_x:12,sheet_y:47,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F44C-1F3FF\",image:\"1f44c-1f3ff.png\",sheet_x:12,sheet_y:48,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"ok_hand\",\"fingers\",\"limbs\",\"perfect\",\"ok\",\"okay\"],sheet:[12,43]},sparkler:{name:\"Firework Sparkler\",unified:\"1F387\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sparkler\",\"stars\",\"night\",\"shine\"],sheet:[7,24]},atm:{name:\"Automated Teller Machine\",unified:\"1F3E7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"atm\",\"money\",\"sales\",\"cash\",\"blue-square\",\"payment\",\"bank\"],sheet:[10,3]},cherry_blossom:{name:\"Cherry Blossom\",unified:\"1F338\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cherry_blossom\",\"nature\",\"plant\",\"spring\",\"flower\"],sheet:[5,38]},wc:{name:\"Water Closet\",unified:\"1F6BE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"wc\",\"toilet\",\"restroom\",\"blue-square\"],sheet:[26,39]},\"flag-ie\":{name:\"Ireland\",unified:\"1F1EE-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ireland\",\"ie\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,20]},inbox_tray:{name:\"Inbox Tray\",unified:\"1F4E5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"inbox_tray\",\"email\",\"documents\"],sheet:[18,37]},point_left:{name:\"White Left Pointing Backhand Index\",unified:\"1F448\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F448-1F3FB\",image:\"1f448-1f3fb.png\",sheet_x:12,sheet_y:20,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F448-1F3FC\",image:\"1f448-1f3fc.png\",sheet_x:12,sheet_y:21,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F448-1F3FD\",image:\"1f448-1f3fd.png\",sheet_x:12,sheet_y:22,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F448-1F3FE\",image:\"1f448-1f3fe.png\",sheet_x:12,sheet_y:23,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F448-1F3FF\",image:\"1f448-1f3ff.png\",sheet_x:12,sheet_y:24,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"point_left\",\"direction\",\"fingers\",\"hand\",\"left\"],sheet:[12,19]},fireworks:{name:\"Fireworks\",unified:\"1F386\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fireworks\",\"photo\",\"festival\",\"carnival\",\"congratulations\"],sheet:[7,23]},hibiscus:{name:\"Hibiscus\",unified:\"1F33A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"hibiscus\",\"plant\",\"vegetable\",\"flowers\",\"beach\"],sheet:[5,40]},outbox_tray:{name:\"Outbox Tray\",unified:\"1F4E4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"outbox_tray\",\"inbox\",\"email\"],sheet:[18,36]},point_right:{name:\"White Right Pointing Backhand Index\",unified:\"1F449\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F449-1F3FB\",image:\"1f449-1f3fb.png\",sheet_x:12,sheet_y:26,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F449-1F3FC\",image:\"1f449-1f3fc.png\",sheet_x:12,sheet_y:27,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F449-1F3FD\",image:\"1f449-1f3fd.png\",sheet_x:12,sheet_y:28,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F449-1F3FE\",image:\"1f449-1f3fe.png\",sheet_x:12,sheet_y:29,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F449-1F3FF\",image:\"1f449-1f3ff.png\",sheet_x:12,sheet_y:30,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"point_right\",\"fingers\",\"hand\",\"direction\",\"right\"],sheet:[12,25]},city_sunrise:{name:\"Sunset over Buildings\",unified:\"1F307\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"city_sunrise\",\"photo\",\"good morning\",\"dawn\"],sheet:[4,40]},\"flag-im\":{name:\"Isle of Man\",unified:\"1F1EE-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"isle_of_man\",\"isle\",\"man\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,22]},earth_americas:{name:\"Earth Globe Americas\",unified:\"1F30E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"earth_americas\",\"globe\",\"world\",\"USA\",\"international\"],sheet:[4,47]},wheelchair:{name:\"Wheelchair Symbol\",unified:\"267F\",variations:[\"267F-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"wheelchair\",\"blue-square\",\"disabled\",\"a11y\",\"accessibility\"],sheet:[1,38]},\"point_up_2\":{name:\"White Up Pointing Backhand Index\",unified:\"1F446\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F446-1F3FB\",image:\"1f446-1f3fb.png\",sheet_x:12,sheet_y:8,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F446-1F3FC\",image:\"1f446-1f3fc.png\",sheet_x:12,sheet_y:9,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F446-1F3FD\",image:\"1f446-1f3fd.png\",sheet_x:12,sheet_y:10,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F446-1F3FE\",image:\"1f446-1f3fe.png\",sheet_x:12,sheet_y:11,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F446-1F3FF\",image:\"1f446-1f3ff.png\",sheet_x:12,sheet_y:12,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"point_up_2\",\"fingers\",\"hand\",\"direction\",\"up\"],sheet:[12,7]},parking:{name:\"Negative Squared Latin Capital Letter P\",unified:\"1F17F\",variations:[\"1F17F-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[4,6]},city_sunset:{name:\"Cityscape at Dusk\",unified:\"1F306\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"city_sunset\",\"photo\",\"evening\",\"sky\",\"buildings\"],sheet:[4,39]},earth_africa:{name:\"Earth Globe Europe-Africa\",unified:\"1F30D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"earth_africa\",\"globe\",\"world\",\"international\"],sheet:[4,46]},package:{name:\"Package\",unified:\"1F4E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"package\",\"mail\",\"gift\",\"cardboard\",\"box\",\"moving\"],sheet:[18,38]},\"flag-il\":{name:\"Israel\",unified:\"1F1EE-1F1F1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"israel\",\"il\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,21]},cityscape:{name:\"Cityscape\",unified:\"1F3D9\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"cityscape\",\"photo\",\"night life\",\"urban\"],sheet:[9,38]},point_down:{name:\"White Down Pointing Backhand Index\",unified:\"1F447\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F447-1F3FB\",image:\"1f447-1f3fb.png\",sheet_x:12,sheet_y:14,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F447-1F3FC\",image:\"1f447-1f3fc.png\",sheet_x:12,sheet_y:15,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F447-1F3FD\",image:\"1f447-1f3fd.png\",sheet_x:12,sheet_y:16,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F447-1F3FE\",image:\"1f447-1f3fe.png\",sheet_x:12,sheet_y:17,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F447-1F3FF\",image:\"1f447-1f3ff.png\",sheet_x:12,sheet_y:18,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"point_down\",\"fingers\",\"hand\",\"direction\",\"down\"],sheet:[12,13]},\"flag-it\":{name:\"IT\",unified:\"1F1EE-1F1F9\",short_names:[\"it\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"it\",\"italy\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,28]},label:{name:\"Label\",unified:\"1F3F7\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"label\",\"sale\",\"tag\"],sheet:[10,16]},\"u7a7a\":{name:\"Squared Cjk Unified Ideograph-7a7a\",unified:\"1F233\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"u7a7a\",\"kanji\",\"japanese\",\"chinese\",\"empty\",\"sky\",\"blue-square\"],sheet:[4,23]},earth_asia:{name:\"Earth Globe Asia-Australia\",unified:\"1F30F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"earth_asia\",\"globe\",\"world\",\"east\",\"international\"],sheet:[4,48]},\"flag-jm\":{name:\"Jamaica\",unified:\"1F1EF-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"jamaica\",\"jm\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,30]},sa:{name:\"Squared Katakana Sa\",unified:\"1F202\",variations:[\"1F202-FE0F\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[4,19]},night_with_stars:{name:\"Night with Stars\",unified:\"1F303\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"night_with_stars\",\"evening\",\"city\",\"downtown\"],sheet:[4,36]},mailbox_closed:{name:\"Closed Mailbox with Lowered Flag\",unified:\"1F4EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mailbox_closed\",\"email\",\"communication\",\"inbox\"],sheet:[18,42]},point_up:{name:\"White Up Pointing Index\",unified:\"261D\",variations:[\"261D-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"261D-1F3FB\",image:\"261d-1f3fb.png\",sheet_x:1,sheet_y:3,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"261D-1F3FC\",image:\"261d-1f3fc.png\",sheet_x:1,sheet_y:4,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"261D-1F3FD\",image:\"261d-1f3fd.png\",sheet_x:1,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"261D-1F3FE\",image:\"261d-1f3fe.png\",sheet_x:1,sheet_y:6,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"261D-1F3FF\",image:\"261d-1f3ff.png\",sheet_x:1,sheet_y:7,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"point_up\",\"hand\",\"fingers\",\"direction\",\"up\"],sheet:[1,2]},full_moon:{name:\"Full Moon Symbol\",unified:\"1F315\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"full_moon\",\"nature\",\"yellow\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],sheet:[5,5]},mailbox:{name:\"Closed Mailbox with Raised Flag\",unified:\"1F4EB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mailbox\",\"email\",\"inbox\",\"communication\"],sheet:[18,43]},milky_way:{name:\"Milky Way\",unified:\"1F30C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"milky_way\",\"photo\",\"space\",\"stars\"],sheet:[4,45]},waning_gibbous_moon:{name:\"Waning Gibbous Moon Symbol\",unified:\"1F316\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"waning_gibbous_moon\",\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\",\"waxing_gibbous_moon\"],sheet:[5,6]},\"flag-jp\":{name:\"JP\",unified:\"1F1EF-1F1F5\",short_names:[\"jp\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"jp\",\"japanese\",\"nation\",\"flag\",\"country\",\"banner\"],sheet:[33,32]},hand:{name:\"Raised Hand\",unified:\"270B\",short_names:[\"raised_hand\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"270B-1F3FB\",image:\"270b-1f3fb.png\",sheet_x:2,sheet_y:44,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"270B-1F3FC\",image:\"270b-1f3fc.png\",sheet_x:2,sheet_y:45,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"270B-1F3FD\",image:\"270b-1f3fd.png\",sheet_x:2,sheet_y:46,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"270B-1F3FE\",image:\"270b-1f3fe.png\",sheet_x:2,sheet_y:47,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"270B-1F3FF\",image:\"270b-1f3ff.png\",sheet_x:2,sheet_y:48,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"raised_hand\",\"fingers\",\"stop\",\"highfive\",\"palm\",\"ban\"],sheet:[2,43]},passport_control:{name:\"Passport Control\",unified:\"1F6C2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"passport_control\",\"custom\",\"blue-square\"],sheet:[26,48]},mailbox_with_mail:{name:\"Open Mailbox with Raised Flag\",unified:\"1F4EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mailbox_with_mail\",\"email\",\"inbox\",\"communication\"],sheet:[18,44]},customs:{name:\"Customs\",unified:\"1F6C3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"customs\",\"passport\",\"border\",\"blue-square\"],sheet:[27,0]},bridge_at_night:{name:\"Bridge at Night\",unified:\"1F309\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bridge_at_night\",\"photo\",\"sanfrancisco\"],sheet:[4,42]},raised_back_of_hand:{name:\"Raised Back of Hand\",unified:\"1F91A\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F91A-1F3FB\",image:\"1f91a-1f3fb.png\",sheet_x:28,sheet_y:2,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F91A-1F3FC\",image:\"1f91a-1f3fc.png\",sheet_x:28,sheet_y:3,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F91A-1F3FD\",image:\"1f91a-1f3fd.png\",sheet_x:28,sheet_y:4,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F91A-1F3FE\",image:\"1f91a-1f3fe.png\",sheet_x:28,sheet_y:5,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F91A-1F3FF\",image:\"1f91a-1f3ff.png\",sheet_x:28,sheet_y:6,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"raised_back_of_hand\",\"fingers\",\"raised\",\"backhand\"],sheet:[28,1]},last_quarter_moon:{name:\"Last Quarter Moon Symbol\",unified:\"1F317\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"last_quarter_moon\",\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],sheet:[5,7]},crossed_flags:{name:\"Crossed Flags\",unified:\"1F38C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"crossed_flags\",\"japanese\",\"nation\",\"country\",\"border\"],sheet:[7,29]},waning_crescent_moon:{name:\"Waning Crescent Moon Symbol\",unified:\"1F318\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"waning_crescent_moon\",\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],sheet:[5,8]},baggage_claim:{name:\"Baggage Claim\",unified:\"1F6C4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"baggage_claim\",\"blue-square\",\"airport\",\"transport\"],sheet:[27,1]},raised_hand_with_fingers_splayed:{name:\"Raised Hand with Fingers Splayed\",unified:\"1F590\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F590-1F3FB\",image:\"1f590-1f3fb.png\",sheet_x:21,sheet_y:39,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F590-1F3FC\",image:\"1f590-1f3fc.png\",sheet_x:21,sheet_y:40,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F590-1F3FD\",image:\"1f590-1f3fd.png\",sheet_x:21,sheet_y:41,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F590-1F3FE\",image:\"1f590-1f3fe.png\",sheet_x:21,sheet_y:42,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F590-1F3FF\",image:\"1f590-1f3ff.png\",sheet_x:21,sheet_y:43,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"raised_hand_with_fingers_splayed\",\"hand\",\"fingers\",\"palm\"],sheet:[21,38]},foggy:{name:\"Foggy\",unified:\"1F301\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"foggy\",\"photo\",\"mountain\"],sheet:[4,34]},mailbox_with_no_mail:{name:\"Open Mailbox with Lowered Flag\",unified:\"1F4ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mailbox_with_no_mail\",\"email\",\"inbox\"],sheet:[18,45]},\"flag-je\":{name:\"Jersey\",unified:\"1F1EF-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"jersey\",\"je\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,29]},new_moon:{name:\"New Moon Symbol\",unified:\"1F311\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"new_moon\",\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],sheet:[5,1]},\"flag-jo\":{name:\"Jordan\",unified:\"1F1EF-1F1F4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"jordan\",\"jo\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,31]},postbox:{name:\"Postbox\",unified:\"1F4EE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"postbox\",\"email\",\"letter\",\"envelope\"],sheet:[18,46]},\"spock-hand\":{name:\"Raised Hand with Part Between Middle and Ring Fingers\",unified:\"1F596\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F596-1F3FB\",image:\"1f596-1f3fb.png\",sheet_x:22,sheet_y:2,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F596-1F3FC\",image:\"1f596-1f3fc.png\",sheet_x:22,sheet_y:3,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F596-1F3FD\",image:\"1f596-1f3fd.png\",sheet_x:22,sheet_y:4,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F596-1F3FE\",image:\"1f596-1f3fe.png\",sheet_x:22,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F596-1F3FF\",image:\"1f596-1f3ff.png\",sheet_x:22,sheet_y:6,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"vulcan_salute\",\"hand\",\"fingers\",\"spock\",\"star trek\"],sheet:[22,1]},left_luggage:{name:\"Left Luggage\",unified:\"1F6C5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"left_luggage\",\"blue-square\",\"travel\"],sheet:[27,2]},waxing_crescent_moon:{name:\"Waxing Crescent Moon Symbol\",unified:\"1F312\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"waxing_crescent_moon\",\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],sheet:[5,2]},mens:{name:\"Mens Symbol\",unified:\"1F6B9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mens\",\"toilet\",\"restroom\",\"wc\",\"blue-square\",\"gender\",\"male\"],sheet:[26,34]},postal_horn:{name:\"Postal Horn\",unified:\"1F4EF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"postal_horn\",\"instrument\",\"music\"],sheet:[18,47]},wave:{name:\"Waving Hand Sign\",unified:\"1F44B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F44B-1F3FB\",image:\"1f44b-1f3fb.png\",sheet_x:12,sheet_y:38,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F44B-1F3FC\",image:\"1f44b-1f3fc.png\",sheet_x:12,sheet_y:39,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F44B-1F3FD\",image:\"1f44b-1f3fd.png\",sheet_x:12,sheet_y:40,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F44B-1F3FE\",image:\"1f44b-1f3fe.png\",sheet_x:12,sheet_y:41,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F44B-1F3FF\",image:\"1f44b-1f3ff.png\",sheet_x:12,sheet_y:42,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"wave\",\"hands\",\"gesture\",\"goodbye\",\"solong\",\"farewell\",\"hello\",\"hi\",\"palm\"],sheet:[12,37]},\"flag-kz\":{name:\"Kazakhstan\",unified:\"1F1F0-1F1FF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"kazakhstan\",\"kz\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,43]},scroll:{name:\"Scroll\",unified:\"1F4DC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"scroll\",\"documents\",\"ancient\",\"history\",\"paper\"],sheet:[18,28]},womens:{name:\"Womens Symbol\",unified:\"1F6BA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"womens\",\"purple-square\",\"woman\",\"female\",\"toilet\",\"loo\",\"restroom\",\"gender\"],sheet:[26,35]},first_quarter_moon:{name:\"First Quarter Moon Symbol\",unified:\"1F313\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"first_quarter_moon\",\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],sheet:[5,3]},call_me_hand:{name:\"Call Me Hand\",unified:\"1F919\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F919-1F3FB\",image:\"1f919-1f3fb.png\",sheet_x:27,sheet_y:45,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F919-1F3FC\",image:\"1f919-1f3fc.png\",sheet_x:27,sheet_y:46,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F919-1F3FD\",image:\"1f919-1f3fd.png\",sheet_x:27,sheet_y:47,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F919-1F3FE\",image:\"1f919-1f3fe.png\",sheet_x:27,sheet_y:48,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F919-1F3FF\",image:\"1f919-1f3ff.png\",sheet_x:28,sheet_y:0,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"call_me_hand\",\"hands\",\"gesture\"],sheet:[27,44]},\"flag-ke\":{name:\"Kenya\",unified:\"1F1F0-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"kenya\",\"ke\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,33]},muscle:{name:\"Flexed Biceps\",unified:\"1F4AA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F4AA-1F3FB\",image:\"1f4aa-1f3fb.png\",sheet_x:17,sheet_y:23,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F4AA-1F3FC\",image:\"1f4aa-1f3fc.png\",sheet_x:17,sheet_y:24,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F4AA-1F3FD\",image:\"1f4aa-1f3fd.png\",sheet_x:17,sheet_y:25,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F4AA-1F3FE\",image:\"1f4aa-1f3fe.png\",sheet_x:17,sheet_y:26,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F4AA-1F3FF\",image:\"1f4aa-1f3ff.png\",sheet_x:17,sheet_y:27,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"muscle\",\"arm\",\"flex\",\"hand\",\"summer\",\"strong\",\"biceps\"],sheet:[17,22]},moon:{name:\"Waxing Gibbous Moon Symbol\",unified:\"1F314\",short_names:[\"waxing_gibbous_moon\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"waxing_gibbous_moon\",\"nature\",\"night\",\"sky\",\"gray\",\"twilight\",\"planet\",\"space\",\"evening\",\"sleep\"],sheet:[5,4]},\"flag-ki\":{name:\"Kiribati\",unified:\"1F1F0-1F1EE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"kiribati\",\"ki\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,36]},page_with_curl:{name:\"Page with Curl\",unified:\"1F4C3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"page_with_curl\",\"documents\",\"office\",\"paper\"],sheet:[18,3]},baby_symbol:{name:\"Baby Symbol\",unified:\"1F6BC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"baby_symbol\",\"orange-square\",\"child\"],sheet:[26,37]},page_facing_up:{name:\"Page Facing Up\",unified:\"1F4C4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"page_facing_up\",\"documents\",\"office\",\"paper\",\"information\"],sheet:[18,4]},\"flag-xk\":{name:\"Kosovo\",unified:\"1F1FD-1F1F0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"kosovo\",\"xk\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,18]},restroom:{name:\"Restroom\",unified:\"1F6BB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"restroom\",\"blue-square\",\"toilet\",\"refresh\",\"wc\",\"gender\"],sheet:[26,36]},middle_finger:{name:\"Reversed Hand with Middle Finger Extended\",unified:\"1F595\",short_names:[\"reversed_hand_with_middle_finger_extended\"],added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F595-1F3FB\",image:\"1f595-1f3fb.png\",sheet_x:21,sheet_y:45,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F595-1F3FC\",image:\"1f595-1f3fc.png\",sheet_x:21,sheet_y:46,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F595-1F3FD\",image:\"1f595-1f3fd.png\",sheet_x:21,sheet_y:47,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F595-1F3FE\",image:\"1f595-1f3fe.png\",sheet_x:21,sheet_y:48,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F595-1F3FF\",image:\"1f595-1f3ff.png\",sheet_x:22,sheet_y:0,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"fu\",\"hand\",\"fingers\",\"rude\",\"middle\",\"flipping\"],sheet:[21,44]},new_moon_with_face:{name:\"New Moon with Face\",unified:\"1F31A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"new_moon_with_face\",\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],sheet:[5,10]},bookmark_tabs:{name:\"Bookmark Tabs\",unified:\"1F4D1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bookmark_tabs\",\"favorite\",\"save\",\"order\",\"tidy\"],sheet:[18,17]},put_litter_in_its_place:{name:\"Put Litter in Its Place Symbol\",unified:\"1F6AE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"put_litter_in_its_place\",\"blue-square\",\"sign\",\"human\",\"info\"],sheet:[26,8]},writing_hand:{name:\"Writing Hand\",unified:\"270D\",variations:[\"270D-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"270D-1F3FB\",image:\"270d-1f3fb.png\",sheet_x:3,sheet_y:7,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"270D-1F3FC\",image:\"270d-1f3fc.png\",sheet_x:3,sheet_y:8,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"270D-1F3FD\",image:\"270d-1f3fd.png\",sheet_x:3,sheet_y:9,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"270D-1F3FE\",image:\"270d-1f3fe.png\",sheet_x:3,sheet_y:10,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"270D-1F3FF\",image:\"270d-1f3ff.png\",sheet_x:3,sheet_y:11,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"writing_hand\",\"lower_left_ballpoint_pen\",\"stationery\",\"write\",\"compose\"],sheet:[3,6]},\"flag-kw\":{name:\"Kuwait\",unified:\"1F1F0-1F1FC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"kuwait\",\"kw\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,41]},full_moon_with_face:{name:\"Full Moon with Face\",unified:\"1F31D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"full_moon_with_face\",\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],sheet:[5,13]},sun_with_face:{name:\"Sun with Face\",unified:\"1F31E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sun_with_face\",\"nature\",\"morning\",\"sky\"],sheet:[5,14]},\"flag-kg\":{name:\"Kyrgyzstan\",unified:\"1F1F0-1F1EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"kyrgyzstan\",\"kg\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,34]},selfie:{name:\"Selfie\",unified:\"1F933\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F933-1F3FB\",image:\"1f933-1f3fb.png\",sheet_x:28,sheet_y:46,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F933-1F3FC\",image:\"1f933-1f3fc.png\",sheet_x:28,sheet_y:47,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F933-1F3FD\",image:\"1f933-1f3fd.png\",sheet_x:28,sheet_y:48,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F933-1F3FE\",image:\"1f933-1f3fe.png\",sheet_x:29,sheet_y:0,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F933-1F3FF\",image:\"1f933-1f3ff.png\",sheet_x:29,sheet_y:1,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"selfie\",\"camera\",\"phone\"],sheet:[28,45]},cinema:{name:\"Cinema\",unified:\"1F3A6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cinema\",\"blue-square\",\"record\",\"film\",\"movie\",\"curtain\",\"stage\",\"theater\"],sheet:[8,1]},bar_chart:{name:\"Bar Chart\",unified:\"1F4CA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bar_chart\",\"graph\",\"presentation\",\"stats\"],sheet:[18,10]},first_quarter_moon_with_face:{name:\"First Quarter Moon with Face\",unified:\"1F31B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"first_quarter_moon_with_face\",\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],sheet:[5,11]},nail_care:{name:\"Nail Polish\",unified:\"1F485\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F485-1F3FB\",image:\"1f485-1f3fb.png\",sheet_x:16,sheet_y:20,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F485-1F3FC\",image:\"1f485-1f3fc.png\",sheet_x:16,sheet_y:21,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F485-1F3FD\",image:\"1f485-1f3fd.png\",sheet_x:16,sheet_y:22,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F485-1F3FE\",image:\"1f485-1f3fe.png\",sheet_x:16,sheet_y:23,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F485-1F3FF\",image:\"1f485-1f3ff.png\",sheet_x:16,sheet_y:24,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"nail_care\",\"beauty\",\"manicure\",\"finger\",\"fashion\",\"nail\"],sheet:[16,19]},signal_strength:{name:\"Antenna with Bars\",unified:\"1F4F6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"signal_strength\",\"blue-square\",\"reception\",\"phone\",\"internet\",\"connection\",\"wifi\",\"bluetooth\",\"bars\"],sheet:[19,5]},\"flag-la\":{name:\"Laos\",unified:\"1F1F1-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"laos\",\"lao\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,44]},chart_with_upwards_trend:{name:\"Chart with Upwards Trend\",unified:\"1F4C8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"chart_with_upwards_trend\",\"graph\",\"presentation\",\"stats\",\"recovery\",\"business\",\"economics\",\"money\",\"sales\",\"good\",\"success\"],sheet:[18,8]},chart_with_downwards_trend:{name:\"Chart with Downwards Trend\",unified:\"1F4C9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"chart_with_downwards_trend\",\"graph\",\"presentation\",\"stats\",\"recession\",\"business\",\"economics\",\"money\",\"sales\",\"bad\",\"failure\"],sheet:[18,9]},last_quarter_moon_with_face:{name:\"Last Quarter Moon with Face\",unified:\"1F31C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"last_quarter_moon_with_face\",\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],sheet:[5,12]},\"flag-lv\":{name:\"Latvia\",unified:\"1F1F1-1F1FB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"latvia\",\"lv\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,4]},koko:{name:\"Squared Katakana Koko\",unified:\"1F201\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"koko\",\"blue-square\",\"here\",\"katakana\",\"japanese\",\"destination\"],sheet:[4,18]},ring:{name:\"Ring\",unified:\"1F48D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ring\",\"wedding\",\"propose\",\"marriage\",\"valentines\",\"diamond\",\"fashion\",\"jewelry\",\"gem\",\"engagement\"],sheet:[16,42]},spiral_note_pad:{name:\"Spiral Note Pad\",unified:\"1F5D2\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"spiral_notepad\",\"memo\",\"stationery\"],sheet:[22,17]},crescent_moon:{name:\"Crescent Moon\",unified:\"1F319\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"crescent_moon\",\"night\",\"sleep\",\"sky\",\"evening\",\"magic\"],sheet:[5,9]},symbols:{name:\"Input Symbol for Symbols\",unified:\"1F523\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"symbols\",\"blue-square\",\"music\",\"note\",\"ampersand\",\"percent\",\"glyphs\",\"characters\"],sheet:[20,0]},lipstick:{name:\"Lipstick\",unified:\"1F484\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"lipstick\",\"female\",\"girl\",\"fashion\",\"woman\"],sheet:[16,18]},\"flag-lb\":{name:\"Lebanon\",unified:\"1F1F1-1F1E7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"lebanon\",\"lb\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,45]},kiss:{name:\"Kiss Mark\",unified:\"1F48B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"kiss\",\"face\",\"lips\",\"love\",\"like\",\"affection\",\"valentines\"],sheet:[16,40]},information_source:{name:\"Information Source\",unified:\"2139\",variations:[\"2139-FE0F\"],added_in:\"3.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,5]},\"flag-ls\":{name:\"Lesotho\",unified:\"1F1F1-1F1F8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"lesotho\",\"ls\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,1]},dizzy:{name:\"Dizzy Symbol\",unified:\"1F4AB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dizzy\",\"star\",\"sparkle\",\"shoot\",\"magic\"],sheet:[17,28]},spiral_calendar_pad:{name:\"Spiral Calendar Pad\",unified:\"1F5D3\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"spiral_calendar\",\"date\",\"schedule\",\"planning\"],sheet:[22,18]},\"flag-lr\":{name:\"Liberia\",unified:\"1F1F1-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"liberia\",\"lr\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,0]},abc:{name:\"Input Symbol for Latin Letters\",unified:\"1F524\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"abc\",\"blue-square\",\"alphabet\"],sheet:[20,1]},lips:{name:\"Mouth\",unified:\"1F444\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"lips\",\"mouth\",\"kiss\"],sheet:[12,5]},star:{name:\"White Medium Star\",unified:\"2B50\",variations:[\"2B50-FE0F\"],added_in:\"5.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"star\",\"night\",\"yellow\"],sheet:[3,44]},calendar:{name:\"Tear-off Calendar\",unified:\"1F4C6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"calendar\",\"schedule\",\"date\",\"planning\"],sheet:[18,6]},\"star2\":{name:\"Glowing Star\",unified:\"1F31F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"star2\",\"night\",\"sparkle\",\"awesome\",\"good\",\"magic\"],sheet:[5,15]},tongue:{name:\"Tongue\",unified:\"1F445\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tongue\",\"mouth\",\"playful\"],sheet:[12,6]},abcd:{name:\"Input Symbol for Latin Small Letters\",unified:\"1F521\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"abcd\",\"blue-square\",\"alphabet\"],sheet:[19,47]},date:{name:\"Calendar\",unified:\"1F4C5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"date\",\"calendar\",\"schedule\"],sheet:[18,5]},\"flag-ly\":{name:\"Libya\",unified:\"1F1F1-1F1FE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"libya\",\"ly\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,5]},capital_abcd:{name:\"Input Symbol for Latin Capital Letters\",unified:\"1F520\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"capital_abcd\",\"alphabet\",\"words\",\"blue-square\"],sheet:[19,46]},sparkles:{name:\"Sparkles\",unified:\"2728\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sparkles\",\"stars\",\"shine\",\"shiny\",\"cool\",\"awesome\",\"good\",\"magic\"],sheet:[3,18]},ear:{name:\"Ear\",unified:\"1F442\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F442-1F3FB\",image:\"1f442-1f3fb.png\",sheet_x:11,sheet_y:43,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F442-1F3FC\",image:\"1f442-1f3fc.png\",sheet_x:11,sheet_y:44,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F442-1F3FD\",image:\"1f442-1f3fd.png\",sheet_x:11,sheet_y:45,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F442-1F3FE\",image:\"1f442-1f3fe.png\",sheet_x:11,sheet_y:46,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F442-1F3FF\",image:\"1f442-1f3ff.png\",sheet_x:11,sheet_y:47,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"ear\",\"face\",\"hear\",\"sound\",\"listen\"],sheet:[11,42]},\"flag-li\":{name:\"Liechtenstein\",unified:\"1F1F1-1F1EE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"liechtenstein\",\"li\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,47]},card_index:{name:\"Card Index\",unified:\"1F4C7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"card_index\",\"business\",\"stationery\"],sheet:[18,7]},zap:{name:\"High Voltage Sign\",unified:\"26A1\",variations:[\"26A1-FE0F\"],added_in:\"4.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"zap\",\"thunder\",\"weather\",\"lightning bolt\",\"fast\"],sheet:[2,0]},\"flag-lt\":{name:\"Lithuania\",unified:\"1F1F1-1F1F9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"lithuania\",\"lt\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,2]},nose:{name:\"Nose\",unified:\"1F443\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F443-1F3FB\",image:\"1f443-1f3fb.png\",sheet_x:12,sheet_y:0,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F443-1F3FC\",image:\"1f443-1f3fc.png\",sheet_x:12,sheet_y:1,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F443-1F3FD\",image:\"1f443-1f3fd.png\",sheet_x:12,sheet_y:2,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F443-1F3FE\",image:\"1f443-1f3fe.png\",sheet_x:12,sheet_y:3,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F443-1F3FF\",image:\"1f443-1f3ff.png\",sheet_x:12,sheet_y:4,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"nose\",\"smell\",\"sniff\"],sheet:[11,48]},card_file_box:{name:\"Card File Box\",unified:\"1F5C3\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"card_file_box\",\"business\",\"stationery\"],sheet:[22,14]},ng:{name:\"Squared Ng\",unified:\"1F196\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ng\",\"blue-square\",\"words\",\"shape\",\"icon\"],sheet:[4,13]},ballot_box_with_ballot:{name:\"Ballot Box with Ballot\",unified:\"1F5F3\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"ballot_box\",\"election\",\"vote\"],sheet:[22,26]},ok:{name:\"Squared Ok\",unified:\"1F197\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ok\",\"good\",\"agree\",\"yes\",\"blue-square\"],sheet:[4,14]},footprints:{name:\"Footprints\",unified:\"1F463\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"footprints\",\"feet\",\"tracking\",\"walking\",\"beach\"],sheet:[13,42]},\"flag-lu\":{name:\"Luxembourg\",unified:\"1F1F1-1F1FA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"luxembourg\",\"lu\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,3]},fire:{name:\"Fire\",unified:\"1F525\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fire\",\"hot\",\"cook\",\"flame\"],sheet:[20,2]},boom:{name:\"Collision Symbol\",unified:\"1F4A5\",short_names:[\"collision\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"boom\",\"bomb\",\"explode\",\"explosion\",\"collision\",\"blown\"],sheet:[17,17]},file_cabinet:{name:\"File Cabinet\",unified:\"1F5C4\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"file_cabinet\",\"filing\",\"organizing\"],sheet:[22,15]},up:{name:\"Squared Up with Exclamation Mark\",unified:\"1F199\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"up\",\"blue-square\",\"above\",\"high\"],sheet:[4,16]},eye:{name:\"Eye\",unified:\"1F441\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"eye\",\"face\",\"look\",\"see\",\"watch\",\"stare\"],sheet:[11,41]},\"flag-mo\":{name:\"Macau\",unified:\"1F1F2-1F1F4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"macau\",\"macao\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,17]},\"flag-mk\":{name:\"Macedonia\",unified:\"1F1F2-1F1F0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"macedonia\",\"macedonia,\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,13]},cool:{name:\"Squared Cool\",unified:\"1F192\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"cool\",\"words\",\"blue-square\"],sheet:[4,9]},comet:{name:\"Comet\",unified:\"2604\",variations:[\"2604-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"comet\",\"space\"],sheet:[0,45]},eyes:{name:\"Eyes\",unified:\"1F440\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"eyes\",\"look\",\"watch\",\"stalk\",\"peek\",\"see\"],sheet:[11,40]},clipboard:{name:\"Clipboard\",unified:\"1F4CB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clipboard\",\"stationery\",\"documents\"],sheet:[18,11]},file_folder:{name:\"File Folder\",unified:\"1F4C1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"file_folder\",\"documents\",\"business\",\"office\"],sheet:[18,1]},speaking_head_in_silhouette:{name:\"Speaking Head in Silhouette\",unified:\"1F5E3\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"speaking_head\",\"user\",\"person\",\"human\",\"sing\",\"say\",\"talk\"],sheet:[22,23]},\"flag-mg\":{name:\"Madagascar\",unified:\"1F1F2-1F1EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"madagascar\",\"mg\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,11]},new:{name:\"Squared New\",unified:\"1F195\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"new\",\"blue-square\",\"words\",\"start\"],sheet:[4,12]},sunny:{name:\"Black Sun with Rays\",unified:\"2600\",variations:[\"2600-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,41]},\"flag-mw\":{name:\"Malawi\",unified:\"1F1F2-1F1FC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"malawi\",\"mw\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,25]},bust_in_silhouette:{name:\"Bust in Silhouette\",unified:\"1F464\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bust_in_silhouette\",\"user\",\"person\",\"human\"],sheet:[13,43]},open_file_folder:{name:\"Open File Folder\",unified:\"1F4C2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"open_file_folder\",\"documents\",\"load\"],sheet:[18,2]},free:{name:\"Squared Free\",unified:\"1F193\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"free\",\"blue-square\",\"words\"],sheet:[4,10]},mostly_sunny:{name:\"White Sun with Small Cloud\",unified:\"1F324\",short_names:[\"sun_small_cloud\"],added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"sun_behind_small_cloud\",\"weather\"],sheet:[5,18]},\"flag-my\":{name:\"Malaysia\",unified:\"1F1F2-1F1FE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"malaysia\",\"my\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,27]},busts_in_silhouette:{name:\"Busts in Silhouette\",unified:\"1F465\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"busts_in_silhouette\",\"user\",\"person\",\"human\",\"group\",\"team\"],sheet:[13,44]},partly_sunny:{name:\"Sun Behind Cloud\",unified:\"26C5\",variations:[\"26C5-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"partly_sunny\",\"weather\",\"nature\",\"cloudy\",\"morning\",\"fall\",\"spring\"],sheet:[2,8]},card_index_dividers:{name:\"Card Index Dividers\",unified:\"1F5C2\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"card_index_dividers\",\"organizing\",\"business\",\"stationery\"],sheet:[22,13]},zero:{name:\"Keycap 0\",unified:\"0030-20E3\",variations:[\"0030-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[31,1]},baby:{name:\"Baby\",unified:\"1F476\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F476-1F3FB\",image:\"1f476-1f3fb.png\",sheet_x:15,sheet_y:19,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F476-1F3FC\",image:\"1f476-1f3fc.png\",sheet_x:15,sheet_y:20,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F476-1F3FD\",image:\"1f476-1f3fd.png\",sheet_x:15,sheet_y:21,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F476-1F3FE\",image:\"1f476-1f3fe.png\",sheet_x:15,sheet_y:22,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F476-1F3FF\",image:\"1f476-1f3ff.png\",sheet_x:15,sheet_y:23,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"baby\",\"child\",\"boy\",\"girl\",\"toddler\"],sheet:[15,18]},rolled_up_newspaper:{name:\"Rolled-Up Newspaper\",unified:\"1F5DE\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"newspaper_roll\",\"press\",\"headline\"],sheet:[22,21]},one:{name:\"Keycap 1\",unified:\"0031-20E3\",variations:[\"0031-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[31,2]},barely_sunny:{name:\"White Sun Behind Cloud\",unified:\"1F325\",short_names:[\"sun_behind_cloud\"],added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"sun_behind_large_cloud\",\"weather\"],sheet:[5,19]},\"flag-mv\":{name:\"Maldives\",unified:\"1F1F2-1F1FB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"maldives\",\"mv\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,24]},newspaper:{name:\"Newspaper\",unified:\"1F4F0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"newspaper\",\"press\",\"headline\"],sheet:[18,48]},boy:{name:\"Boy\",unified:\"1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F466-1F3FB\",image:\"1f466-1f3fb.png\",sheet_x:13,sheet_y:46,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F466-1F3FC\",image:\"1f466-1f3fc.png\",sheet_x:13,sheet_y:47,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F466-1F3FD\",image:\"1f466-1f3fd.png\",sheet_x:13,sheet_y:48,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F466-1F3FE\",image:\"1f466-1f3fe.png\",sheet_x:14,sheet_y:0,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F466-1F3FF\",image:\"1f466-1f3ff.png\",sheet_x:14,sheet_y:1,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"boy\",\"man\",\"male\",\"guy\",\"teenager\"],sheet:[13,45]},two:{name:\"Keycap 2\",unified:\"0032-20E3\",variations:[\"0032-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[31,3]},partly_sunny_rain:{name:\"White Sun Behind Cloud with Rain\",unified:\"1F326\",short_names:[\"sun_behind_rain_cloud\"],added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"sun_behind_rain_cloud\",\"weather\"],sheet:[5,20]},\"flag-ml\":{name:\"Mali\",unified:\"1F1F2-1F1F1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mali\",\"ml\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,14]},three:{name:\"Keycap 3\",unified:\"0033-20E3\",variations:[\"0033-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[31,4]},notebook:{name:\"Notebook\",unified:\"1F4D3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"notebook\",\"stationery\",\"record\",\"notes\",\"paper\",\"study\"],sheet:[18,19]},\"flag-mt\":{name:\"Malta\",unified:\"1F1F2-1F1F9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"malta\",\"mt\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,22]},girl:{name:\"Girl\",unified:\"1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F467-1F3FB\",image:\"1f467-1f3fb.png\",sheet_x:14,sheet_y:3,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F467-1F3FC\",image:\"1f467-1f3fc.png\",sheet_x:14,sheet_y:4,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F467-1F3FD\",image:\"1f467-1f3fd.png\",sheet_x:14,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F467-1F3FE\",image:\"1f467-1f3fe.png\",sheet_x:14,sheet_y:6,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F467-1F3FF\",image:\"1f467-1f3ff.png\",sheet_x:14,sheet_y:7,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"girl\",\"female\",\"woman\",\"teenager\"],sheet:[14,2]},rainbow:{name:\"Rainbow\",unified:\"1F308\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rainbow\",\"nature\",\"happy\",\"unicorn_face\",\"photo\",\"sky\",\"spring\"],sheet:[4,41]},four:{name:\"Keycap 4\",unified:\"0034-20E3\",variations:[\"0034-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[31,5]},man:{name:\"Man\",unified:\"1F468\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB\",image:\"1f468-1f3fb.png\",sheet_x:14,sheet_y:9,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F468-1F3FC\",image:\"1f468-1f3fc.png\",sheet_x:14,sheet_y:10,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F468-1F3FD\",image:\"1f468-1f3fd.png\",sheet_x:14,sheet_y:11,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F468-1F3FE\",image:\"1f468-1f3fe.png\",sheet_x:14,sheet_y:12,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F468-1F3FF\",image:\"1f468-1f3ff.png\",sheet_x:14,sheet_y:13,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"man\",\"mustache\",\"father\",\"dad\",\"guy\",\"classy\",\"sir\",\"moustache\"],sheet:[14,8]},\"flag-mh\":{name:\"Marshall Islands\",unified:\"1F1F2-1F1ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"marshall_islands\",\"marshall\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,12]},cloud:{name:\"Cloud\",unified:\"2601\",variations:[\"2601-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,42]},notebook_with_decorative_cover:{name:\"Notebook with Decorative Cover\",unified:\"1F4D4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"notebook_with_decorative_cover\",\"classroom\",\"notes\",\"record\",\"paper\",\"study\"],sheet:[18,20]},woman:{name:\"Woman\",unified:\"1F469\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB\",image:\"1f469-1f3fb.png\",sheet_x:14,sheet_y:15,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F469-1F3FC\",image:\"1f469-1f3fc.png\",sheet_x:14,sheet_y:16,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F469-1F3FD\",image:\"1f469-1f3fd.png\",sheet_x:14,sheet_y:17,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F469-1F3FE\",image:\"1f469-1f3fe.png\",sheet_x:14,sheet_y:18,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F469-1F3FF\",image:\"1f469-1f3ff.png\",sheet_x:14,sheet_y:19,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"woman\",\"female\",\"girls\",\"lady\"],sheet:[14,14]},five:{name:\"Keycap 5\",unified:\"0035-20E3\",variations:[\"0035-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[31,6]},\"flag-mq\":{name:\"Martinique\",unified:\"1F1F2-1F1F6\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"martinique\",\"mq\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,19]},rain_cloud:{name:\"Cloud with Rain\",unified:\"1F327\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"cloud_with_rain\",\"weather\"],sheet:[5,21]},ledger:{name:\"Ledger\",unified:\"1F4D2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ledger\",\"notes\",\"paper\"],sheet:[18,18]},closed_book:{name:\"Closed Book\",unified:\"1F4D5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"closed_book\",\"read\",\"library\",\"knowledge\",\"textbook\",\"learn\"],sheet:[18,21]},six:{name:\"Keycap 6\",unified:\"0036-20E3\",variations:[\"0036-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[31,7]},\"flag-mr\":{name:\"Mauritania\",unified:\"1F1F2-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mauritania\",\"mr\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,20]},\"blond-haired-woman\":{name:\"Blond Haired Woman\",unified:\"1F471-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F471-1F3FB-200D-2640-FE0F\",image:\"1f471-1f3fb-200d-2640-fe0f.png\",sheet_x:42,sheet_y:30,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F471-1F3FC-200D-2640-FE0F\",image:\"1f471-1f3fc-200d-2640-fe0f.png\",sheet_x:42,sheet_y:31,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F471-1F3FD-200D-2640-FE0F\",image:\"1f471-1f3fd-200d-2640-fe0f.png\",sheet_x:42,sheet_y:32,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F471-1F3FE-200D-2640-FE0F\",image:\"1f471-1f3fe-200d-2640-fe0f.png\",sheet_x:42,sheet_y:33,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F471-1F3FF-200D-2640-FE0F\",image:\"1f471-1f3ff-200d-2640-fe0f.png\",sheet_x:42,sheet_y:34,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"blonde_woman\",\"woman\",\"female\",\"girl\",\"blonde\",\"person\"],sheet:[42,29]},thunder_cloud_and_rain:{name:\"Thunder Cloud and Rain\",unified:\"26C8\",added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"cloud_with_lightning_and_rain\",\"weather\",\"lightning\"],sheet:[2,9]},lightning:{name:\"Cloud with Lightning\",unified:\"1F329\",short_names:[\"lightning_cloud\"],added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"cloud_with_lightning\",\"weather\",\"thunder\"],sheet:[5,23]},\"flag-mu\":{name:\"Mauritius\",unified:\"1F1F2-1F1FA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mauritius\",\"mu\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,23]},green_book:{name:\"Green Book\",unified:\"1F4D7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"green_book\",\"read\",\"library\",\"knowledge\",\"study\"],sheet:[18,23]},person_with_blond_hair:{name:\"Person with Blond Hair\",unified:\"1F471\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F471-1F3FB\",image:\"1f471-1f3fb.png\",sheet_x:14,sheet_y:38,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F471-1F3FC\",image:\"1f471-1f3fc.png\",sheet_x:14,sheet_y:39,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F471-1F3FD\",image:\"1f471-1f3fd.png\",sheet_x:14,sheet_y:40,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F471-1F3FE\",image:\"1f471-1f3fe.png\",sheet_x:14,sheet_y:41,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F471-1F3FF\",image:\"1f471-1f3ff.png\",sheet_x:14,sheet_y:42,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F471-200D-2642-FE0F\",keywords:[\"blonde_man\",\"man\",\"male\",\"boy\",\"blonde\",\"guy\",\"person\"],sheet:[14,37]},seven:{name:\"Keycap 7\",unified:\"0037-20E3\",variations:[\"0037-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[31,8]},older_man:{name:\"Older Man\",unified:\"1F474\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F474-1F3FB\",image:\"1f474-1f3fb.png\",sheet_x:15,sheet_y:7,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F474-1F3FC\",image:\"1f474-1f3fc.png\",sheet_x:15,sheet_y:8,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F474-1F3FD\",image:\"1f474-1f3fd.png\",sheet_x:15,sheet_y:9,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F474-1F3FE\",image:\"1f474-1f3fe.png\",sheet_x:15,sheet_y:10,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F474-1F3FF\",image:\"1f474-1f3ff.png\",sheet_x:15,sheet_y:11,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"older_man\",\"human\",\"male\",\"men\",\"old\",\"elder\",\"senior\"],sheet:[15,6]},\"flag-yt\":{name:\"Mayotte\",unified:\"1F1FE-1F1F9\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mayotte\",\"yt\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,20]},blue_book:{name:\"Blue Book\",unified:\"1F4D8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"blue_book\",\"read\",\"library\",\"knowledge\",\"learn\",\"study\"],sheet:[18,24]},snow_cloud:{name:\"Cloud with Snow\",unified:\"1F328\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"cloud_with_snow\",\"weather\"],sheet:[5,22]},eight:{name:\"Keycap 8\",unified:\"0038-20E3\",variations:[\"0038-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[31,9]},orange_book:{name:\"Orange Book\",unified:\"1F4D9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"orange_book\",\"read\",\"library\",\"knowledge\",\"textbook\",\"study\"],sheet:[18,25]},snowman:{name:\"Snowman\",unified:\"2603\",variations:[\"2603-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"snowman_with_snow\",\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\"],sheet:[0,44]},older_woman:{name:\"Older Woman\",unified:\"1F475\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F475-1F3FB\",image:\"1f475-1f3fb.png\",sheet_x:15,sheet_y:13,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F475-1F3FC\",image:\"1f475-1f3fc.png\",sheet_x:15,sheet_y:14,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F475-1F3FD\",image:\"1f475-1f3fd.png\",sheet_x:15,sheet_y:15,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F475-1F3FE\",image:\"1f475-1f3fe.png\",sheet_x:15,sheet_y:16,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F475-1F3FF\",image:\"1f475-1f3ff.png\",sheet_x:15,sheet_y:17,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"older_woman\",\"human\",\"female\",\"women\",\"lady\",\"old\",\"elder\",\"senior\"],sheet:[15,12]},\"flag-mx\":{name:\"Mexico\",unified:\"1F1F2-1F1FD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mexico\",\"mx\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,26]},nine:{name:\"Keycap 9\",unified:\"0039-20E3\",variations:[\"0039-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[31,10]},keycap_ten:{name:\"Keycap Ten\",unified:\"1F51F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"keycap_ten\",\"numbers\",\"10\",\"blue-square\"],sheet:[19,45]},man_with_gua_pi_mao:{name:\"Man with Gua Pi Mao\",unified:\"1F472\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F472-1F3FB\",image:\"1f472-1f3fb.png\",sheet_x:14,sheet_y:44,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F472-1F3FC\",image:\"1f472-1f3fc.png\",sheet_x:14,sheet_y:45,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F472-1F3FD\",image:\"1f472-1f3fd.png\",sheet_x:14,sheet_y:46,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F472-1F3FE\",image:\"1f472-1f3fe.png\",sheet_x:14,sheet_y:47,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F472-1F3FF\",image:\"1f472-1f3ff.png\",sheet_x:14,sheet_y:48,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"man_with_gua_pi_mao\",\"male\",\"boy\",\"chinese\"],sheet:[14,43]},books:{name:\"Books\",unified:\"1F4DA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"books\",\"literature\",\"library\",\"study\"],sheet:[18,26]},\"flag-fm\":{name:\"Micronesia\",unified:\"1F1EB-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"micronesia\",\"micronesia,\",\"federated\",\"states\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,39]},snowman_without_snow:{name:\"Snowman Without Snow\",unified:\"26C4\",variations:[\"26C4-FE0F\"],added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"snowman\",\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\",\"without_snow\"],sheet:[2,7]},book:{name:\"Open Book\",unified:\"1F4D6\",short_names:[\"open_book\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"open_book\",\"book\",\"read\",\"library\",\"knowledge\",\"literature\",\"learn\",\"study\"],sheet:[18,22]},\"woman-wearing-turban\":{name:\"Woman Wearing Turban\",unified:\"1F473-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F473-1F3FB-200D-2640-FE0F\",image:\"1f473-1f3fb-200d-2640-fe0f.png\",sheet_x:42,sheet_y:42,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F473-1F3FC-200D-2640-FE0F\",image:\"1f473-1f3fc-200d-2640-fe0f.png\",sheet_x:42,sheet_y:43,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F473-1F3FD-200D-2640-FE0F\",image:\"1f473-1f3fd-200d-2640-fe0f.png\",sheet_x:42,sheet_y:44,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F473-1F3FE-200D-2640-FE0F\",image:\"1f473-1f3fe-200d-2640-fe0f.png\",sheet_x:42,sheet_y:45,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F473-1F3FF-200D-2640-FE0F\",image:\"1f473-1f3ff-200d-2640-fe0f.png\",sheet_x:42,sheet_y:46,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"woman_with_turban\",\"female\",\"indian\",\"hinduism\",\"arabs\",\"woman\"],sheet:[42,41]},\"flag-md\":{name:\"Moldova\",unified:\"1F1F2-1F1E9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"moldova\",\"moldova,\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,8]},snowflake:{name:\"Snowflake\",unified:\"2744\",variations:[\"2744-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,21]},bookmark:{name:\"Bookmark\",unified:\"1F516\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bookmark\",\"favorite\",\"label\",\"save\"],sheet:[19,36]},\"flag-mc\":{name:\"Monaco\",unified:\"1F1F2-1F1E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"monaco\",\"mc\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,7]},man_with_turban:{name:\"Man with Turban\",unified:\"1F473\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F473-1F3FB\",image:\"1f473-1f3fb.png\",sheet_x:15,sheet_y:1,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F473-1F3FC\",image:\"1f473-1f3fc.png\",sheet_x:15,sheet_y:2,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F473-1F3FD\",image:\"1f473-1f3fd.png\",sheet_x:15,sheet_y:3,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F473-1F3FE\",image:\"1f473-1f3fe.png\",sheet_x:15,sheet_y:4,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F473-1F3FF\",image:\"1f473-1f3ff.png\",sheet_x:15,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F473-200D-2642-FE0F\",keywords:[\"man_with_turban\",\"male\",\"indian\",\"hinduism\",\"arabs\"],sheet:[15,0]},wind_blowing_face:{name:\"Wind Blowing Face\",unified:\"1F32C\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"wind_face\",\"gust\",\"air\"],sheet:[5,26]},hash:{name:\"Hash Key\",unified:\"0023-20E3\",variations:[\"0023-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[30,48]},\"flag-mn\":{name:\"Mongolia\",unified:\"1F1F2-1F1F3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mongolia\",\"mn\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,16]},link:{name:\"Link Symbol\",unified:\"1F517\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"link\",\"rings\",\"url\"],sheet:[19,37]},keycap_star:{name:\"Keycap Star\",unified:\"002A-20E3\",variations:[\"002A-FE0F-20E3\"],added_in:null,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,keywords:[\"asterisk\",\"star\",\"keycap\"],sheet:[31,0]},\"female-police-officer\":{name:\"Female Police Officer\",unified:\"1F46E-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F46E-1F3FB-200D-2640-FE0F\",image:\"1f46e-1f3fb-200d-2640-fe0f.png\",sheet_x:42,sheet_y:16,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F46E-1F3FC-200D-2640-FE0F\",image:\"1f46e-1f3fc-200d-2640-fe0f.png\",sheet_x:42,sheet_y:17,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F46E-1F3FD-200D-2640-FE0F\",image:\"1f46e-1f3fd-200d-2640-fe0f.png\",sheet_x:42,sheet_y:18,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F46E-1F3FE-200D-2640-FE0F\",image:\"1f46e-1f3fe-200d-2640-fe0f.png\",sheet_x:42,sheet_y:19,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F46E-1F3FF-200D-2640-FE0F\",image:\"1f46e-1f3ff-200d-2640-fe0f.png\",sheet_x:42,sheet_y:20,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"policewoman\",\"woman\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\",\"female\"],sheet:[42,15]},dash:{name:\"Dash Symbol\",unified:\"1F4A8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dash\",\"wind\",\"air\",\"fast\",\"shoo\",\"fart\",\"smoke\",\"puff\"],sheet:[17,20]},arrow_forward:{name:\"Black Right-Pointing Triangle\",unified:\"25B6\",variations:[\"25B6-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,35]},paperclip:{name:\"Paperclip\",unified:\"1F4CE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"paperclip\",\"documents\",\"stationery\"],sheet:[18,14]},cop:{name:\"Police Officer\",unified:\"1F46E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F46E-1F3FB\",image:\"1f46e-1f3fb.png\",sheet_x:14,sheet_y:25,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F46E-1F3FC\",image:\"1f46e-1f3fc.png\",sheet_x:14,sheet_y:26,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F46E-1F3FD\",image:\"1f46e-1f3fd.png\",sheet_x:14,sheet_y:27,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F46E-1F3FE\",image:\"1f46e-1f3fe.png\",sheet_x:14,sheet_y:28,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F46E-1F3FF\",image:\"1f46e-1f3ff.png\",sheet_x:14,sheet_y:29,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F46E-200D-2642-FE0F\",keywords:[\"policeman\",\"man\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\"],sheet:[14,24]},\"flag-me\":{name:\"Montenegro\",unified:\"1F1F2-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"montenegro\",\"me\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,9]},tornado:{name:\"Cloud with Tornado\",unified:\"1F32A\",short_names:[\"tornado_cloud\"],added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"tornado\",\"weather\",\"cyclone\",\"twister\"],sheet:[5,24]},\"flag-ms\":{name:\"Montserrat\",unified:\"1F1F2-1F1F8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"montserrat\",\"ms\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,21]},linked_paperclips:{name:\"Linked Paperclips\",unified:\"1F587\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"paperclips\",\"documents\",\"stationery\"],sheet:[21,33]},double_vertical_bar:{name:\"Double Vertical Bar\",unified:\"23F8\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"pause_button\",\"pause\",\"blue-square\"],sheet:[0,29]},\"female-construction-worker\":{name:\"Female Construction Worker\",unified:\"1F477-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F477-1F3FB-200D-2640-FE0F\",image:\"1f477-1f3fb-200d-2640-fe0f.png\",sheet_x:43,sheet_y:5,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F477-1F3FC-200D-2640-FE0F\",image:\"1f477-1f3fc-200d-2640-fe0f.png\",sheet_x:43,sheet_y:6,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F477-1F3FD-200D-2640-FE0F\",image:\"1f477-1f3fd-200d-2640-fe0f.png\",sheet_x:43,sheet_y:7,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F477-1F3FE-200D-2640-FE0F\",image:\"1f477-1f3fe-200d-2640-fe0f.png\",sheet_x:43,sheet_y:8,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F477-1F3FF-200D-2640-FE0F\",image:\"1f477-1f3ff-200d-2640-fe0f.png\",sheet_x:43,sheet_y:9,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"construction_worker_woman\",\"female\",\"human\",\"wip\",\"build\",\"construction\",\"worker\",\"labor\",\"woman\"],sheet:[43,4]},fog:{name:\"Fog\",unified:\"1F32B\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"fog\",\"weather\"],sheet:[5,25]},triangular_ruler:{name:\"Triangular Ruler\",unified:\"1F4D0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"triangular_ruler\",\"stationery\",\"math\",\"architect\",\"sketch\"],sheet:[18,16]},\"flag-ma\":{name:\"Morocco\",unified:\"1F1F2-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"morocco\",\"ma\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,6]},ocean:{name:\"Water Wave\",unified:\"1F30A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ocean\",\"sea\",\"water\",\"wave\",\"nature\",\"tsunami\",\"disaster\"],sheet:[4,43]},construction_worker:{name:\"Construction Worker\",unified:\"1F477\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F477-1F3FB\",image:\"1f477-1f3fb.png\",sheet_x:15,sheet_y:25,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F477-1F3FC\",image:\"1f477-1f3fc.png\",sheet_x:15,sheet_y:26,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F477-1F3FD\",image:\"1f477-1f3fd.png\",sheet_x:15,sheet_y:27,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F477-1F3FE\",image:\"1f477-1f3fe.png\",sheet_x:15,sheet_y:28,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F477-1F3FF\",image:\"1f477-1f3ff.png\",sheet_x:15,sheet_y:29,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F477-200D-2642-FE0F\",keywords:[\"construction_worker_man\",\"male\",\"human\",\"wip\",\"guy\",\"build\",\"construction\",\"worker\",\"labor\"],sheet:[15,24]},black_right_pointing_triangle_with_double_vertical_bar:{name:\"Black Right-Pointing Triangle with Double Vertical Bar\",unified:\"23EF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"play_or_pause_button\",\"blue-square\",\"play\",\"pause\"],sheet:[0,24]},droplet:{name:\"Droplet\",unified:\"1F4A7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"droplet\",\"water\",\"drip\",\"faucet\",\"spring\"],sheet:[17,19]},straight_ruler:{name:\"Straight Ruler\",unified:\"1F4CF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"straight_ruler\",\"stationery\",\"calculate\",\"length\",\"math\",\"school\",\"drawing\",\"architect\",\"sketch\"],sheet:[18,15]},\"female-guard\":{name:\"Female Guard\",unified:\"1F482-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F482-1F3FB-200D-2640-FE0F\",image:\"1f482-1f3fb-200d-2640-fe0f.png\",sheet_x:43,sheet_y:29,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F482-1F3FC-200D-2640-FE0F\",image:\"1f482-1f3fc-200d-2640-fe0f.png\",sheet_x:43,sheet_y:30,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F482-1F3FD-200D-2640-FE0F\",image:\"1f482-1f3fd-200d-2640-fe0f.png\",sheet_x:43,sheet_y:31,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F482-1F3FE-200D-2640-FE0F\",image:\"1f482-1f3fe-200d-2640-fe0f.png\",sheet_x:43,sheet_y:32,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F482-1F3FF-200D-2640-FE0F\",image:\"1f482-1f3ff-200d-2640-fe0f.png\",sheet_x:43,sheet_y:33,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"guardswoman\",\"uk\",\"gb\",\"british\",\"female\",\"royal\",\"woman\"],sheet:[43,28]},black_square_for_stop:{name:\"Black Square for Stop\",unified:\"23F9\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"stop_button\",\"blue-square\"],sheet:[0,30]},\"flag-mz\":{name:\"Mozambique\",unified:\"1F1F2-1F1FF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mozambique\",\"mz\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,28]},sweat_drops:{name:\"Splashing Sweat Symbol\",unified:\"1F4A6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sweat_drops\",\"water\",\"drip\",\"oops\"],sheet:[17,18]},guardsman:{name:\"Guardsman\",unified:\"1F482\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F482-1F3FB\",image:\"1f482-1f3fb.png\",sheet_x:16,sheet_y:7,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F482-1F3FC\",image:\"1f482-1f3fc.png\",sheet_x:16,sheet_y:8,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F482-1F3FD\",image:\"1f482-1f3fd.png\",sheet_x:16,sheet_y:9,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F482-1F3FE\",image:\"1f482-1f3fe.png\",sheet_x:16,sheet_y:10,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F482-1F3FF\",image:\"1f482-1f3ff.png\",sheet_x:16,sheet_y:11,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F482-200D-2642-FE0F\",keywords:[\"guardsman\",\"uk\",\"gb\",\"british\",\"male\",\"guy\",\"royal\"],sheet:[16,6]},pushpin:{name:\"Pushpin\",unified:\"1F4CC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"pushpin\",\"stationery\",\"mark\",\"here\"],sheet:[18,12]},\"flag-mm\":{name:\"Myanmar\",unified:\"1F1F2-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"myanmar\",\"mm\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,15]},eject:{name:\"Eject Symbol\",unified:\"23CF\",added_in:\"4.0\",has_img_apple:false,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,sheet:[0,17]},\"flag-na\":{name:\"Namibia\",unified:\"1F1F3-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"namibia\",\"na\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,29]},umbrella_with_rain_drops:{name:\"Umbrella with Rain Drops\",unified:\"2614\",variations:[\"2614-FE0F\"],added_in:\"4.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"umbrella\",\"rainy\",\"weather\",\"spring\"],sheet:[0,48]},\"female-detective\":{name:\"Female Detective\",unified:\"1F575-FE0F-200D-2640-FE0F\",added_in:\"7.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F575-1F3FB-200D-2640-FE0F\",image:\"1f575-1f3fb-200d-2640-fe0f.png\",sheet_x:44,sheet_y:16,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F575-1F3FC-200D-2640-FE0F\",image:\"1f575-1f3fc-200d-2640-fe0f.png\",sheet_x:44,sheet_y:17,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F575-1F3FD-200D-2640-FE0F\",image:\"1f575-1f3fd-200d-2640-fe0f.png\",sheet_x:44,sheet_y:18,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F575-1F3FE-200D-2640-FE0F\",image:\"1f575-1f3fe-200d-2640-fe0f.png\",sheet_x:44,sheet_y:19,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F575-1F3FF-200D-2640-FE0F\",image:\"1f575-1f3ff-200d-2640-fe0f.png\",sheet_x:44,sheet_y:20,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"female_detective\",\"human\",\"spy\",\"detective\",\"female\",\"woman\"],sheet:[44,15]},black_circle_for_record:{name:\"Black Circle for Record\",unified:\"23FA\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"record_button\",\"blue-square\"],sheet:[0,31]},round_pushpin:{name:\"Round Pushpin\",unified:\"1F4CD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"round_pushpin\",\"stationery\",\"location\",\"map\",\"here\"],sheet:[18,13]},sleuth_or_spy:{name:\"Sleuth or Spy\",unified:\"1F575\",variations:[\"1F575-FE0F\"],added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F575-1F3FB\",image:\"1f575-1f3fb.png\",sheet_x:21,sheet_y:18,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F575-1F3FC\",image:\"1f575-1f3fc.png\",sheet_x:21,sheet_y:19,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F575-1F3FD\",image:\"1f575-1f3fd.png\",sheet_x:21,sheet_y:20,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F575-1F3FE\",image:\"1f575-1f3fe.png\",sheet_x:21,sheet_y:21,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F575-1F3FF\",image:\"1f575-1f3ff.png\",sheet_x:21,sheet_y:22,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},obsoleted_by:\"1F575-FE0F-200D-2642-FE0F\",keywords:[\"male_detective\",\"human\",\"spy\",\"detective\"],sheet:[21,17]},scissors:{name:\"Black Scissors\",unified:\"2702\",variations:[\"2702-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[2,33]},black_right_pointing_double_triangle_with_vertical_bar:{name:\"Black Right-Pointing Double Triangle with Vertical Bar\",unified:\"23ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"next_track_button\",\"forward\",\"next\",\"blue-square\"],sheet:[0,22]},\"flag-nr\":{name:\"Nauru\",unified:\"1F1F3-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"nauru\",\"nr\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,38]},lower_left_ballpoint_pen:{name:\"Lower Left Ballpoint Pen\",unified:\"1F58A\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"pen\",\"stationery\",\"writing\",\"write\"],sheet:[21,34]},\"female-doctor\":{name:\"Female Doctor\",unified:\"1F469-200D-2695-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-2695-FE0F\",image:\"1f469-1f3fb-200d-2695-fe0f.png\",sheet_x:41,sheet_y:43,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-2695-FE0F\",image:\"1f469-1f3fc-200d-2695-fe0f.png\",sheet_x:41,sheet_y:44,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-2695-FE0F\",image:\"1f469-1f3fd-200d-2695-fe0f.png\",sheet_x:41,sheet_y:45,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-2695-FE0F\",image:\"1f469-1f3fe-200d-2695-fe0f.png\",sheet_x:41,sheet_y:46,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-2695-FE0F\",image:\"1f469-1f3ff-200d-2695-fe0f.png\",sheet_x:41,sheet_y:47,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"woman_health_worker\",\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"woman\",\"human\"],sheet:[41,42]},black_left_pointing_double_triangle_with_vertical_bar:{name:\"Black Left-Pointing Double Triangle with Vertical Bar\",unified:\"23EE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"previous_track_button\",\"backward\"],sheet:[0,23]},\"flag-np\":{name:\"Nepal\",unified:\"1F1F3-1F1F5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"nepal\",\"np\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,37]},\"flag-nl\":{name:\"Netherlands\",unified:\"1F1F3-1F1F1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"netherlands\",\"nl\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,35]},fast_forward:{name:\"Black Right-Pointing Double Triangle\",unified:\"23E9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"fast_forward\",\"blue-square\",\"play\",\"speed\",\"continue\"],sheet:[0,18]},\"male-doctor\":{name:\"Male Doctor\",unified:\"1F468-200D-2695-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-2695-FE0F\",image:\"1f468-1f3fb-200d-2695-fe0f.png\",sheet_x:41,sheet_y:15,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-2695-FE0F\",image:\"1f468-1f3fc-200d-2695-fe0f.png\",sheet_x:41,sheet_y:16,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-2695-FE0F\",image:\"1f468-1f3fd-200d-2695-fe0f.png\",sheet_x:41,sheet_y:17,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-2695-FE0F\",image:\"1f468-1f3fe-200d-2695-fe0f.png\",sheet_x:41,sheet_y:18,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-2695-FE0F\",image:\"1f468-1f3ff-200d-2695-fe0f.png\",sheet_x:41,sheet_y:19,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"man_health_worker\",\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"man\",\"human\"],sheet:[41,14]},lower_left_fountain_pen:{name:\"Lower Left Fountain Pen\",unified:\"1F58B\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"fountain_pen\",\"stationery\",\"writing\",\"write\"],sheet:[21,35]},rewind:{name:\"Black Left-Pointing Double Triangle\",unified:\"23EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rewind\",\"play\",\"blue-square\"],sheet:[0,19]},\"female-farmer\":{name:\"Female Farmer\",unified:\"1F469-200D-1F33E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F33E\",image:\"1f469-1f3fb-200d-1f33e.png\",sheet_x:38,sheet_y:7,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F33E\",image:\"1f469-1f3fc-200d-1f33e.png\",sheet_x:38,sheet_y:8,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F33E\",image:\"1f469-1f3fd-200d-1f33e.png\",sheet_x:38,sheet_y:9,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F33E\",image:\"1f469-1f3fe-200d-1f33e.png\",sheet_x:38,sheet_y:10,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F33E\",image:\"1f469-1f3ff-200d-1f33e.png\",sheet_x:38,sheet_y:11,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_farmer\",\"rancher\",\"gardener\",\"woman\",\"human\"],sheet:[38,6]},\"flag-nc\":{name:\"New Caledonia\",unified:\"1F1F3-1F1E8\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"new_caledonia\",\"new\",\"caledonia\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,30]},black_nib:{name:\"Black Nib\",unified:\"2712\",variations:[\"2712-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,13]},\"flag-nz\":{name:\"New Zealand\",unified:\"1F1F3-1F1FF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"new_zealand\",\"new\",\"zealand\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,40]},lower_left_paintbrush:{name:\"Lower Left Paintbrush\",unified:\"1F58C\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"paintbrush\",\"drawing\",\"creativity\",\"art\"],sheet:[21,36]},arrow_double_up:{name:\"Black Up-Pointing Double Triangle\",unified:\"23EB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"arrow_double_up\",\"blue-square\",\"direction\",\"top\"],sheet:[0,20]},\"male-farmer\":{name:\"Male Farmer\",unified:\"1F468-200D-1F33E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F33E\",image:\"1f468-1f3fb-200d-1f33e.png\",sheet_x:36,sheet_y:25,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F33E\",image:\"1f468-1f3fc-200d-1f33e.png\",sheet_x:36,sheet_y:26,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F33E\",image:\"1f468-1f3fd-200d-1f33e.png\",sheet_x:36,sheet_y:27,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F33E\",image:\"1f468-1f3fe-200d-1f33e.png\",sheet_x:36,sheet_y:28,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F33E\",image:\"1f468-1f3ff-200d-1f33e.png\",sheet_x:36,sheet_y:29,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_farmer\",\"rancher\",\"gardener\",\"man\",\"human\"],sheet:[36,24]},arrow_double_down:{name:\"Black Down-Pointing Double Triangle\",unified:\"23EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"arrow_double_down\",\"blue-square\",\"direction\",\"bottom\"],sheet:[0,21]},\"female-cook\":{name:\"Female Cook\",unified:\"1F469-200D-1F373\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F373\",image:\"1f469-1f3fb-200d-1f373.png\",sheet_x:38,sheet_y:13,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F373\",image:\"1f469-1f3fc-200d-1f373.png\",sheet_x:38,sheet_y:14,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F373\",image:\"1f469-1f3fd-200d-1f373.png\",sheet_x:38,sheet_y:15,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F373\",image:\"1f469-1f3fe-200d-1f373.png\",sheet_x:38,sheet_y:16,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F373\",image:\"1f469-1f3ff-200d-1f373.png\",sheet_x:38,sheet_y:17,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_cook\",\"chef\",\"woman\",\"human\"],sheet:[38,12]},lower_left_crayon:{name:\"Lower Left Crayon\",unified:\"1F58D\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"crayon\",\"drawing\",\"creativity\"],sheet:[21,37]},\"flag-ni\":{name:\"Nicaragua\",unified:\"1F1F3-1F1EE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"nicaragua\",\"ni\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,34]},memo:{name:\"Memo\",unified:\"1F4DD\",short_names:[\"pencil\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"memo\",\"write\",\"documents\",\"stationery\",\"pencil\",\"paper\",\"writing\",\"legal\",\"exam\",\"quiz\",\"test\",\"study\",\"compose\"],sheet:[18,29]},arrow_backward:{name:\"Black Left-Pointing Triangle\",unified:\"25C0\",variations:[\"25C0-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,36]},\"flag-ne\":{name:\"Niger\",unified:\"1F1F3-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"niger\",\"ne\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,31]},\"male-cook\":{name:\"Male Cook\",unified:\"1F468-200D-1F373\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F373\",image:\"1f468-1f3fb-200d-1f373.png\",sheet_x:36,sheet_y:31,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F373\",image:\"1f468-1f3fc-200d-1f373.png\",sheet_x:36,sheet_y:32,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F373\",image:\"1f468-1f3fd-200d-1f373.png\",sheet_x:36,sheet_y:33,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F373\",image:\"1f468-1f3fe-200d-1f373.png\",sheet_x:36,sheet_y:34,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F373\",image:\"1f468-1f3ff-200d-1f373.png\",sheet_x:36,sheet_y:35,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_cook\",\"chef\",\"man\",\"human\"],sheet:[36,30]},\"flag-ng\":{name:\"Nigeria\",unified:\"1F1F3-1F1EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"nigeria\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,33]},\"pencil2\":{name:\"Pencil\",unified:\"270F\",variations:[\"270F-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,12]},arrow_up_small:{name:\"Up-Pointing Small Red Triangle\",unified:\"1F53C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"arrow_up_small\",\"blue-square\",\"triangle\",\"direction\",\"point\",\"forward\",\"top\"],sheet:[20,25]},\"female-student\":{name:\"Female Student\",unified:\"1F469-200D-1F393\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F393\",image:\"1f469-1f3fb-200d-1f393.png\",sheet_x:38,sheet_y:19,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F393\",image:\"1f469-1f3fc-200d-1f393.png\",sheet_x:38,sheet_y:20,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F393\",image:\"1f469-1f3fd-200d-1f393.png\",sheet_x:38,sheet_y:21,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F393\",image:\"1f469-1f3fe-200d-1f393.png\",sheet_x:38,sheet_y:22,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F393\",image:\"1f469-1f3ff-200d-1f393.png\",sheet_x:38,sheet_y:23,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_student\",\"graduate\",\"woman\",\"human\"],sheet:[38,18]},\"male-student\":{name:\"Male Student\",unified:\"1F468-200D-1F393\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F393\",image:\"1f468-1f3fb-200d-1f393.png\",sheet_x:36,sheet_y:37,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F393\",image:\"1f468-1f3fc-200d-1f393.png\",sheet_x:36,sheet_y:38,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F393\",image:\"1f468-1f3fd-200d-1f393.png\",sheet_x:36,sheet_y:39,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F393\",image:\"1f468-1f3fe-200d-1f393.png\",sheet_x:36,sheet_y:40,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F393\",image:\"1f468-1f3ff-200d-1f393.png\",sheet_x:36,sheet_y:41,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_student\",\"graduate\",\"man\",\"human\"],sheet:[36,36]},\"flag-nu\":{name:\"Niue\",unified:\"1F1F3-1F1FA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"niue\",\"nu\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,39]},mag:{name:\"Left-Pointing Magnifying Glass\",unified:\"1F50D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mag\",\"search\",\"zoom\",\"find\",\"detective\"],sheet:[19,27]},arrow_down_small:{name:\"Down-Pointing Small Red Triangle\",unified:\"1F53D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"arrow_down_small\",\"blue-square\",\"direction\",\"bottom\"],sheet:[20,26]},arrow_right:{name:\"Black Rightwards Arrow\",unified:\"27A1\",variations:[\"27A1-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,34]},\"flag-nf\":{name:\"Norfolk Island\",unified:\"1F1F3-1F1EB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"norfolk_island\",\"norfolk\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,32]},mag_right:{name:\"Right-Pointing Magnifying Glass\",unified:\"1F50E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mag_right\",\"search\",\"zoom\",\"find\",\"detective\"],sheet:[19,28]},\"female-singer\":{name:\"Female Singer\",unified:\"1F469-200D-1F3A4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F3A4\",image:\"1f469-1f3fb-200d-1f3a4.png\",sheet_x:38,sheet_y:25,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F3A4\",image:\"1f469-1f3fc-200d-1f3a4.png\",sheet_x:38,sheet_y:26,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F3A4\",image:\"1f469-1f3fd-200d-1f3a4.png\",sheet_x:38,sheet_y:27,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F3A4\",image:\"1f469-1f3fe-200d-1f3a4.png\",sheet_x:38,sheet_y:28,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F3A4\",image:\"1f469-1f3ff-200d-1f3a4.png\",sheet_x:38,sheet_y:29,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_singer\",\"rockstar\",\"entertainer\",\"woman\",\"human\"],sheet:[38,24]},arrow_left:{name:\"Leftwards Black Arrow\",unified:\"2B05\",variations:[\"2B05-FE0F\"],added_in:\"4.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,39]},\"flag-mp\":{name:\"Northern Mariana Islands\",unified:\"1F1F2-1F1F5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"northern_mariana_islands\",\"northern\",\"mariana\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,18]},lock_with_ink_pen:{name:\"Lock with Ink Pen\",unified:\"1F50F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"lock_with_ink_pen\",\"security\",\"secret\"],sheet:[19,29]},\"male-singer\":{name:\"Male Singer\",unified:\"1F468-200D-1F3A4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F3A4\",image:\"1f468-1f3fb-200d-1f3a4.png\",sheet_x:36,sheet_y:43,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F3A4\",image:\"1f468-1f3fc-200d-1f3a4.png\",sheet_x:36,sheet_y:44,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F3A4\",image:\"1f468-1f3fd-200d-1f3a4.png\",sheet_x:36,sheet_y:45,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F3A4\",image:\"1f468-1f3fe-200d-1f3a4.png\",sheet_x:36,sheet_y:46,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F3A4\",image:\"1f468-1f3ff-200d-1f3a4.png\",sheet_x:36,sheet_y:47,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_singer\",\"rockstar\",\"entertainer\",\"man\",\"human\"],sheet:[36,42]},arrow_up:{name:\"Upwards Black Arrow\",unified:\"2B06\",variations:[\"2B06-FE0F\"],added_in:\"4.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,40]},\"female-teacher\":{name:\"Female Teacher\",unified:\"1F469-200D-1F3EB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F3EB\",image:\"1f469-1f3fb-200d-1f3eb.png\",sheet_x:38,sheet_y:37,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F3EB\",image:\"1f469-1f3fc-200d-1f3eb.png\",sheet_x:38,sheet_y:38,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F3EB\",image:\"1f469-1f3fd-200d-1f3eb.png\",sheet_x:38,sheet_y:39,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F3EB\",image:\"1f469-1f3fe-200d-1f3eb.png\",sheet_x:38,sheet_y:40,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F3EB\",image:\"1f469-1f3ff-200d-1f3eb.png\",sheet_x:38,sheet_y:41,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_teacher\",\"instructor\",\"professor\",\"woman\",\"human\"],sheet:[38,36]},\"flag-kp\":{name:\"North Korea\",unified:\"1F1F0-1F1F5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"north_korea\",\"north\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],sheet:[33,39]},closed_lock_with_key:{name:\"Closed Lock with Key\",unified:\"1F510\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"closed_lock_with_key\",\"security\",\"privacy\"],sheet:[19,30]},arrow_down:{name:\"Downwards Black Arrow\",unified:\"2B07\",variations:[\"2B07-FE0F\"],added_in:\"4.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,41]},\"male-teacher\":{name:\"Male Teacher\",unified:\"1F468-200D-1F3EB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F3EB\",image:\"1f468-1f3fb-200d-1f3eb.png\",sheet_x:37,sheet_y:6,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F3EB\",image:\"1f468-1f3fc-200d-1f3eb.png\",sheet_x:37,sheet_y:7,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F3EB\",image:\"1f468-1f3fd-200d-1f3eb.png\",sheet_x:37,sheet_y:8,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F3EB\",image:\"1f468-1f3fe-200d-1f3eb.png\",sheet_x:37,sheet_y:9,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F3EB\",image:\"1f468-1f3ff-200d-1f3eb.png\",sheet_x:37,sheet_y:10,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_teacher\",\"instructor\",\"professor\",\"man\",\"human\"],sheet:[37,5]},\"flag-no\":{name:\"Norway\",unified:\"1F1F3-1F1F4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"norway\",\"no\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,36]},lock:{name:\"Lock\",unified:\"1F512\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"lock\",\"security\",\"password\",\"padlock\"],sheet:[19,32]},unlock:{name:\"Open Lock\",unified:\"1F513\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"unlock\",\"privacy\",\"security\"],sheet:[19,33]},\"flag-om\":{name:\"Oman\",unified:\"1F1F4-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"oman\",\"om_symbol\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,41]},arrow_upper_right:{name:\"North East Arrow\",unified:\"2197\",variations:[\"2197-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,9]},\"female-factory-worker\":{name:\"Female Factory Worker\",unified:\"1F469-200D-1F3ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F3ED\",image:\"1f469-1f3fb-200d-1f3ed.png\",sheet_x:38,sheet_y:43,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F3ED\",image:\"1f469-1f3fc-200d-1f3ed.png\",sheet_x:38,sheet_y:44,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F3ED\",image:\"1f469-1f3fd-200d-1f3ed.png\",sheet_x:38,sheet_y:45,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F3ED\",image:\"1f469-1f3fe-200d-1f3ed.png\",sheet_x:38,sheet_y:46,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F3ED\",image:\"1f469-1f3ff-200d-1f3ed.png\",sheet_x:38,sheet_y:47,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_factory_worker\",\"assembly\",\"industrial\",\"woman\",\"human\"],sheet:[38,42]},\"male-factory-worker\":{name:\"Male Factory Worker\",unified:\"1F468-200D-1F3ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F3ED\",image:\"1f468-1f3fb-200d-1f3ed.png\",sheet_x:37,sheet_y:12,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F3ED\",image:\"1f468-1f3fc-200d-1f3ed.png\",sheet_x:37,sheet_y:13,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F3ED\",image:\"1f468-1f3fd-200d-1f3ed.png\",sheet_x:37,sheet_y:14,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F3ED\",image:\"1f468-1f3fe-200d-1f3ed.png\",sheet_x:37,sheet_y:15,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F3ED\",image:\"1f468-1f3ff-200d-1f3ed.png\",sheet_x:37,sheet_y:16,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_factory_worker\",\"assembly\",\"industrial\",\"man\",\"human\"],sheet:[37,11]},\"flag-pk\":{name:\"Pakistan\",unified:\"1F1F5-1F1F0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"pakistan\",\"pk\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,47]},arrow_lower_right:{name:\"South East Arrow\",unified:\"2198\",variations:[\"2198-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,10]},\"flag-pw\":{name:\"Palau\",unified:\"1F1F5-1F1FC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"palau\",\"pw\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,5]},\"female-technologist\":{name:\"Female Technologist\",unified:\"1F469-200D-1F4BB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F4BB\",image:\"1f469-1f3fb-200d-1f4bb.png\",sheet_x:39,sheet_y:2,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F4BB\",image:\"1f469-1f3fc-200d-1f4bb.png\",sheet_x:39,sheet_y:3,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F4BB\",image:\"1f469-1f3fd-200d-1f4bb.png\",sheet_x:39,sheet_y:4,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F4BB\",image:\"1f469-1f3fe-200d-1f4bb.png\",sheet_x:39,sheet_y:5,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F4BB\",image:\"1f469-1f3ff-200d-1f4bb.png\",sheet_x:39,sheet_y:6,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_technologist\",\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"woman\",\"human\",\"laptop\",\"computer\"],sheet:[39,1]},arrow_lower_left:{name:\"South West Arrow\",unified:\"2199\",variations:[\"2199-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,11]},arrow_upper_left:{name:\"North West Arrow\",unified:\"2196\",variations:[\"2196-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,8]},\"flag-ps\":{name:\"Palestinian Territories\",unified:\"1F1F5-1F1F8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"palestinian_territories\",\"palestine\",\"palestinian\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,3]},\"male-technologist\":{name:\"Male Technologist\",unified:\"1F468-200D-1F4BB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F4BB\",image:\"1f468-1f3fb-200d-1f4bb.png\",sheet_x:37,sheet_y:20,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F4BB\",image:\"1f468-1f3fc-200d-1f4bb.png\",sheet_x:37,sheet_y:21,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F4BB\",image:\"1f468-1f3fd-200d-1f4bb.png\",sheet_x:37,sheet_y:22,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F4BB\",image:\"1f468-1f3fe-200d-1f4bb.png\",sheet_x:37,sheet_y:23,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F4BB\",image:\"1f468-1f3ff-200d-1f4bb.png\",sheet_x:37,sheet_y:24,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_technologist\",\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"man\",\"human\",\"laptop\",\"computer\"],sheet:[37,19]},\"flag-pa\":{name:\"Panama\",unified:\"1F1F5-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"panama\",\"pa\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,42]},\"female-office-worker\":{name:\"Female Office Worker\",unified:\"1F469-200D-1F4BC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F4BC\",image:\"1f469-1f3fb-200d-1f4bc.png\",sheet_x:39,sheet_y:8,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F4BC\",image:\"1f469-1f3fc-200d-1f4bc.png\",sheet_x:39,sheet_y:9,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F4BC\",image:\"1f469-1f3fd-200d-1f4bc.png\",sheet_x:39,sheet_y:10,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F4BC\",image:\"1f469-1f3fe-200d-1f4bc.png\",sheet_x:39,sheet_y:11,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F4BC\",image:\"1f469-1f3ff-200d-1f4bc.png\",sheet_x:39,sheet_y:12,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_office_worker\",\"business\",\"manager\",\"woman\",\"human\"],sheet:[39,7]},arrow_up_down:{name:\"Up Down Arrow\",unified:\"2195\",variations:[\"2195-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,7]},\"male-office-worker\":{name:\"Male Office Worker\",unified:\"1F468-200D-1F4BC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F4BC\",image:\"1f468-1f3fb-200d-1f4bc.png\",sheet_x:37,sheet_y:26,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F4BC\",image:\"1f468-1f3fc-200d-1f4bc.png\",sheet_x:37,sheet_y:27,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F4BC\",image:\"1f468-1f3fd-200d-1f4bc.png\",sheet_x:37,sheet_y:28,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F4BC\",image:\"1f468-1f3fe-200d-1f4bc.png\",sheet_x:37,sheet_y:29,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F4BC\",image:\"1f468-1f3ff-200d-1f4bc.png\",sheet_x:37,sheet_y:30,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_office_worker\",\"business\",\"manager\",\"man\",\"human\"],sheet:[37,25]},\"flag-pg\":{name:\"Papua New Guinea\",unified:\"1F1F5-1F1EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"papua_new_guinea\",\"papua\",\"new\",\"guinea\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,45]},left_right_arrow:{name:\"Left Right Arrow\",unified:\"2194\",variations:[\"2194-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,6]},\"flag-py\":{name:\"Paraguay\",unified:\"1F1F5-1F1FE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"paraguay\",\"py\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,6]},arrow_right_hook:{name:\"Rightwards Arrow with Hook\",unified:\"21AA\",variations:[\"21AA-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,13]},\"female-mechanic\":{name:\"Female Mechanic\",unified:\"1F469-200D-1F527\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F527\",image:\"1f469-1f3fb-200d-1f527.png\",sheet_x:39,sheet_y:14,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F527\",image:\"1f469-1f3fc-200d-1f527.png\",sheet_x:39,sheet_y:15,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F527\",image:\"1f469-1f3fd-200d-1f527.png\",sheet_x:39,sheet_y:16,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F527\",image:\"1f469-1f3fe-200d-1f527.png\",sheet_x:39,sheet_y:17,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F527\",image:\"1f469-1f3ff-200d-1f527.png\",sheet_x:39,sheet_y:18,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_mechanic\",\"plumber\",\"woman\",\"human\",\"wrench\"],sheet:[39,13]},\"flag-pe\":{name:\"Peru\",unified:\"1F1F5-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"peru\",\"pe\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,43]},\"male-mechanic\":{name:\"Male Mechanic\",unified:\"1F468-200D-1F527\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F527\",image:\"1f468-1f3fb-200d-1f527.png\",sheet_x:37,sheet_y:32,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F527\",image:\"1f468-1f3fc-200d-1f527.png\",sheet_x:37,sheet_y:33,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F527\",image:\"1f468-1f3fd-200d-1f527.png\",sheet_x:37,sheet_y:34,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F527\",image:\"1f468-1f3fe-200d-1f527.png\",sheet_x:37,sheet_y:35,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F527\",image:\"1f468-1f3ff-200d-1f527.png\",sheet_x:37,sheet_y:36,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_mechanic\",\"plumber\",\"man\",\"human\",\"wrench\"],sheet:[37,31]},leftwards_arrow_with_hook:{name:\"Leftwards Arrow with Hook\",unified:\"21A9\",variations:[\"21A9-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,12]},\"female-scientist\":{name:\"Female Scientist\",unified:\"1F469-200D-1F52C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F52C\",image:\"1f469-1f3fb-200d-1f52c.png\",sheet_x:39,sheet_y:20,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F52C\",image:\"1f469-1f3fc-200d-1f52c.png\",sheet_x:39,sheet_y:21,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F52C\",image:\"1f469-1f3fd-200d-1f52c.png\",sheet_x:39,sheet_y:22,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F52C\",image:\"1f469-1f3fe-200d-1f52c.png\",sheet_x:39,sheet_y:23,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F52C\",image:\"1f469-1f3ff-200d-1f52c.png\",sheet_x:39,sheet_y:24,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_scientist\",\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"woman\",\"human\"],sheet:[39,19]},arrow_heading_up:{name:\"Arrow Pointing Rightwards Then Curving Upwards\",unified:\"2934\",variations:[\"2934-FE0F\"],added_in:\"3.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,37]},\"flag-ph\":{name:\"Philippines\",unified:\"1F1F5-1F1ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"philippines\",\"ph\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,46]},\"flag-pn\":{name:\"Pitcairn Islands\",unified:\"1F1F5-1F1F3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"pitcairn_islands\",\"pitcairn\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,1]},arrow_heading_down:{name:\"Arrow Pointing Rightwards Then Curving Downwards\",unified:\"2935\",variations:[\"2935-FE0F\"],added_in:\"3.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,38]},\"male-scientist\":{name:\"Male Scientist\",unified:\"1F468-200D-1F52C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F52C\",image:\"1f468-1f3fb-200d-1f52c.png\",sheet_x:37,sheet_y:38,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F52C\",image:\"1f468-1f3fc-200d-1f52c.png\",sheet_x:37,sheet_y:39,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F52C\",image:\"1f468-1f3fd-200d-1f52c.png\",sheet_x:37,sheet_y:40,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F52C\",image:\"1f468-1f3fe-200d-1f52c.png\",sheet_x:37,sheet_y:41,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F52C\",image:\"1f468-1f3ff-200d-1f52c.png\",sheet_x:37,sheet_y:42,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_scientist\",\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"man\",\"human\"],sheet:[37,37]},\"flag-pl\":{name:\"Poland\",unified:\"1F1F5-1F1F1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"poland\",\"pl\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[34,48]},twisted_rightwards_arrows:{name:\"Twisted Rightwards Arrows\",unified:\"1F500\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"twisted_rightwards_arrows\",\"blue-square\",\"shuffle\",\"music\",\"random\"],sheet:[19,14]},\"female-artist\":{name:\"Female Artist\",unified:\"1F469-200D-1F3A8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F3A8\",image:\"1f469-1f3fb-200d-1f3a8.png\",sheet_x:38,sheet_y:31,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F3A8\",image:\"1f469-1f3fc-200d-1f3a8.png\",sheet_x:38,sheet_y:32,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F3A8\",image:\"1f469-1f3fd-200d-1f3a8.png\",sheet_x:38,sheet_y:33,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F3A8\",image:\"1f469-1f3fe-200d-1f3a8.png\",sheet_x:38,sheet_y:34,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F3A8\",image:\"1f469-1f3ff-200d-1f3a8.png\",sheet_x:38,sheet_y:35,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_artist\",\"painter\",\"woman\",\"human\"],sheet:[38,30]},repeat:{name:\"Clockwise Rightwards and Leftwards Open Circle Arrows\",unified:\"1F501\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"repeat\",\"loop\",\"record\"],sheet:[19,15]},\"male-artist\":{name:\"Male Artist\",unified:\"1F468-200D-1F3A8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F3A8\",image:\"1f468-1f3fb-200d-1f3a8.png\",sheet_x:37,sheet_y:0,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F3A8\",image:\"1f468-1f3fc-200d-1f3a8.png\",sheet_x:37,sheet_y:1,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F3A8\",image:\"1f468-1f3fd-200d-1f3a8.png\",sheet_x:37,sheet_y:2,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F3A8\",image:\"1f468-1f3fe-200d-1f3a8.png\",sheet_x:37,sheet_y:3,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F3A8\",image:\"1f468-1f3ff-200d-1f3a8.png\",sheet_x:37,sheet_y:4,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_artist\",\"painter\",\"man\",\"human\"],sheet:[36,48]},\"flag-pt\":{name:\"Portugal\",unified:\"1F1F5-1F1F9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"portugal\",\"pt\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,4]},\"flag-pr\":{name:\"Puerto Rico\",unified:\"1F1F5-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"puerto_rico\",\"puerto\",\"rico\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,2]},repeat_one:{name:\"Clockwise Rightwards and Leftwards Open Circle Arrows with Circled One Overlay\",unified:\"1F502\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"repeat_one\",\"blue-square\",\"loop\"],sheet:[19,16]},\"female-firefighter\":{name:\"Female Firefighter\",unified:\"1F469-200D-1F692\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F692\",image:\"1f469-1f3fb-200d-1f692.png\",sheet_x:39,sheet_y:32,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F692\",image:\"1f469-1f3fc-200d-1f692.png\",sheet_x:39,sheet_y:33,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F692\",image:\"1f469-1f3fd-200d-1f692.png\",sheet_x:39,sheet_y:34,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F692\",image:\"1f469-1f3fe-200d-1f692.png\",sheet_x:39,sheet_y:35,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F692\",image:\"1f469-1f3ff-200d-1f692.png\",sheet_x:39,sheet_y:36,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_firefighter\",\"fireman\",\"woman\",\"human\"],sheet:[39,31]},\"male-firefighter\":{name:\"Male Firefighter\",unified:\"1F468-200D-1F692\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F692\",image:\"1f468-1f3fb-200d-1f692.png\",sheet_x:38,sheet_y:1,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F692\",image:\"1f468-1f3fc-200d-1f692.png\",sheet_x:38,sheet_y:2,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F692\",image:\"1f468-1f3fd-200d-1f692.png\",sheet_x:38,sheet_y:3,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F692\",image:\"1f468-1f3fe-200d-1f692.png\",sheet_x:38,sheet_y:4,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F692\",image:\"1f468-1f3ff-200d-1f692.png\",sheet_x:38,sheet_y:5,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_firefighter\",\"fireman\",\"man\",\"human\"],sheet:[38,0]},\"flag-qa\":{name:\"Qatar\",unified:\"1F1F6-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"qatar\",\"qa\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,7]},arrows_counterclockwise:{name:\"Anticlockwise Downwards and Upwards Open Circle Arrows\",unified:\"1F504\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"arrows_counterclockwise\",\"blue-square\",\"sync\",\"cycle\"],sheet:[19,18]},arrows_clockwise:{name:\"Clockwise Downwards and Upwards Open Circle Arrows\",unified:\"1F503\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"arrows_clockwise\",\"sync\",\"cycle\",\"round\",\"repeat\"],sheet:[19,17]},\"female-pilot\":{name:\"Female Pilot\",unified:\"1F469-200D-2708-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-2708-FE0F\",image:\"1f469-1f3fb-200d-2708-fe0f.png\",sheet_x:42,sheet_y:6,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-2708-FE0F\",image:\"1f469-1f3fc-200d-2708-fe0f.png\",sheet_x:42,sheet_y:7,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-2708-FE0F\",image:\"1f469-1f3fd-200d-2708-fe0f.png\",sheet_x:42,sheet_y:8,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-2708-FE0F\",image:\"1f469-1f3fe-200d-2708-fe0f.png\",sheet_x:42,sheet_y:9,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-2708-FE0F\",image:\"1f469-1f3ff-200d-2708-fe0f.png\",sheet_x:42,sheet_y:10,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"woman_pilot\",\"aviator\",\"plane\",\"woman\",\"human\"],sheet:[42,5]},\"flag-re\":{name:\"Reunion\",unified:\"1F1F7-1F1EA\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"reunion\",\"réunion\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,8]},musical_note:{name:\"Musical Note\",unified:\"1F3B5\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"musical_note\",\"score\",\"tone\",\"sound\"],sheet:[8,16]},\"male-pilot\":{name:\"Male Pilot\",unified:\"1F468-200D-2708-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-2708-FE0F\",image:\"1f468-1f3fb-200d-2708-fe0f.png\",sheet_x:41,sheet_y:27,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-2708-FE0F\",image:\"1f468-1f3fc-200d-2708-fe0f.png\",sheet_x:41,sheet_y:28,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-2708-FE0F\",image:\"1f468-1f3fd-200d-2708-fe0f.png\",sheet_x:41,sheet_y:29,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-2708-FE0F\",image:\"1f468-1f3fe-200d-2708-fe0f.png\",sheet_x:41,sheet_y:30,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-2708-FE0F\",image:\"1f468-1f3ff-200d-2708-fe0f.png\",sheet_x:41,sheet_y:31,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"man_pilot\",\"aviator\",\"plane\",\"man\",\"human\"],sheet:[41,26]},\"flag-ro\":{name:\"Romania\",unified:\"1F1F7-1F1F4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"romania\",\"ro\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,9]},notes:{name:\"Multiple Musical Notes\",unified:\"1F3B6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"notes\",\"music\",\"score\"],sheet:[8,17]},\"female-astronaut\":{name:\"Female Astronaut\",unified:\"1F469-200D-1F680\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-1F680\",image:\"1f469-1f3fb-200d-1f680.png\",sheet_x:39,sheet_y:26,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-1F680\",image:\"1f469-1f3fc-200d-1f680.png\",sheet_x:39,sheet_y:27,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-1F680\",image:\"1f469-1f3fd-200d-1f680.png\",sheet_x:39,sheet_y:28,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-1F680\",image:\"1f469-1f3fe-200d-1f680.png\",sheet_x:39,sheet_y:29,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-1F680\",image:\"1f469-1f3ff-200d-1f680.png\",sheet_x:39,sheet_y:30,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_astronaut\",\"space\",\"rocket\",\"woman\",\"human\"],sheet:[39,25]},\"flag-ru\":{name:\"RU\",unified:\"1F1F7-1F1FA\",short_names:[\"ru\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ru\",\"russian\",\"federation\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,11]},heavy_plus_sign:{name:\"Heavy Plus Sign\",unified:\"2795\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"heavy_plus_sign\",\"math\",\"calculation\",\"addition\",\"more\",\"increase\"],sheet:[3,31]},\"flag-rw\":{name:\"Rwanda\",unified:\"1F1F7-1F1FC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"rwanda\",\"rw\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,12]},\"male-astronaut\":{name:\"Male Astronaut\",unified:\"1F468-200D-1F680\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-1F680\",image:\"1f468-1f3fb-200d-1f680.png\",sheet_x:37,sheet_y:44,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-1F680\",image:\"1f468-1f3fc-200d-1f680.png\",sheet_x:37,sheet_y:45,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-1F680\",image:\"1f468-1f3fd-200d-1f680.png\",sheet_x:37,sheet_y:46,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-1F680\",image:\"1f468-1f3fe-200d-1f680.png\",sheet_x:37,sheet_y:47,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-1F680\",image:\"1f468-1f3ff-200d-1f680.png\",sheet_x:37,sheet_y:48,has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_astronaut\",\"space\",\"rocket\",\"man\",\"human\"],sheet:[37,43]},heavy_minus_sign:{name:\"Heavy Minus Sign\",unified:\"2796\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"heavy_minus_sign\",\"math\",\"calculation\",\"subtract\",\"less\"],sheet:[3,32]},\"female-judge\":{name:\"Female Judge\",unified:\"1F469-200D-2696-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F469-1F3FB-200D-2696-FE0F\",image:\"1f469-1f3fb-200d-2696-fe0f.png\",sheet_x:42,sheet_y:0,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F469-1F3FC-200D-2696-FE0F\",image:\"1f469-1f3fc-200d-2696-fe0f.png\",sheet_x:42,sheet_y:1,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F469-1F3FD-200D-2696-FE0F\",image:\"1f469-1f3fd-200d-2696-fe0f.png\",sheet_x:42,sheet_y:2,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F469-1F3FE-200D-2696-FE0F\",image:\"1f469-1f3fe-200d-2696-fe0f.png\",sheet_x:42,sheet_y:3,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F469-1F3FF-200D-2696-FE0F\",image:\"1f469-1f3ff-200d-2696-fe0f.png\",sheet_x:42,sheet_y:4,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"woman_judge\",\"justice\",\"court\",\"woman\",\"human\"],sheet:[41,48]},\"flag-bl\":{name:\"St Barthelemy\",unified:\"1F1E7-1F1F1\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"st_barthelemy\",\"saint\",\"barthélemy\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[31,37]},\"flag-sh\":{name:\"St Helena\",unified:\"1F1F8-1F1ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"st_helena\",\"saint\",\"helena\",\"ascension\",\"tristan\",\"cunha\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,19]},heavy_division_sign:{name:\"Heavy Division Sign\",unified:\"2797\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"heavy_division_sign\",\"divide\",\"math\",\"calculation\"],sheet:[3,33]},\"male-judge\":{name:\"Male Judge\",unified:\"1F468-200D-2696-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F468-1F3FB-200D-2696-FE0F\",image:\"1f468-1f3fb-200d-2696-fe0f.png\",sheet_x:41,sheet_y:21,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F468-1F3FC-200D-2696-FE0F\",image:\"1f468-1f3fc-200d-2696-fe0f.png\",sheet_x:41,sheet_y:22,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F468-1F3FD-200D-2696-FE0F\",image:\"1f468-1f3fd-200d-2696-fe0f.png\",sheet_x:41,sheet_y:23,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F468-1F3FE-200D-2696-FE0F\",image:\"1f468-1f3fe-200d-2696-fe0f.png\",sheet_x:41,sheet_y:24,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F468-1F3FF-200D-2696-FE0F\",image:\"1f468-1f3ff-200d-2696-fe0f.png\",sheet_x:41,sheet_y:25,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"man_judge\",\"justice\",\"court\",\"man\",\"human\"],sheet:[41,20]},heavy_multiplication_x:{name:\"Heavy Multiplication X\",unified:\"2716\",variations:[\"2716-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,15]},mother_christmas:{name:\"Mother Christmas\",unified:\"1F936\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F936-1F3FB\",image:\"1f936-1f3fb.png\",sheet_x:29,sheet_y:15,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F936-1F3FC\",image:\"1f936-1f3fc.png\",sheet_x:29,sheet_y:16,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F936-1F3FD\",image:\"1f936-1f3fd.png\",sheet_x:29,sheet_y:17,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F936-1F3FE\",image:\"1f936-1f3fe.png\",sheet_x:29,sheet_y:18,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F936-1F3FF\",image:\"1f936-1f3ff.png\",sheet_x:29,sheet_y:19,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"mrs_claus\",\"woman\",\"female\",\"xmas\",\"mother christmas\"],sheet:[29,14]},\"flag-kn\":{name:\"St Kitts Nevis\",unified:\"1F1F0-1F1F3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"st_kitts_nevis\",\"saint\",\"kitts\",\"nevis\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,38]},heavy_dollar_sign:{name:\"Heavy Dollar Sign\",unified:\"1F4B2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"heavy_dollar_sign\",\"money\",\"sales\",\"payment\",\"currency\",\"buck\"],sheet:[17,35]},\"flag-lc\":{name:\"St Lucia\",unified:\"1F1F1-1F1E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"st_lucia\",\"saint\",\"lucia\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,46]},santa:{name:\"Father Christmas\",unified:\"1F385\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F385-1F3FB\",image:\"1f385-1f3fb.png\",sheet_x:7,sheet_y:18,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F385-1F3FC\",image:\"1f385-1f3fc.png\",sheet_x:7,sheet_y:19,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F385-1F3FD\",image:\"1f385-1f3fd.png\",sheet_x:7,sheet_y:20,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F385-1F3FE\",image:\"1f385-1f3fe.png\",sheet_x:7,sheet_y:21,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F385-1F3FF\",image:\"1f385-1f3ff.png\",sheet_x:7,sheet_y:22,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"santa\",\"festival\",\"man\",\"male\",\"xmas\",\"father christmas\"],sheet:[7,17]},currency_exchange:{name:\"Currency Exchange\",unified:\"1F4B1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"currency_exchange\",\"money\",\"sales\",\"dollar\",\"travel\"],sheet:[17,34]},princess:{name:\"Princess\",unified:\"1F478\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F478-1F3FB\",image:\"1f478-1f3fb.png\",sheet_x:15,sheet_y:31,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F478-1F3FC\",image:\"1f478-1f3fc.png\",sheet_x:15,sheet_y:32,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F478-1F3FD\",image:\"1f478-1f3fd.png\",sheet_x:15,sheet_y:33,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F478-1F3FE\",image:\"1f478-1f3fe.png\",sheet_x:15,sheet_y:34,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F478-1F3FF\",image:\"1f478-1f3ff.png\",sheet_x:15,sheet_y:35,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"princess\",\"girl\",\"woman\",\"female\",\"blond\",\"crown\",\"royal\",\"queen\"],sheet:[15,30]},\"flag-pm\":{name:\"St Pierre Miquelon\",unified:\"1F1F5-1F1F2\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"st_pierre_miquelon\",\"saint\",\"pierre\",\"miquelon\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,0]},prince:{name:\"Prince\",unified:\"1F934\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F934-1F3FB\",image:\"1f934-1f3fb.png\",sheet_x:29,sheet_y:3,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F934-1F3FC\",image:\"1f934-1f3fc.png\",sheet_x:29,sheet_y:4,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F934-1F3FD\",image:\"1f934-1f3fd.png\",sheet_x:29,sheet_y:5,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F934-1F3FE\",image:\"1f934-1f3fe.png\",sheet_x:29,sheet_y:6,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F934-1F3FF\",image:\"1f934-1f3ff.png\",sheet_x:29,sheet_y:7,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"prince\",\"boy\",\"man\",\"male\",\"crown\",\"royal\",\"king\"],sheet:[29,2]},\"flag-vc\":{name:\"St Vincent Grenadines\",unified:\"1F1FB-1F1E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"st_vincent_grenadines\",\"saint\",\"vincent\",\"grenadines\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,10]},tm:{name:\"Trade Mark Sign\",unified:\"2122\",variations:[\"2122-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,4]},\"flag-ws\":{name:\"Samoa\",unified:\"1F1FC-1F1F8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"samoa\",\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,17]},copyright:{name:\"Copyright Sign\",unified:\"00A9\",variations:[\"00A9-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:false,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[0,0]},bride_with_veil:{name:\"Bride with Veil\",unified:\"1F470\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F470-1F3FB\",image:\"1f470-1f3fb.png\",sheet_x:14,sheet_y:32,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F470-1F3FC\",image:\"1f470-1f3fc.png\",sheet_x:14,sheet_y:33,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F470-1F3FD\",image:\"1f470-1f3fd.png\",sheet_x:14,sheet_y:34,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F470-1F3FE\",image:\"1f470-1f3fe.png\",sheet_x:14,sheet_y:35,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F470-1F3FF\",image:\"1f470-1f3ff.png\",sheet_x:14,sheet_y:36,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"bride_with_veil\",\"couple\",\"marriage\",\"wedding\",\"woman\",\"bride\"],sheet:[14,31]},registered:{name:\"Registered Sign\",unified:\"00AE\",variations:[\"00AE-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:false,has_img_emojione:true,has_img_facebook:false,has_img_messenger:false,sheet:[0,1]},\"flag-sm\":{name:\"San Marino\",unified:\"1F1F8-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"san_marino\",\"san\",\"marino\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,24]},man_in_tuxedo:{name:\"Man in Tuxedo\",unified:\"1F935\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F935-1F3FB\",image:\"1f935-1f3fb.png\",sheet_x:29,sheet_y:9,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F935-1F3FC\",image:\"1f935-1f3fc.png\",sheet_x:29,sheet_y:10,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F935-1F3FD\",image:\"1f935-1f3fd.png\",sheet_x:29,sheet_y:11,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F935-1F3FE\",image:\"1f935-1f3fe.png\",sheet_x:29,sheet_y:12,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F935-1F3FF\",image:\"1f935-1f3ff.png\",sheet_x:29,sheet_y:13,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_in_tuxedo\",\"couple\",\"marriage\",\"wedding\",\"groom\"],sheet:[29,8]},angel:{name:\"Baby Angel\",unified:\"1F47C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F47C-1F3FB\",image:\"1f47c-1f3fb.png\",sheet_x:15,sheet_y:40,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F47C-1F3FC\",image:\"1f47c-1f3fc.png\",sheet_x:15,sheet_y:41,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F47C-1F3FD\",image:\"1f47c-1f3fd.png\",sheet_x:15,sheet_y:42,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F47C-1F3FE\",image:\"1f47c-1f3fe.png\",sheet_x:15,sheet_y:43,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F47C-1F3FF\",image:\"1f47c-1f3ff.png\",sheet_x:15,sheet_y:44,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"angel\",\"heaven\",\"wings\",\"halo\"],sheet:[15,39]},wavy_dash:{name:\"Wavy Dash\",unified:\"3030\",variations:[\"3030-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,46]},\"flag-st\":{name:\"Sao Tome Principe\",unified:\"1F1F8-1F1F9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sao_tome_principe\",\"sao\",\"tome\",\"principe\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,29]},curly_loop:{name:\"Curly Loop\",unified:\"27B0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"curly_loop\",\"scribble\",\"draw\",\"shape\",\"squiggle\"],sheet:[3,35]},\"flag-sa\":{name:\"Saudi Arabia\",unified:\"1F1F8-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"saudi_arabia\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,13]},pregnant_woman:{name:\"Pregnant Woman\",unified:\"1F930\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F930-1F3FB\",image:\"1f930-1f3fb.png\",sheet_x:28,sheet_y:40,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F930-1F3FC\",image:\"1f930-1f3fc.png\",sheet_x:28,sheet_y:41,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F930-1F3FD\",image:\"1f930-1f3fd.png\",sheet_x:28,sheet_y:42,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F930-1F3FE\",image:\"1f930-1f3fe.png\",sheet_x:28,sheet_y:43,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F930-1F3FF\",image:\"1f930-1f3ff.png\",sheet_x:28,sheet_y:44,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"pregnant_woman\",\"baby\"],sheet:[28,39]},loop:{name:\"Double Curly Loop\",unified:\"27BF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"loop\",\"tape\",\"cassette\"],sheet:[3,36]},\"woman-bowing\":{name:\"Woman Bowing\",unified:\"1F647-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F647-1F3FB-200D-2640-FE0F\",image:\"1f647-1f3fb-200d-2640-fe0f.png\",sheet_x:45,sheet_y:3,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F647-1F3FC-200D-2640-FE0F\",image:\"1f647-1f3fc-200d-2640-fe0f.png\",sheet_x:45,sheet_y:4,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F647-1F3FD-200D-2640-FE0F\",image:\"1f647-1f3fd-200d-2640-fe0f.png\",sheet_x:45,sheet_y:5,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F647-1F3FE-200D-2640-FE0F\",image:\"1f647-1f3fe-200d-2640-fe0f.png\",sheet_x:45,sheet_y:6,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F647-1F3FF-200D-2640-FE0F\",image:\"1f647-1f3ff-200d-2640-fe0f.png\",sheet_x:45,sheet_y:7,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"bowing_woman\",\"woman\",\"female\",\"girl\"],sheet:[45,2]},\"flag-sn\":{name:\"Senegal\",unified:\"1F1F8-1F1F3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"senegal\",\"sn\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,25]},\"flag-rs\":{name:\"Serbia\",unified:\"1F1F7-1F1F8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"serbia\",\"rs\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,10]},bow:{name:\"Person Bowing Deeply\",unified:\"1F647\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F647-1F3FB\",image:\"1f647-1f3fb.png\",sheet_x:24,sheet_y:17,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F647-1F3FC\",image:\"1f647-1f3fc.png\",sheet_x:24,sheet_y:18,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F647-1F3FD\",image:\"1f647-1f3fd.png\",sheet_x:24,sheet_y:19,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F647-1F3FE\",image:\"1f647-1f3fe.png\",sheet_x:24,sheet_y:20,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F647-1F3FF\",image:\"1f647-1f3ff.png\",sheet_x:24,sheet_y:21,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F647-200D-2642-FE0F\",keywords:[\"bowing_man\",\"man\",\"male\",\"boy\"],sheet:[24,16]},end:{name:\"End with Leftwards Arrow Above\",unified:\"1F51A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"end\",\"words\",\"arrow\"],sheet:[19,40]},back:{name:\"Back with Leftwards Arrow Above\",unified:\"1F519\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"back\",\"arrow\",\"words\",\"return\"],sheet:[19,39]},information_desk_person:{name:\"Information Desk Person\",unified:\"1F481\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F481-1F3FB\",image:\"1f481-1f3fb.png\",sheet_x:16,sheet_y:1,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F481-1F3FC\",image:\"1f481-1f3fc.png\",sheet_x:16,sheet_y:2,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F481-1F3FD\",image:\"1f481-1f3fd.png\",sheet_x:16,sheet_y:3,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F481-1F3FE\",image:\"1f481-1f3fe.png\",sheet_x:16,sheet_y:4,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F481-1F3FF\",image:\"1f481-1f3ff.png\",sheet_x:16,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F481-200D-2640-FE0F\",keywords:[\"tipping_hand_woman\",\"female\",\"girl\",\"woman\",\"human\",\"information\"],sheet:[16,0]},\"flag-sc\":{name:\"Seychelles\",unified:\"1F1F8-1F1E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"seychelles\",\"sc\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,15]},on:{name:\"On with Exclamation Mark with Left Right Arrow Above\",unified:\"1F51B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"on\",\"arrow\",\"words\"],sheet:[19,41]},\"man-tipping-hand\":{name:\"Man Tipping Hand\",unified:\"1F481-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F481-1F3FB-200D-2642-FE0F\",image:\"1f481-1f3fb-200d-2642-fe0f.png\",sheet_x:43,sheet_y:23,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F481-1F3FC-200D-2642-FE0F\",image:\"1f481-1f3fc-200d-2642-fe0f.png\",sheet_x:43,sheet_y:24,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F481-1F3FD-200D-2642-FE0F\",image:\"1f481-1f3fd-200d-2642-fe0f.png\",sheet_x:43,sheet_y:25,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F481-1F3FE-200D-2642-FE0F\",image:\"1f481-1f3fe-200d-2642-fe0f.png\",sheet_x:43,sheet_y:26,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F481-1F3FF-200D-2642-FE0F\",image:\"1f481-1f3ff-200d-2642-fe0f.png\",sheet_x:43,sheet_y:27,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"tipping_hand_man\",\"male\",\"boy\",\"man\",\"human\",\"information\"],sheet:[43,22]},\"flag-sl\":{name:\"Sierra Leone\",unified:\"1F1F8-1F1F1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sierra_leone\",\"sierra\",\"leone\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,23]},\"flag-sg\":{name:\"Singapore\",unified:\"1F1F8-1F1EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"singapore\",\"sg\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,18]},no_good:{name:\"Face with No Good Gesture\",unified:\"1F645\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F645-1F3FB\",image:\"1f645-1f3fb.png\",sheet_x:24,sheet_y:5,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F645-1F3FC\",image:\"1f645-1f3fc.png\",sheet_x:24,sheet_y:6,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F645-1F3FD\",image:\"1f645-1f3fd.png\",sheet_x:24,sheet_y:7,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F645-1F3FE\",image:\"1f645-1f3fe.png\",sheet_x:24,sheet_y:8,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F645-1F3FF\",image:\"1f645-1f3ff.png\",sheet_x:24,sheet_y:9,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F645-200D-2640-FE0F\",keywords:[\"no_good_woman\",\"female\",\"girl\",\"woman\",\"nope\"],sheet:[24,4]},top:{name:\"Top with Upwards Arrow Above\",unified:\"1F51D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"top\",\"words\",\"blue-square\"],sheet:[19,43]},\"flag-sx\":{name:\"Sint Maarten\",unified:\"1F1F8-1F1FD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sint_maarten\",\"sint\",\"maarten\",\"dutch\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,31]},soon:{name:\"Soon with Rightwards Arrow Above\",unified:\"1F51C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"soon\",\"arrow\",\"words\"],sheet:[19,42]},\"man-gesturing-no\":{name:\"Man Gesturing No\",unified:\"1F645-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F645-1F3FB-200D-2642-FE0F\",image:\"1f645-1f3fb-200d-2642-fe0f.png\",sheet_x:44,sheet_y:34,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F645-1F3FC-200D-2642-FE0F\",image:\"1f645-1f3fc-200d-2642-fe0f.png\",sheet_x:44,sheet_y:35,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F645-1F3FD-200D-2642-FE0F\",image:\"1f645-1f3fd-200d-2642-fe0f.png\",sheet_x:44,sheet_y:36,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F645-1F3FE-200D-2642-FE0F\",image:\"1f645-1f3fe-200d-2642-fe0f.png\",sheet_x:44,sheet_y:37,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F645-1F3FF-200D-2642-FE0F\",image:\"1f645-1f3ff-200d-2642-fe0f.png\",sheet_x:44,sheet_y:38,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"no_good_man\",\"male\",\"boy\",\"man\",\"nope\"],sheet:[44,33]},\"flag-sk\":{name:\"Slovakia\",unified:\"1F1F8-1F1F0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"slovakia\",\"sk\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,22]},heavy_check_mark:{name:\"Heavy Check Mark\",unified:\"2714\",variations:[\"2714-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[3,14]},ok_woman:{name:\"Face with Ok Gesture\",unified:\"1F646\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F646-1F3FB\",image:\"1f646-1f3fb.png\",sheet_x:24,sheet_y:11,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F646-1F3FC\",image:\"1f646-1f3fc.png\",sheet_x:24,sheet_y:12,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F646-1F3FD\",image:\"1f646-1f3fd.png\",sheet_x:24,sheet_y:13,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F646-1F3FE\",image:\"1f646-1f3fe.png\",sheet_x:24,sheet_y:14,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F646-1F3FF\",image:\"1f646-1f3ff.png\",sheet_x:24,sheet_y:15,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F646-200D-2640-FE0F\",keywords:[\"ok_woman\",\"women\",\"girl\",\"female\",\"pink\",\"human\",\"woman\"],sheet:[24,10]},\"man-gesturing-ok\":{name:\"Man Gesturing Ok\",unified:\"1F646-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F646-1F3FB-200D-2642-FE0F\",image:\"1f646-1f3fb-200d-2642-fe0f.png\",sheet_x:44,sheet_y:46,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F646-1F3FC-200D-2642-FE0F\",image:\"1f646-1f3fc-200d-2642-fe0f.png\",sheet_x:44,sheet_y:47,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F646-1F3FD-200D-2642-FE0F\",image:\"1f646-1f3fd-200d-2642-fe0f.png\",sheet_x:44,sheet_y:48,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F646-1F3FE-200D-2642-FE0F\",image:\"1f646-1f3fe-200d-2642-fe0f.png\",sheet_x:45,sheet_y:0,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F646-1F3FF-200D-2642-FE0F\",image:\"1f646-1f3ff-200d-2642-fe0f.png\",sheet_x:45,sheet_y:1,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"ok_man\",\"men\",\"boy\",\"male\",\"blue\",\"human\",\"man\"],sheet:[44,45]},\"flag-si\":{name:\"Slovenia\",unified:\"1F1F8-1F1EE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"slovenia\",\"si\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,20]},ballot_box_with_check:{name:\"Ballot Box with Check\",unified:\"2611\",variations:[\"2611-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,47]},\"flag-sb\":{name:\"Solomon Islands\",unified:\"1F1F8-1F1E7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"solomon_islands\",\"solomon\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,14]},radio_button:{name:\"Radio Button\",unified:\"1F518\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"radio_button\",\"input\",\"old\",\"music\",\"circle\"],sheet:[19,38]},raising_hand:{name:\"Happy Person Raising One Hand\",unified:\"1F64B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F64B-1F3FB\",image:\"1f64b-1f3fb.png\",sheet_x:24,sheet_y:26,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F64B-1F3FC\",image:\"1f64b-1f3fc.png\",sheet_x:24,sheet_y:27,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F64B-1F3FD\",image:\"1f64b-1f3fd.png\",sheet_x:24,sheet_y:28,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F64B-1F3FE\",image:\"1f64b-1f3fe.png\",sheet_x:24,sheet_y:29,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F64B-1F3FF\",image:\"1f64b-1f3ff.png\",sheet_x:24,sheet_y:30,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F64B-200D-2640-FE0F\",keywords:[\"raising_hand_woman\",\"female\",\"girl\",\"woman\"],sheet:[24,25]},white_circle:{name:\"Medium White Circle\",unified:\"26AA\",variations:[\"26AA-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"white_circle\",\"shape\",\"round\"],sheet:[2,1]},\"man-raising-hand\":{name:\"Man Raising Hand\",unified:\"1F64B-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F64B-1F3FB-200D-2642-FE0F\",image:\"1f64b-1f3fb-200d-2642-fe0f.png\",sheet_x:45,sheet_y:21,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F64B-1F3FC-200D-2642-FE0F\",image:\"1f64b-1f3fc-200d-2642-fe0f.png\",sheet_x:45,sheet_y:22,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F64B-1F3FD-200D-2642-FE0F\",image:\"1f64b-1f3fd-200d-2642-fe0f.png\",sheet_x:45,sheet_y:23,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F64B-1F3FE-200D-2642-FE0F\",image:\"1f64b-1f3fe-200d-2642-fe0f.png\",sheet_x:45,sheet_y:24,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F64B-1F3FF-200D-2642-FE0F\",image:\"1f64b-1f3ff-200d-2642-fe0f.png\",sheet_x:45,sheet_y:25,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"raising_hand_man\",\"male\",\"boy\",\"man\"],sheet:[45,20]},\"flag-so\":{name:\"Somalia\",unified:\"1F1F8-1F1F4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"somalia\",\"so\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,26]},black_circle:{name:\"Medium Black Circle\",unified:\"26AB\",variations:[\"26AB-FE0F\"],added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"black_circle\",\"shape\",\"button\",\"round\"],sheet:[2,2]},face_palm:{name:\"Face Palm\",unified:\"1F926\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F926-1F3FB\",image:\"1f926-1f3fb.png\",sheet_x:28,sheet_y:33,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F926-1F3FC\",image:\"1f926-1f3fc.png\",sheet_x:28,sheet_y:34,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F926-1F3FD\",image:\"1f926-1f3fd.png\",sheet_x:28,sheet_y:35,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F926-1F3FE\",image:\"1f926-1f3fe.png\",sheet_x:28,sheet_y:36,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F926-1F3FF\",image:\"1f926-1f3ff.png\",sheet_x:28,sheet_y:37,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_facepalming\",\"man\",\"male\",\"boy\",\"disbelief\"],sheet:[28,32]},\"flag-za\":{name:\"South Africa\",unified:\"1F1FF-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"south_africa\",\"south\",\"africa\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,21]},red_circle:{name:\"Large Red Circle\",unified:\"1F534\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"red_circle\",\"shape\",\"error\",\"danger\"],sheet:[20,17]},\"woman-facepalming\":{name:\"Woman Facepalming\",unified:\"1F926-200D-2640-FE0F\",added_in:\"9.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F926-1F3FB-200D-2640-FE0F\",image:\"1f926-1f3fb-200d-2640-fe0f.png\",sheet_x:47,sheet_y:1,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F926-1F3FC-200D-2640-FE0F\",image:\"1f926-1f3fc-200d-2640-fe0f.png\",sheet_x:47,sheet_y:2,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F926-1F3FD-200D-2640-FE0F\",image:\"1f926-1f3fd-200d-2640-fe0f.png\",sheet_x:47,sheet_y:3,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F926-1F3FE-200D-2640-FE0F\",image:\"1f926-1f3fe-200d-2640-fe0f.png\",sheet_x:47,sheet_y:4,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F926-1F3FF-200D-2640-FE0F\",image:\"1f926-1f3ff-200d-2640-fe0f.png\",sheet_x:47,sheet_y:5,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"woman_facepalming\",\"woman\",\"female\",\"girl\",\"disbelief\"],sheet:[47,0]},\"flag-gs\":{name:\"South Georgia South Sandwich Islands\",unified:\"1F1EC-1F1F8\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"south_georgia_south_sandwich_islands\",\"south\",\"georgia\",\"sandwich\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,7]},large_blue_circle:{name:\"Large Blue Circle\",unified:\"1F535\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"large_blue_circle\",\"shape\",\"icon\",\"button\"],sheet:[20,18]},\"flag-kr\":{name:\"KR\",unified:\"1F1F0-1F1F7\",short_names:[\"kr\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"kr\",\"south\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],sheet:[33,40]},\"man-facepalming\":{name:\"Man Facepalming\",unified:\"1F926-200D-2642-FE0F\",added_in:\"9.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F926-1F3FB-200D-2642-FE0F\",image:\"1f926-1f3fb-200d-2642-fe0f.png\",sheet_x:47,sheet_y:7,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F926-1F3FC-200D-2642-FE0F\",image:\"1f926-1f3fc-200d-2642-fe0f.png\",sheet_x:47,sheet_y:8,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F926-1F3FD-200D-2642-FE0F\",image:\"1f926-1f3fd-200d-2642-fe0f.png\",sheet_x:47,sheet_y:9,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F926-1F3FE-200D-2642-FE0F\",image:\"1f926-1f3fe-200d-2642-fe0f.png\",sheet_x:47,sheet_y:10,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F926-1F3FF-200D-2642-FE0F\",image:\"1f926-1f3ff-200d-2642-fe0f.png\",sheet_x:47,sheet_y:11,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},sheet:[47,6]},small_red_triangle:{name:\"Up-Pointing Red Triangle\",unified:\"1F53A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"small_red_triangle\",\"shape\",\"direction\",\"up\",\"top\"],sheet:[20,23]},\"flag-ss\":{name:\"South Sudan\",unified:\"1F1F8-1F1F8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"south_sudan\",\"south\",\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,28]},shrug:{name:\"Shrug\",unified:\"1F937\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F937-1F3FB\",image:\"1f937-1f3fb.png\",sheet_x:29,sheet_y:21,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F937-1F3FC\",image:\"1f937-1f3fc.png\",sheet_x:29,sheet_y:22,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F937-1F3FD\",image:\"1f937-1f3fd.png\",sheet_x:29,sheet_y:23,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F937-1F3FE\",image:\"1f937-1f3fe.png\",sheet_x:29,sheet_y:24,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F937-1F3FF\",image:\"1f937-1f3ff.png\",sheet_x:29,sheet_y:25,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"woman_shrugging\",\"woman\",\"female\",\"girl\",\"confused\",\"indifferent\",\"doubt\"],sheet:[29,20]},\"woman-shrugging\":{name:\"Woman Shrugging\",unified:\"1F937-200D-2640-FE0F\",added_in:\"9.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F937-1F3FB-200D-2640-FE0F\",image:\"1f937-1f3fb-200d-2640-fe0f.png\",sheet_x:47,sheet_y:13,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F937-1F3FC-200D-2640-FE0F\",image:\"1f937-1f3fc-200d-2640-fe0f.png\",sheet_x:47,sheet_y:14,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F937-1F3FD-200D-2640-FE0F\",image:\"1f937-1f3fd-200d-2640-fe0f.png\",sheet_x:47,sheet_y:15,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F937-1F3FE-200D-2640-FE0F\",image:\"1f937-1f3fe-200d-2640-fe0f.png\",sheet_x:47,sheet_y:16,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F937-1F3FF-200D-2640-FE0F\",image:\"1f937-1f3ff-200d-2640-fe0f.png\",sheet_x:47,sheet_y:17,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},sheet:[47,12]},small_red_triangle_down:{name:\"Down-Pointing Red Triangle\",unified:\"1F53B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"small_red_triangle_down\",\"shape\",\"direction\",\"bottom\"],sheet:[20,24]},\"flag-es\":{name:\"ES\",unified:\"1F1EA-1F1F8\",short_names:[\"es\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"es\",\"spain\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,33]},\"man-shrugging\":{name:\"Man Shrugging\",unified:\"1F937-200D-2642-FE0F\",added_in:\"9.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F937-1F3FB-200D-2642-FE0F\",image:\"1f937-1f3fb-200d-2642-fe0f.png\",sheet_x:47,sheet_y:19,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F937-1F3FC-200D-2642-FE0F\",image:\"1f937-1f3fc-200d-2642-fe0f.png\",sheet_x:47,sheet_y:20,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F937-1F3FD-200D-2642-FE0F\",image:\"1f937-1f3fd-200d-2642-fe0f.png\",sheet_x:47,sheet_y:21,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F937-1F3FE-200D-2642-FE0F\",image:\"1f937-1f3fe-200d-2642-fe0f.png\",sheet_x:47,sheet_y:22,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F937-1F3FF-200D-2642-FE0F\",image:\"1f937-1f3ff-200d-2642-fe0f.png\",sheet_x:47,sheet_y:23,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"man_shrugging\",\"man\",\"male\",\"boy\",\"confused\",\"indifferent\",\"doubt\"],sheet:[47,18]},small_orange_diamond:{name:\"Small Orange Diamond\",unified:\"1F538\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"small_orange_diamond\",\"shape\",\"jewel\",\"gem\"],sheet:[20,21]},\"flag-lk\":{name:\"Sri Lanka\",unified:\"1F1F1-1F1F0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sri_lanka\",\"sri\",\"lanka\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[33,48]},small_blue_diamond:{name:\"Small Blue Diamond\",unified:\"1F539\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"small_blue_diamond\",\"shape\",\"jewel\",\"gem\"],sheet:[20,22]},person_with_pouting_face:{name:\"Person with Pouting Face\",unified:\"1F64E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F64E-1F3FB\",image:\"1f64e-1f3fb.png\",sheet_x:24,sheet_y:44,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F64E-1F3FC\",image:\"1f64e-1f3fc.png\",sheet_x:24,sheet_y:45,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F64E-1F3FD\",image:\"1f64e-1f3fd.png\",sheet_x:24,sheet_y:46,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F64E-1F3FE\",image:\"1f64e-1f3fe.png\",sheet_x:24,sheet_y:47,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F64E-1F3FF\",image:\"1f64e-1f3ff.png\",sheet_x:24,sheet_y:48,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F64E-200D-2640-FE0F\",keywords:[\"pouting_woman\",\"female\",\"girl\",\"woman\"],sheet:[24,43]},\"flag-sd\":{name:\"Sudan\",unified:\"1F1F8-1F1E9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sudan\",\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,16]},\"man-pouting\":{name:\"Man Pouting\",unified:\"1F64E-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F64E-1F3FB-200D-2642-FE0F\",image:\"1f64e-1f3fb-200d-2642-fe0f.png\",sheet_x:45,sheet_y:45,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F64E-1F3FC-200D-2642-FE0F\",image:\"1f64e-1f3fc-200d-2642-fe0f.png\",sheet_x:45,sheet_y:46,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F64E-1F3FD-200D-2642-FE0F\",image:\"1f64e-1f3fd-200d-2642-fe0f.png\",sheet_x:45,sheet_y:47,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F64E-1F3FE-200D-2642-FE0F\",image:\"1f64e-1f3fe-200d-2642-fe0f.png\",sheet_x:45,sheet_y:48,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F64E-1F3FF-200D-2642-FE0F\",image:\"1f64e-1f3ff-200d-2642-fe0f.png\",sheet_x:46,sheet_y:0,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"pouting_man\",\"male\",\"boy\",\"man\"],sheet:[45,44]},large_orange_diamond:{name:\"Large Orange Diamond\",unified:\"1F536\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"large_orange_diamond\",\"shape\",\"jewel\",\"gem\"],sheet:[20,19]},\"flag-sr\":{name:\"Suriname\",unified:\"1F1F8-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"suriname\",\"sr\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,27]},\"flag-sz\":{name:\"Swaziland\",unified:\"1F1F8-1F1FF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"swaziland\",\"sz\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,33]},large_blue_diamond:{name:\"Large Blue Diamond\",unified:\"1F537\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"large_blue_diamond\",\"shape\",\"jewel\",\"gem\"],sheet:[20,20]},person_frowning:{name:\"Person Frowning\",unified:\"1F64D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F64D-1F3FB\",image:\"1f64d-1f3fb.png\",sheet_x:24,sheet_y:38,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F64D-1F3FC\",image:\"1f64d-1f3fc.png\",sheet_x:24,sheet_y:39,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F64D-1F3FD\",image:\"1f64d-1f3fd.png\",sheet_x:24,sheet_y:40,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F64D-1F3FE\",image:\"1f64d-1f3fe.png\",sheet_x:24,sheet_y:41,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F64D-1F3FF\",image:\"1f64d-1f3ff.png\",sheet_x:24,sheet_y:42,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F64D-200D-2640-FE0F\",keywords:[\"frowning_woman\",\"female\",\"girl\",\"woman\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],sheet:[24,37]},\"man-frowning\":{name:\"Man Frowning\",unified:\"1F64D-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F64D-1F3FB-200D-2642-FE0F\",image:\"1f64d-1f3fb-200d-2642-fe0f.png\",sheet_x:45,sheet_y:33,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F64D-1F3FC-200D-2642-FE0F\",image:\"1f64d-1f3fc-200d-2642-fe0f.png\",sheet_x:45,sheet_y:34,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F64D-1F3FD-200D-2642-FE0F\",image:\"1f64d-1f3fd-200d-2642-fe0f.png\",sheet_x:45,sheet_y:35,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F64D-1F3FE-200D-2642-FE0F\",image:\"1f64d-1f3fe-200d-2642-fe0f.png\",sheet_x:45,sheet_y:36,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F64D-1F3FF-200D-2642-FE0F\",image:\"1f64d-1f3ff-200d-2642-fe0f.png\",sheet_x:45,sheet_y:37,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"frowning_man\",\"male\",\"boy\",\"man\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],sheet:[45,32]},\"flag-se\":{name:\"Sweden\",unified:\"1F1F8-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sweden\",\"se\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,17]},white_square_button:{name:\"White Square Button\",unified:\"1F533\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"white_square_button\",\"shape\",\"input\"],sheet:[20,16]},\"flag-ch\":{name:\"Switzerland\",unified:\"1F1E8-1F1ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"switzerland\",\"ch\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,5]},haircut:{name:\"Haircut\",unified:\"1F487\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F487-1F3FB\",image:\"1f487-1f3fb.png\",sheet_x:16,sheet_y:32,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F487-1F3FC\",image:\"1f487-1f3fc.png\",sheet_x:16,sheet_y:33,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F487-1F3FD\",image:\"1f487-1f3fd.png\",sheet_x:16,sheet_y:34,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F487-1F3FE\",image:\"1f487-1f3fe.png\",sheet_x:16,sheet_y:35,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F487-1F3FF\",image:\"1f487-1f3ff.png\",sheet_x:16,sheet_y:36,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F487-200D-2640-FE0F\",keywords:[\"haircut_woman\",\"female\",\"girl\",\"woman\"],sheet:[16,31]},black_square_button:{name:\"Black Square Button\",unified:\"1F532\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"black_square_button\",\"shape\",\"input\",\"frame\"],sheet:[20,15]},\"man-getting-haircut\":{name:\"Man Getting Haircut\",unified:\"1F487-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F487-1F3FB-200D-2642-FE0F\",image:\"1f487-1f3fb-200d-2642-fe0f.png\",sheet_x:44,sheet_y:10,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F487-1F3FC-200D-2642-FE0F\",image:\"1f487-1f3fc-200d-2642-fe0f.png\",sheet_x:44,sheet_y:11,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F487-1F3FD-200D-2642-FE0F\",image:\"1f487-1f3fd-200d-2642-fe0f.png\",sheet_x:44,sheet_y:12,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F487-1F3FE-200D-2642-FE0F\",image:\"1f487-1f3fe-200d-2642-fe0f.png\",sheet_x:44,sheet_y:13,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F487-1F3FF-200D-2642-FE0F\",image:\"1f487-1f3ff-200d-2642-fe0f.png\",sheet_x:44,sheet_y:14,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"haircut_man\",\"male\",\"boy\",\"man\"],sheet:[44,9]},black_small_square:{name:\"Black Small Square\",unified:\"25AA\",variations:[\"25AA-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,33]},\"flag-sy\":{name:\"Syria\",unified:\"1F1F8-1F1FE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"syria\",\"syrian\",\"arab\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,32]},\"flag-tw\":{name:\"Taiwan\",unified:\"1F1F9-1F1FC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"taiwan\",\"tw\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,0]},massage:{name:\"Face Massage\",unified:\"1F486\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F486-1F3FB\",image:\"1f486-1f3fb.png\",sheet_x:16,sheet_y:26,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F486-1F3FC\",image:\"1f486-1f3fc.png\",sheet_x:16,sheet_y:27,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F486-1F3FD\",image:\"1f486-1f3fd.png\",sheet_x:16,sheet_y:28,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F486-1F3FE\",image:\"1f486-1f3fe.png\",sheet_x:16,sheet_y:29,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F486-1F3FF\",image:\"1f486-1f3ff.png\",sheet_x:16,sheet_y:30,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F486-200D-2640-FE0F\",keywords:[\"massage_woman\",\"female\",\"girl\",\"woman\",\"head\"],sheet:[16,25]},white_small_square:{name:\"White Small Square\",unified:\"25AB\",variations:[\"25AB-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,34]},black_medium_small_square:{name:\"Black Medium Small Square\",unified:\"25FE\",variations:[\"25FE-FE0F\"],added_in:\"3.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"black_medium_small_square\",\"icon\",\"shape\",\"button\"],sheet:[0,40]},\"man-getting-massage\":{name:\"Man Getting Massage\",unified:\"1F486-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F486-1F3FB-200D-2642-FE0F\",image:\"1f486-1f3fb-200d-2642-fe0f.png\",sheet_x:43,sheet_y:47,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F486-1F3FC-200D-2642-FE0F\",image:\"1f486-1f3fc-200d-2642-fe0f.png\",sheet_x:43,sheet_y:48,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F486-1F3FD-200D-2642-FE0F\",image:\"1f486-1f3fd-200d-2642-fe0f.png\",sheet_x:44,sheet_y:0,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F486-1F3FE-200D-2642-FE0F\",image:\"1f486-1f3fe-200d-2642-fe0f.png\",sheet_x:44,sheet_y:1,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F486-1F3FF-200D-2642-FE0F\",image:\"1f486-1f3ff-200d-2642-fe0f.png\",sheet_x:44,sheet_y:2,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"massage_man\",\"male\",\"boy\",\"man\",\"head\"],sheet:[43,46]},\"flag-tj\":{name:\"Tajikistan\",unified:\"1F1F9-1F1EF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tajikistan\",\"tj\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,40]},man_in_business_suit_levitating:{name:\"Man in Business Suit Levitating\",unified:\"1F574\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F574-1F3FB\",image:\"1f574-1f3fb.png\",sheet_x:21,sheet_y:12,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F574-1F3FC\",image:\"1f574-1f3fc.png\",sheet_x:21,sheet_y:13,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F574-1F3FD\",image:\"1f574-1f3fd.png\",sheet_x:21,sheet_y:14,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F574-1F3FE\",image:\"1f574-1f3fe.png\",sheet_x:21,sheet_y:15,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F574-1F3FF\",image:\"1f574-1f3ff.png\",sheet_x:21,sheet_y:16,added_in:\"8.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false}},keywords:[\"business_suit_levitating\",\"suit\",\"business\",\"levitate\",\"hover\",\"jump\"],sheet:[21,11]},\"flag-tz\":{name:\"Tanzania\",unified:\"1F1F9-1F1FF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tanzania\",\"tanzania,\",\"united\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,1]},white_medium_small_square:{name:\"White Medium Small Square\",unified:\"25FD\",variations:[\"25FD-FE0F\"],added_in:\"3.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"white_medium_small_square\",\"shape\",\"stone\",\"icon\",\"button\"],sheet:[0,39]},dancer:{name:\"Dancer\",unified:\"1F483\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F483-1F3FB\",image:\"1f483-1f3fb.png\",sheet_x:16,sheet_y:13,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F483-1F3FC\",image:\"1f483-1f3fc.png\",sheet_x:16,sheet_y:14,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F483-1F3FD\",image:\"1f483-1f3fd.png\",sheet_x:16,sheet_y:15,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F483-1F3FE\",image:\"1f483-1f3fe.png\",sheet_x:16,sheet_y:16,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F483-1F3FF\",image:\"1f483-1f3ff.png\",sheet_x:16,sheet_y:17,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},keywords:[\"dancer\",\"female\",\"girl\",\"woman\",\"fun\"],sheet:[16,12]},black_medium_square:{name:\"Black Medium Square\",unified:\"25FC\",variations:[\"25FC-FE0F\"],added_in:\"3.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,38]},\"flag-th\":{name:\"Thailand\",unified:\"1F1F9-1F1ED\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"thailand\",\"th\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,39]},\"flag-tl\":{name:\"Timor Leste\",unified:\"1F1F9-1F1F1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"timor_leste\",\"timor\",\"leste\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,42]},man_dancing:{name:\"Man Dancing\",unified:\"1F57A\",added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F57A-1F3FB\",image:\"1f57a-1f3fb.png\",sheet_x:21,sheet_y:28,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FC\":{unified:\"1F57A-1F3FC\",image:\"1f57a-1f3fc.png\",sheet_x:21,sheet_y:29,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FD\":{unified:\"1F57A-1F3FD\",image:\"1f57a-1f3fd.png\",sheet_x:21,sheet_y:30,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FE\":{unified:\"1F57A-1F3FE\",image:\"1f57a-1f3fe.png\",sheet_x:21,sheet_y:31,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false},\"1F3FF\":{unified:\"1F57A-1F3FF\",image:\"1f57a-1f3ff.png\",sheet_x:21,sheet_y:32,added_in:\"9.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false}},keywords:[\"man_dancing\",\"male\",\"boy\",\"fun\",\"dancer\"],sheet:[21,27]},white_medium_square:{name:\"White Medium Square\",unified:\"25FB\",variations:[\"25FB-FE0F\"],added_in:\"3.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[0,37]},\"flag-tg\":{name:\"Togo\",unified:\"1F1F9-1F1EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"togo\",\"tg\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,38]},black_large_square:{name:\"Black Large Square\",unified:\"2B1B\",variations:[\"2B1B-FE0F\"],added_in:\"5.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"black_large_square\",\"shape\",\"icon\",\"button\"],sheet:[3,42]},dancers:{name:\"Woman with Bunny Ears\",unified:\"1F46F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,obsoleted_by:\"1F46F-200D-2640-FE0F\",keywords:[\"dancing_women\",\"female\",\"bunny\",\"women\",\"girls\"],sheet:[14,30]},\"man-with-bunny-ears-partying\":{name:\"Man with Bunny Ears Partying\",unified:\"1F46F-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,keywords:[\"dancing_men\",\"male\",\"bunny\",\"men\",\"boys\"],sheet:[42,28]},\"flag-tk\":{name:\"Tokelau\",unified:\"1F1F9-1F1F0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tokelau\",\"tk\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,41]},white_large_square:{name:\"White Large Square\",unified:\"2B1C\",variations:[\"2B1C-FE0F\"],added_in:\"5.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"white_large_square\",\"shape\",\"icon\",\"stone\",\"button\"],sheet:[3,43]},speaker:{name:\"Speaker\",unified:\"1F508\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"speaker\",\"sound\",\"volume\",\"silence\",\"broadcast\"],sheet:[19,22]},\"woman-walking\":{name:\"Woman Walking\",unified:\"1F6B6-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F6B6-1F3FB-200D-2640-FE0F\",image:\"1f6b6-1f3fb-200d-2640-fe0f.png\",sheet_x:46,sheet_y:38,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F6B6-1F3FC-200D-2640-FE0F\",image:\"1f6b6-1f3fc-200d-2640-fe0f.png\",sheet_x:46,sheet_y:39,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F6B6-1F3FD-200D-2640-FE0F\",image:\"1f6b6-1f3fd-200d-2640-fe0f.png\",sheet_x:46,sheet_y:40,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F6B6-1F3FE-200D-2640-FE0F\",image:\"1f6b6-1f3fe-200d-2640-fe0f.png\",sheet_x:46,sheet_y:41,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F6B6-1F3FF-200D-2640-FE0F\",image:\"1f6b6-1f3ff-200d-2640-fe0f.png\",sheet_x:46,sheet_y:42,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"walking_woman\",\"human\",\"feet\",\"steps\",\"woman\",\"female\"],sheet:[46,37]},\"flag-to\":{name:\"Tonga\",unified:\"1F1F9-1F1F4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tonga\",\"to\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,45]},mute:{name:\"Speaker with Cancellation Stroke\",unified:\"1F507\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mute\",\"sound\",\"volume\",\"silence\",\"quiet\"],sheet:[19,21]},walking:{name:\"Pedestrian\",unified:\"1F6B6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F6B6-1F3FB\",image:\"1f6b6-1f3fb.png\",sheet_x:26,sheet_y:27,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F6B6-1F3FC\",image:\"1f6b6-1f3fc.png\",sheet_x:26,sheet_y:28,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F6B6-1F3FD\",image:\"1f6b6-1f3fd.png\",sheet_x:26,sheet_y:29,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F6B6-1F3FE\",image:\"1f6b6-1f3fe.png\",sheet_x:26,sheet_y:30,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F6B6-1F3FF\",image:\"1f6b6-1f3ff.png\",sheet_x:26,sheet_y:31,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F6B6-200D-2642-FE0F\",keywords:[\"walking_man\",\"human\",\"feet\",\"steps\"],sheet:[26,26]},\"flag-tt\":{name:\"Trinidad Tobago\",unified:\"1F1F9-1F1F9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"trinidad_tobago\",\"trinidad\",\"tobago\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,47]},\"flag-tn\":{name:\"Tunisia\",unified:\"1F1F9-1F1F3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tunisia\",\"tn\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,44]},\"woman-running\":{name:\"Woman Running\",unified:\"1F3C3-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F3C3-1F3FB-200D-2640-FE0F\",image:\"1f3c3-1f3fb-200d-2640-fe0f.png\",sheet_x:39,sheet_y:38,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F3C3-1F3FC-200D-2640-FE0F\",image:\"1f3c3-1f3fc-200d-2640-fe0f.png\",sheet_x:39,sheet_y:39,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F3C3-1F3FD-200D-2640-FE0F\",image:\"1f3c3-1f3fd-200d-2640-fe0f.png\",sheet_x:39,sheet_y:40,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F3C3-1F3FE-200D-2640-FE0F\",image:\"1f3c3-1f3fe-200d-2640-fe0f.png\",sheet_x:39,sheet_y:41,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F3C3-1F3FF-200D-2640-FE0F\",image:\"1f3c3-1f3ff-200d-2640-fe0f.png\",sheet_x:39,sheet_y:42,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},keywords:[\"running_woman\",\"woman\",\"walking\",\"exercise\",\"race\",\"running\",\"female\"],sheet:[39,37]},sound:{name:\"Speaker with One Sound Wave\",unified:\"1F509\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sound\",\"volume\",\"speaker\",\"broadcast\"],sheet:[19,23]},runner:{name:\"Runner\",unified:\"1F3C3\",short_names:[\"running\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,skin_variations:{\"1F3FB\":{unified:\"1F3C3-1F3FB\",image:\"1f3c3-1f3fb.png\",sheet_x:8,sheet_y:36,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FC\":{unified:\"1F3C3-1F3FC\",image:\"1f3c3-1f3fc.png\",sheet_x:8,sheet_y:37,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FD\":{unified:\"1F3C3-1F3FD\",image:\"1f3c3-1f3fd.png\",sheet_x:8,sheet_y:38,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FE\":{unified:\"1F3C3-1F3FE\",image:\"1f3c3-1f3fe.png\",sheet_x:8,sheet_y:39,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true},\"1F3FF\":{unified:\"1F3C3-1F3FF\",image:\"1f3c3-1f3ff.png\",sheet_x:8,sheet_y:40,added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true}},obsoleted_by:\"1F3C3-200D-2642-FE0F\",keywords:[\"running_man\",\"man\",\"walking\",\"exercise\",\"race\",\"running\"],sheet:[8,35]},\"flag-tr\":{name:\"TR\",unified:\"1F1F9-1F1F7\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tr\",\"turkey\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,46]},loud_sound:{name:\"Speaker with Three Sound Waves\",unified:\"1F50A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"loud_sound\",\"volume\",\"noise\",\"noisy\",\"speaker\",\"broadcast\"],sheet:[19,24]},\"flag-tm\":{name:\"Turkmenistan\",unified:\"1F1F9-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"turkmenistan\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,43]},couple:{name:\"Man and Woman Holding Hands\",unified:\"1F46B\",short_names:[\"man_and_woman_holding_hands\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"couple\",\"pair\",\"people\",\"human\",\"love\",\"date\",\"dating\",\"like\",\"affection\",\"valentines\",\"marriage\"],sheet:[14,21]},bell:{name:\"Bell\",unified:\"1F514\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bell\",\"sound\",\"notification\",\"christmas\",\"xmas\",\"chime\"],sheet:[19,34]},no_bell:{name:\"Bell with Cancellation Stroke\",unified:\"1F515\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"no_bell\",\"sound\",\"volume\",\"mute\",\"quiet\",\"silent\"],sheet:[19,35]},two_women_holding_hands:{name:\"Two Women Holding Hands\",unified:\"1F46D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"two_women_holding_hands\",\"pair\",\"friendship\",\"couple\",\"love\",\"like\",\"female\",\"people\",\"human\"],sheet:[14,23]},\"flag-tc\":{name:\"Turks Caicos Islands\",unified:\"1F1F9-1F1E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"turks_caicos_islands\",\"turks\",\"caicos\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,35]},\"flag-tv\":{name:\"Tuvalu\",unified:\"1F1F9-1F1FB\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tuvalu\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[35,48]},two_men_holding_hands:{name:\"Two Men Holding Hands\",unified:\"1F46C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"two_men_holding_hands\",\"pair\",\"couple\",\"love\",\"like\",\"bromance\",\"friendship\",\"people\",\"human\"],sheet:[14,22]},mega:{name:\"Cheering Megaphone\",unified:\"1F4E3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mega\",\"sound\",\"speaker\",\"volume\"],sheet:[18,35]},\"flag-ug\":{name:\"Uganda\",unified:\"1F1FA-1F1EC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"uganda\",\"ug\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,3]},loudspeaker:{name:\"Public Address Loudspeaker\",unified:\"1F4E2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"loudspeaker\",\"volume\",\"sound\"],sheet:[18,34]},couple_with_heart:{name:\"Couple with Heart\",unified:\"1F491\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,obsoleted_by:\"1F469-200D-2764-FE0F-200D-1F468\",keywords:[\"couple_with_heart_woman_man\",\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],sheet:[16,46]},\"woman-heart-woman\":{name:\"Woman Heart Woman\",unified:\"1F469-200D-2764-FE0F-200D-1F469\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:true,keywords:[\"couple_with_heart_woman_woman\",\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],sheet:[42,12]},\"flag-ua\":{name:\"Ukraine\",unified:\"1F1FA-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"ukraine\",\"ua\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,2]},\"eye-in-speech-bubble\":{name:\"Eye in Speech Bubble\",unified:\"1F441-FE0F-200D-1F5E8-FE0F\",added_in:\"7.0\",has_img_apple:true,has_img_google:false,has_img_twitter:false,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,sheet:[41,0]},\"man-heart-man\":{name:\"Man Heart Man\",unified:\"1F468-200D-2764-FE0F-200D-1F468\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:true,keywords:[\"couple_with_heart_man_man\",\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],sheet:[41,32]},\"flag-ae\":{name:\"United Arab Emirates\",unified:\"1F1E6-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"united_arab_emirates\",\"united\",\"arab\",\"emirates\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[31,13]},speech_balloon:{name:\"Speech Balloon\",unified:\"1F4AC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"speech_balloon\",\"bubble\",\"words\",\"message\",\"talk\",\"chatting\"],sheet:[17,29]},\"flag-gb\":{name:\"UK\",unified:\"1F1EC-1F1E7\",short_names:[\"gb\",\"uk\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"uk\",\"united\",\"kingdom\",\"great\",\"britain\",\"northern\",\"ireland\",\"flag\",\"nation\",\"country\",\"banner\",\"british\",\"UK\",\"english\",\"england\",\"union jack\"],sheet:[32,43]},couplekiss:{name:\"Kiss\",unified:\"1F48F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,obsoleted_by:\"1F469-200D-2764-FE0F-200D-1F48B-200D-1F468\",keywords:[\"couplekiss_man_woman\",\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],sheet:[16,44]},left_speech_bubble:{name:\"Left Speech Bubble\",unified:\"1F5E8\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"left_speech_bubble\",\"words\",\"message\",\"talk\",\"chatting\"],sheet:[22,24]},\"flag-us\":{name:\"US\",unified:\"1F1FA-1F1F8\",short_names:[\"us\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"us\",\"united\",\"states\",\"america\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,6]},thought_balloon:{name:\"Thought Balloon\",unified:\"1F4AD\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"thought_balloon\",\"bubble\",\"cloud\",\"speech\",\"thinking\",\"dream\"],sheet:[17,30]},\"woman-kiss-woman\":{name:\"Woman Kiss Woman\",unified:\"1F469-200D-2764-FE0F-200D-1F48B-200D-1F469\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:true,keywords:[\"couplekiss_woman_woman\",\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],sheet:[42,14]},\"man-kiss-man\":{name:\"Man Kiss Man\",unified:\"1F468-200D-2764-FE0F-200D-1F48B-200D-1F468\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:true,keywords:[\"couplekiss_man_man\",\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],sheet:[41,33]},right_anger_bubble:{name:\"Right Anger Bubble\",unified:\"1F5EF\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"right_anger_bubble\",\"caption\",\"speech\",\"thinking\",\"mad\"],sheet:[22,25]},\"flag-vi\":{name:\"Us Virgin Islands\",unified:\"1F1FB-1F1EE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"us_virgin_islands\",\"virgin\",\"islands\",\"us\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,13]},\"flag-uy\":{name:\"Uruguay\",unified:\"1F1FA-1F1FE\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"uruguay\",\"uy\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,7]},family:{name:\"Family\",unified:\"1F46A\",short_names:[\"man-woman-boy\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,obsoleted_by:\"1F468-200D-1F469-200D-1F466\",keywords:[\"family_man_woman_boy\",\"home\",\"parents\",\"child\",\"mom\",\"dad\",\"father\",\"mother\",\"people\",\"human\"],sheet:[14,20]},spades:{name:\"Black Spade Suit\",unified:\"2660\",variations:[\"2660-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[1,32]},\"man-woman-girl\":{name:\"Man Woman Girl\",unified:\"1F468-200D-1F469-200D-1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_man_woman_girl\",\"home\",\"parents\",\"people\",\"human\",\"child\"],sheet:[41,11]},clubs:{name:\"Black Club Suit\",unified:\"2663\",variations:[\"2663-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[1,33]},\"flag-uz\":{name:\"Uzbekistan\",unified:\"1F1FA-1F1FF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"uzbekistan\",\"uz\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,8]},\"man-woman-girl-boy\":{name:\"Man Woman Girl Boy\",unified:\"1F468-200D-1F469-200D-1F467-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_man_woman_girl_boy\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,12]},\"flag-vu\":{name:\"Vanuatu\",unified:\"1F1FB-1F1FA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"vanuatu\",\"vu\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,15]},hearts:{name:\"Black Heart Suit\",unified:\"2665\",variations:[\"2665-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[1,34]},\"flag-va\":{name:\"Vatican City\",unified:\"1F1FB-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"vatican_city\",\"vatican\",\"city\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,9]},\"man-woman-boy-boy\":{name:\"Man Woman Boy Boy\",unified:\"1F468-200D-1F469-200D-1F466-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_man_woman_boy_boy\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,10]},diamonds:{name:\"Black Diamond Suit\",unified:\"2666\",variations:[\"2666-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[1,35]},\"man-woman-girl-girl\":{name:\"Man Woman Girl Girl\",unified:\"1F468-200D-1F469-200D-1F467-200D-1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_man_woman_girl_girl\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,13]},black_joker:{name:\"Playing Card Black Joker\",unified:\"1F0CF\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"black_joker\",\"poker\",\"cards\",\"game\",\"play\",\"magic\"],sheet:[4,2]},\"flag-ve\":{name:\"Venezuela\",unified:\"1F1FB-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"venezuela\",\"ve\",\"bolivarian\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,11]},\"woman-woman-boy\":{name:\"Woman Woman Boy\",unified:\"1F469-200D-1F469-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_woman_woman_boy\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,37]},flower_playing_cards:{name:\"Flower Playing Cards\",unified:\"1F3B4\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"flower_playing_cards\",\"game\",\"sunset\",\"red\"],sheet:[8,15]},\"flag-vn\":{name:\"Vietnam\",unified:\"1F1FB-1F1F3\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"vietnam\",\"viet\",\"nam\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,14]},\"woman-woman-girl\":{name:\"Woman Woman Girl\",unified:\"1F469-200D-1F469-200D-1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_woman_woman_girl\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,39]},\"flag-wf\":{name:\"Wallis Futuna\",unified:\"1F1FC-1F1EB\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"wallis_futuna\",\"wallis\",\"futuna\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,16]},mahjong:{name:\"Mahjong Tile Red Dragon\",unified:\"1F004\",variations:[\"1F004-FE0F\"],added_in:\"5.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mahjong\",\"game\",\"play\",\"chinese\",\"kanji\"],sheet:[4,1]},\"woman-woman-girl-boy\":{name:\"Woman Woman Girl Boy\",unified:\"1F469-200D-1F469-200D-1F467-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_woman_woman_girl_boy\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,40]},\"flag-eh\":{name:\"Western Sahara\",unified:\"1F1EA-1F1ED\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"western_sahara\",\"western\",\"sahara\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[32,31]},\"clock1\":{name:\"Clock Face One Oclock\",unified:\"1F550\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock1\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,33]},\"woman-woman-boy-boy\":{name:\"Woman Woman Boy Boy\",unified:\"1F469-200D-1F469-200D-1F466-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_woman_woman_boy_boy\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,38]},\"clock2\":{name:\"Clock Face Two Oclock\",unified:\"1F551\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock2\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,34]},\"flag-ye\":{name:\"Yemen\",unified:\"1F1FE-1F1EA\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"yemen\",\"ye\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,19]},\"clock3\":{name:\"Clock Face Three Oclock\",unified:\"1F552\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock3\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,35]},\"woman-woman-girl-girl\":{name:\"Woman Woman Girl Girl\",unified:\"1F469-200D-1F469-200D-1F467-200D-1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_woman_woman_girl_girl\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,41]},\"flag-zm\":{name:\"Zambia\",unified:\"1F1FF-1F1F2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"zambia\",\"zm\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,22]},\"clock4\":{name:\"Clock Face Four Oclock\",unified:\"1F553\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock4\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,36]},\"man-man-boy\":{name:\"Man Man Boy\",unified:\"1F468-200D-1F468-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_man_man_boy\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,4]},\"flag-zw\":{name:\"Zimbabwe\",unified:\"1F1FF-1F1FC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"zimbabwe\",\"zw\",\"flag\",\"nation\",\"country\",\"banner\"],sheet:[36,23]},\"clock5\":{name:\"Clock Face Five Oclock\",unified:\"1F554\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock5\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,37]},\"flag-ac\":{name:\"Regional Indicator Symbol Letters AC\",unified:\"1F1E6-1F1E8\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[31,11]},\"man-man-girl\":{name:\"Man Man Girl\",unified:\"1F468-200D-1F468-200D-1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_man_man_girl\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,6]},\"flag-bv\":{name:\"Regional Indicator Symbol Letters BV\",unified:\"1F1E7-1F1FB\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[31,45]},\"clock6\":{name:\"Clock Face Six Oclock\",unified:\"1F555\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock6\",\"time\",\"late\",\"early\",\"schedule\",\"dawn\",\"dusk\"],sheet:[20,38]},\"man-man-girl-boy\":{name:\"Man Man Girl Boy\",unified:\"1F468-200D-1F468-200D-1F467-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_man_man_girl_boy\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,7]},\"clock7\":{name:\"Clock Face Seven Oclock\",unified:\"1F556\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock7\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,39]},\"flag-cp\":{name:\"Regional Indicator Symbol Letters CP\",unified:\"1F1E8-1F1F5\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,sheet:[32,12]},\"man-man-boy-boy\":{name:\"Man Man Boy Boy\",unified:\"1F468-200D-1F468-200D-1F466-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_man_man_boy_boy\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,5]},\"flag-dg\":{name:\"Regional Indicator Symbol Letters DG\",unified:\"1F1E9-1F1EC\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[32,21]},\"clock8\":{name:\"Clock Face Eight Oclock\",unified:\"1F557\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock8\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,40]},\"man-man-girl-girl\":{name:\"Man Man Girl Girl\",unified:\"1F468-200D-1F468-200D-1F467-200D-1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"family_man_man_girl_girl\",\"home\",\"parents\",\"people\",\"human\",\"children\"],sheet:[41,8]},\"woman-boy\":{name:\"Woman Boy\",unified:\"1F469-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,keywords:[\"family_woman_boy\",\"home\",\"parent\",\"people\",\"human\",\"child\"],sheet:[38,48]},\"flag-ea\":{name:\"Regional Indicator Symbol Letters EA\",unified:\"1F1EA-1F1E6\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[32,27]},\"clock9\":{name:\"Clock Face Nine Oclock\",unified:\"1F558\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock9\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,41]},\"woman-girl\":{name:\"Woman Girl\",unified:\"1F469-200D-1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,keywords:[\"family_woman_girl\",\"home\",\"parent\",\"people\",\"human\",\"child\"],sheet:[39,0]},\"clock10\":{name:\"Clock Face Ten Oclock\",unified:\"1F559\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock10\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,42]},\"flag-hm\":{name:\"Regional Indicator Symbol Letters HM\",unified:\"1F1ED-1F1F2\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[33,13]},\"clock11\":{name:\"Clock Face Eleven Oclock\",unified:\"1F55A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock11\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,43]},\"woman-girl-boy\":{name:\"Woman Girl Boy\",unified:\"1F469-200D-1F467-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,keywords:[\"family_woman_girl_boy\",\"home\",\"parent\",\"people\",\"human\",\"children\"],sheet:[41,35]},\"flag-mf\":{name:\"Regional Indicator Symbol Letters MF\",unified:\"1F1F2-1F1EB\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[34,10]},\"woman-boy-boy\":{name:\"Woman Boy Boy\",unified:\"1F469-200D-1F466-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,keywords:[\"family_woman_boy_boy\",\"home\",\"parent\",\"people\",\"human\",\"children\"],sheet:[41,34]},\"flag-sj\":{name:\"Regional Indicator Symbol Letters SJ\",unified:\"1F1F8-1F1EF\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[35,21]},\"clock12\":{name:\"Clock Face Twelve Oclock\",unified:\"1F55B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock12\",\"time\",\"noon\",\"midnight\",\"midday\",\"late\",\"early\",\"schedule\"],sheet:[20,44]},\"clock130\":{name:\"Clock Face One-Thirty\",unified:\"1F55C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock130\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,45]},\"flag-ta\":{name:\"Regional Indicator Symbol Letters TA\",unified:\"1F1F9-1F1E6\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[35,34]},\"woman-girl-girl\":{name:\"Woman Girl Girl\",unified:\"1F469-200D-1F467-200D-1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,keywords:[\"family_woman_girl_girl\",\"home\",\"parent\",\"people\",\"human\",\"children\"],sheet:[41,36]},\"flag-um\":{name:\"Regional Indicator Symbol Letters UM\",unified:\"1F1FA-1F1F2\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,sheet:[36,4]},\"man-boy\":{name:\"Man Boy\",unified:\"1F468-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,keywords:[\"family_man_boy\",\"home\",\"parent\",\"people\",\"human\",\"child\"],sheet:[37,17]},\"clock230\":{name:\"Clock Face Two-Thirty\",unified:\"1F55D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock230\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,46]},\"clock330\":{name:\"Clock Face Three-Thirty\",unified:\"1F55E\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock330\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,47]},\"man-girl\":{name:\"Man Girl\",unified:\"1F468-200D-1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,keywords:[\"family_man_girl\",\"home\",\"parent\",\"people\",\"human\",\"child\"],sheet:[37,18]},\"flag-un\":{name:\"Regional Indicator Symbol Letters UN\",unified:\"1F1FA-1F1F3\",has_img_apple:false,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,sheet:[36,5]},\"man-girl-boy\":{name:\"Man Girl Boy\",unified:\"1F468-200D-1F467-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,keywords:[\"family_man_girl_boy\",\"home\",\"parent\",\"people\",\"human\",\"children\"],sheet:[41,2]},\"clock430\":{name:\"Clock Face Four-Thirty\",unified:\"1F55F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock430\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[20,48]},\"clock530\":{name:\"Clock Face Five-Thirty\",unified:\"1F560\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock530\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[21,0]},\"man-boy-boy\":{name:\"Man Boy Boy\",unified:\"1F468-200D-1F466-200D-1F466\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,keywords:[\"family_man_boy_boy\",\"home\",\"parent\",\"people\",\"human\",\"children\"],sheet:[41,1]},\"clock630\":{name:\"Clock Face Six-Thirty\",unified:\"1F561\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock630\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[21,1]},\"man-girl-girl\":{name:\"Man Girl Girl\",unified:\"1F468-200D-1F467-200D-1F467\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,keywords:[\"family_man_girl_girl\",\"home\",\"parent\",\"people\",\"human\",\"children\"],sheet:[41,3]},womans_clothes:{name:\"Womans Clothes\",unified:\"1F45A\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"womans_clothes\",\"fashion\",\"shopping_bags\",\"female\"],sheet:[13,33]},\"clock730\":{name:\"Clock Face Seven-Thirty\",unified:\"1F562\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock730\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[21,2]},shirt:{name:\"T-Shirt\",unified:\"1F455\",short_names:[\"tshirt\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tshirt\",\"fashion\",\"cloth\",\"casual\",\"shirt\",\"tee\"],sheet:[13,28]},\"clock830\":{name:\"Clock Face Eight-Thirty\",unified:\"1F563\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock830\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[21,3]},jeans:{name:\"Jeans\",unified:\"1F456\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"jeans\",\"fashion\",\"shopping\"],sheet:[13,29]},\"clock930\":{name:\"Clock Face Nine-Thirty\",unified:\"1F564\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock930\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[21,4]},\"clock1030\":{name:\"Clock Face Ten-Thirty\",unified:\"1F565\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock1030\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[21,5]},necktie:{name:\"Necktie\",unified:\"1F454\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"necktie\",\"shirt\",\"suitup\",\"formal\",\"fashion\",\"cloth\",\"business\"],sheet:[13,27]},dress:{name:\"Dress\",unified:\"1F457\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"dress\",\"clothes\",\"fashion\",\"shopping\"],sheet:[13,30]},\"clock1130\":{name:\"Clock Face Eleven-Thirty\",unified:\"1F566\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock1130\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[21,6]},\"clock1230\":{name:\"Clock Face Twelve-Thirty\",unified:\"1F567\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"clock1230\",\"time\",\"late\",\"early\",\"schedule\"],sheet:[21,7]},bikini:{name:\"Bikini\",unified:\"1F459\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"bikini\",\"swimming\",\"female\",\"woman\",\"girl\",\"fashion\",\"beach\",\"summer\"],sheet:[13,32]},kimono:{name:\"Kimono\",unified:\"1F458\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"kimono\",\"dress\",\"fashion\",\"women\",\"female\",\"japanese\"],sheet:[13,31]},female_sign:{name:\"Female Sign\",unified:\"2640\",added_in:\"1.1\",has_img_apple:false,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,sheet:[1,18]},high_heel:{name:\"High-Heeled Shoe\",unified:\"1F460\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"high_heel\",\"fashion\",\"shoes\",\"female\",\"pumps\",\"stiletto\"],sheet:[13,39]},male_sign:{name:\"Male Sign\",unified:\"2642\",added_in:\"1.1\",has_img_apple:false,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,sheet:[1,19]},staff_of_aesculapius:{name:\"Staff of Aesculapius\",unified:\"2695\",added_in:\"4.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,sheet:[1,42]},sandal:{name:\"Womans Sandal\",unified:\"1F461\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"sandal\",\"shoes\",\"fashion\",\"flip flops\"],sheet:[13,40]},boot:{name:\"Womans Boots\",unified:\"1F462\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"boot\",\"shoes\",\"fashion\"],sheet:[13,41]},mans_shoe:{name:\"Mans Shoe\",unified:\"1F45E\",short_names:[\"shoe\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mans_shoe\",\"fashion\",\"male\"],sheet:[13,37]},athletic_shoe:{name:\"Athletic Shoe\",unified:\"1F45F\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"athletic_shoe\",\"shoes\",\"sports\",\"sneakers\"],sheet:[13,38]},womans_hat:{name:\"Womans Hat\",unified:\"1F452\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"womans_hat\",\"fashion\",\"accessories\",\"female\",\"lady\",\"spring\"],sheet:[13,25]},tophat:{name:\"Top Hat\",unified:\"1F3A9\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"tophat\",\"magic\",\"gentleman\",\"classy\",\"circus\"],sheet:[8,4]},mortar_board:{name:\"Graduation Cap\",unified:\"1F393\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"mortar_board\",\"school\",\"college\",\"degree\",\"university\",\"graduation\",\"cap\",\"hat\",\"legal\",\"learn\",\"education\"],sheet:[7,36]},crown:{name:\"Crown\",unified:\"1F451\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"crown\",\"king\",\"kod\",\"leader\",\"royalty\",\"lord\"],sheet:[13,24]},helmet_with_white_cross:{name:\"Helmet with White Cross\",unified:\"26D1\",added_in:\"5.2\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"rescue_worker_helmet\",\"construction\",\"build\"],sheet:[2,12]},school_satchel:{name:\"School Satchel\",unified:\"1F392\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"school_satchel\",\"student\",\"education\",\"bag\",\"backpack\"],sheet:[7,35]},pouch:{name:\"Pouch\",unified:\"1F45D\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"pouch\",\"bag\",\"accessories\",\"shopping\"],sheet:[13,36]},purse:{name:\"Purse\",unified:\"1F45B\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"purse\",\"fashion\",\"accessories\",\"money\",\"sales\",\"shopping\"],sheet:[13,34]},handbag:{name:\"Handbag\",unified:\"1F45C\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"handbag\",\"fashion\",\"accessory\",\"accessories\",\"shopping\"],sheet:[13,35]},briefcase:{name:\"Briefcase\",unified:\"1F4BC\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"briefcase\",\"business\",\"documents\",\"work\",\"law\",\"legal\",\"job\",\"career\"],sheet:[17,45]},eyeglasses:{name:\"Eyeglasses\",unified:\"1F453\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"eyeglasses\",\"fashion\",\"accessories\",\"eyesight\",\"nerdy\",\"dork\",\"geek\"],sheet:[13,26]},dark_sunglasses:{name:\"Dark Sunglasses\",unified:\"1F576\",added_in:\"7.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"dark_sunglasses\",\"face\",\"cool\",\"accessories\"],sheet:[21,23]},closed_umbrella:{name:\"Closed Umbrella\",unified:\"1F302\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:true,keywords:[\"closed_umbrella\",\"weather\",\"rain\",\"drizzle\"],sheet:[4,35]},umbrella:{name:\"Umbrella\",unified:\"2602\",variations:[\"2602-FE0F\"],added_in:\"1.1\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,keywords:[\"open_umbrella\",\"weather\",\"spring\"],sheet:[0,43]},\"man-woman-boy\":{name:\"Man Woman Boy\",unified:\"1F468-200D-1F469-200D-1F466\",short_names:[\"family\"],has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:true,obsoletes:\"1F46A\",sheet:[41,9]},\"woman-heart-man\":{name:\"Woman Heart Man\",unified:\"1F469-200D-2764-FE0F-200D-1F468\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,obsoletes:\"1F491\",sheet:[42,11]},\"woman-kiss-man\":{name:\"Woman Kiss Man\",unified:\"1F469-200D-2764-FE0F-200D-1F48B-200D-1F468\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:true,has_img_messenger:false,obsoletes:\"1F48F\",sheet:[42,13]},\"male-police-officer\":{name:\"Male Police Officer\",unified:\"1F46E-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F46E-1F3FB-200D-2642-FE0F\",image:\"1f46e-1f3fb-200d-2642-fe0f.png\",sheet_x:42,sheet_y:22,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F46E-1F3FC-200D-2642-FE0F\",image:\"1f46e-1f3fc-200d-2642-fe0f.png\",sheet_x:42,sheet_y:23,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F46E-1F3FD-200D-2642-FE0F\",image:\"1f46e-1f3fd-200d-2642-fe0f.png\",sheet_x:42,sheet_y:24,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F46E-1F3FE-200D-2642-FE0F\",image:\"1f46e-1f3fe-200d-2642-fe0f.png\",sheet_x:42,sheet_y:25,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F46E-1F3FF-200D-2642-FE0F\",image:\"1f46e-1f3ff-200d-2642-fe0f.png\",sheet_x:42,sheet_y:26,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F46E\",sheet:[42,21]},\"blond-haired-man\":{name:\"Blond Haired Man\",unified:\"1F471-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F471-1F3FB-200D-2642-FE0F\",image:\"1f471-1f3fb-200d-2642-fe0f.png\",sheet_x:42,sheet_y:36,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F471-1F3FC-200D-2642-FE0F\",image:\"1f471-1f3fc-200d-2642-fe0f.png\",sheet_x:42,sheet_y:37,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F471-1F3FD-200D-2642-FE0F\",image:\"1f471-1f3fd-200d-2642-fe0f.png\",sheet_x:42,sheet_y:38,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F471-1F3FE-200D-2642-FE0F\",image:\"1f471-1f3fe-200d-2642-fe0f.png\",sheet_x:42,sheet_y:39,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F471-1F3FF-200D-2642-FE0F\",image:\"1f471-1f3ff-200d-2642-fe0f.png\",sheet_x:42,sheet_y:40,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F471\",sheet:[42,35]},\"man-wearing-turban\":{name:\"Man Wearing Turban\",unified:\"1F473-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F473-1F3FB-200D-2642-FE0F\",image:\"1f473-1f3fb-200d-2642-fe0f.png\",sheet_x:42,sheet_y:48,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F473-1F3FC-200D-2642-FE0F\",image:\"1f473-1f3fc-200d-2642-fe0f.png\",sheet_x:43,sheet_y:0,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F473-1F3FD-200D-2642-FE0F\",image:\"1f473-1f3fd-200d-2642-fe0f.png\",sheet_x:43,sheet_y:1,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F473-1F3FE-200D-2642-FE0F\",image:\"1f473-1f3fe-200d-2642-fe0f.png\",sheet_x:43,sheet_y:2,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F473-1F3FF-200D-2642-FE0F\",image:\"1f473-1f3ff-200d-2642-fe0f.png\",sheet_x:43,sheet_y:3,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F473\",sheet:[42,47]},\"male-construction-worker\":{name:\"Male Construction Worker\",unified:\"1F477-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F477-1F3FB-200D-2642-FE0F\",image:\"1f477-1f3fb-200d-2642-fe0f.png\",sheet_x:43,sheet_y:11,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F477-1F3FC-200D-2642-FE0F\",image:\"1f477-1f3fc-200d-2642-fe0f.png\",sheet_x:43,sheet_y:12,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F477-1F3FD-200D-2642-FE0F\",image:\"1f477-1f3fd-200d-2642-fe0f.png\",sheet_x:43,sheet_y:13,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F477-1F3FE-200D-2642-FE0F\",image:\"1f477-1f3fe-200d-2642-fe0f.png\",sheet_x:43,sheet_y:14,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F477-1F3FF-200D-2642-FE0F\",image:\"1f477-1f3ff-200d-2642-fe0f.png\",sheet_x:43,sheet_y:15,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F477\",sheet:[43,10]},\"male-guard\":{name:\"Male Guard\",unified:\"1F482-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F482-1F3FB-200D-2642-FE0F\",image:\"1f482-1f3fb-200d-2642-fe0f.png\",sheet_x:43,sheet_y:35,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F482-1F3FC-200D-2642-FE0F\",image:\"1f482-1f3fc-200d-2642-fe0f.png\",sheet_x:43,sheet_y:36,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F482-1F3FD-200D-2642-FE0F\",image:\"1f482-1f3fd-200d-2642-fe0f.png\",sheet_x:43,sheet_y:37,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F482-1F3FE-200D-2642-FE0F\",image:\"1f482-1f3fe-200d-2642-fe0f.png\",sheet_x:43,sheet_y:38,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F482-1F3FF-200D-2642-FE0F\",image:\"1f482-1f3ff-200d-2642-fe0f.png\",sheet_x:43,sheet_y:39,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F482\",sheet:[43,34]},\"male-detective\":{name:\"Male Detective\",unified:\"1F575-FE0F-200D-2642-FE0F\",added_in:\"7.0\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F575-1F3FB-200D-2642-FE0F\",image:\"1f575-1f3fb-200d-2642-fe0f.png\",sheet_x:44,sheet_y:22,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F575-1F3FC-200D-2642-FE0F\",image:\"1f575-1f3fc-200d-2642-fe0f.png\",sheet_x:44,sheet_y:23,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F575-1F3FD-200D-2642-FE0F\",image:\"1f575-1f3fd-200d-2642-fe0f.png\",sheet_x:44,sheet_y:24,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F575-1F3FE-200D-2642-FE0F\",image:\"1f575-1f3fe-200d-2642-fe0f.png\",sheet_x:44,sheet_y:25,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F575-1F3FF-200D-2642-FE0F\",image:\"1f575-1f3ff-200d-2642-fe0f.png\",sheet_x:44,sheet_y:26,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F575\",sheet:[44,21]},\"woman-with-bunny-ears-partying\":{name:\"Woman with Bunny Ears Partying\",unified:\"1F46F-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,obsoletes:\"1F46F\",sheet:[42,27]},\"man-running\":{name:\"Man Running\",unified:\"1F3C3-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F3C3-1F3FB-200D-2642-FE0F\",image:\"1f3c3-1f3fb-200d-2642-fe0f.png\",sheet_x:39,sheet_y:44,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F3C3-1F3FC-200D-2642-FE0F\",image:\"1f3c3-1f3fc-200d-2642-fe0f.png\",sheet_x:39,sheet_y:45,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F3C3-1F3FD-200D-2642-FE0F\",image:\"1f3c3-1f3fd-200d-2642-fe0f.png\",sheet_x:39,sheet_y:46,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F3C3-1F3FE-200D-2642-FE0F\",image:\"1f3c3-1f3fe-200d-2642-fe0f.png\",sheet_x:39,sheet_y:47,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F3C3-1F3FF-200D-2642-FE0F\",image:\"1f3c3-1f3ff-200d-2642-fe0f.png\",sheet_x:39,sheet_y:48,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F3C3\",sheet:[39,43]},\"woman-getting-massage\":{name:\"Woman Getting Massage\",unified:\"1F486-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F486-1F3FB-200D-2640-FE0F\",image:\"1f486-1f3fb-200d-2640-fe0f.png\",sheet_x:43,sheet_y:41,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F486-1F3FC-200D-2640-FE0F\",image:\"1f486-1f3fc-200d-2640-fe0f.png\",sheet_x:43,sheet_y:42,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F486-1F3FD-200D-2640-FE0F\",image:\"1f486-1f3fd-200d-2640-fe0f.png\",sheet_x:43,sheet_y:43,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F486-1F3FE-200D-2640-FE0F\",image:\"1f486-1f3fe-200d-2640-fe0f.png\",sheet_x:43,sheet_y:44,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F486-1F3FF-200D-2640-FE0F\",image:\"1f486-1f3ff-200d-2640-fe0f.png\",sheet_x:43,sheet_y:45,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F486\",sheet:[43,40]},\"woman-getting-haircut\":{name:\"Woman Getting Haircut\",unified:\"1F487-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F487-1F3FB-200D-2640-FE0F\",image:\"1f487-1f3fb-200d-2640-fe0f.png\",sheet_x:44,sheet_y:4,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F487-1F3FC-200D-2640-FE0F\",image:\"1f487-1f3fc-200d-2640-fe0f.png\",sheet_x:44,sheet_y:5,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F487-1F3FD-200D-2640-FE0F\",image:\"1f487-1f3fd-200d-2640-fe0f.png\",sheet_x:44,sheet_y:6,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F487-1F3FE-200D-2640-FE0F\",image:\"1f487-1f3fe-200d-2640-fe0f.png\",sheet_x:44,sheet_y:7,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F487-1F3FF-200D-2640-FE0F\",image:\"1f487-1f3ff-200d-2640-fe0f.png\",sheet_x:44,sheet_y:8,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F487\",sheet:[44,3]},\"man-walking\":{name:\"Man Walking\",unified:\"1F6B6-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F6B6-1F3FB-200D-2642-FE0F\",image:\"1f6b6-1f3fb-200d-2642-fe0f.png\",sheet_x:46,sheet_y:44,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F6B6-1F3FC-200D-2642-FE0F\",image:\"1f6b6-1f3fc-200d-2642-fe0f.png\",sheet_x:46,sheet_y:45,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F6B6-1F3FD-200D-2642-FE0F\",image:\"1f6b6-1f3fd-200d-2642-fe0f.png\",sheet_x:46,sheet_y:46,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F6B6-1F3FE-200D-2642-FE0F\",image:\"1f6b6-1f3fe-200d-2642-fe0f.png\",sheet_x:46,sheet_y:47,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F6B6-1F3FF-200D-2642-FE0F\",image:\"1f6b6-1f3ff-200d-2642-fe0f.png\",sheet_x:46,sheet_y:48,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F6B6\",sheet:[46,43]},\"woman-tipping-hand\":{name:\"Woman Tipping Hand\",unified:\"1F481-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F481-1F3FB-200D-2640-FE0F\",image:\"1f481-1f3fb-200d-2640-fe0f.png\",sheet_x:43,sheet_y:17,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F481-1F3FC-200D-2640-FE0F\",image:\"1f481-1f3fc-200d-2640-fe0f.png\",sheet_x:43,sheet_y:18,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F481-1F3FD-200D-2640-FE0F\",image:\"1f481-1f3fd-200d-2640-fe0f.png\",sheet_x:43,sheet_y:19,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F481-1F3FE-200D-2640-FE0F\",image:\"1f481-1f3fe-200d-2640-fe0f.png\",sheet_x:43,sheet_y:20,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F481-1F3FF-200D-2640-FE0F\",image:\"1f481-1f3ff-200d-2640-fe0f.png\",sheet_x:43,sheet_y:21,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F481\",sheet:[43,16]},\"woman-gesturing-no\":{name:\"Woman Gesturing No\",unified:\"1F645-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F645-1F3FB-200D-2640-FE0F\",image:\"1f645-1f3fb-200d-2640-fe0f.png\",sheet_x:44,sheet_y:28,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F645-1F3FC-200D-2640-FE0F\",image:\"1f645-1f3fc-200d-2640-fe0f.png\",sheet_x:44,sheet_y:29,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F645-1F3FD-200D-2640-FE0F\",image:\"1f645-1f3fd-200d-2640-fe0f.png\",sheet_x:44,sheet_y:30,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F645-1F3FE-200D-2640-FE0F\",image:\"1f645-1f3fe-200d-2640-fe0f.png\",sheet_x:44,sheet_y:31,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F645-1F3FF-200D-2640-FE0F\",image:\"1f645-1f3ff-200d-2640-fe0f.png\",sheet_x:44,sheet_y:32,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F645\",sheet:[44,27]},\"woman-gesturing-ok\":{name:\"Woman Gesturing Ok\",unified:\"1F646-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F646-1F3FB-200D-2640-FE0F\",image:\"1f646-1f3fb-200d-2640-fe0f.png\",sheet_x:44,sheet_y:40,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F646-1F3FC-200D-2640-FE0F\",image:\"1f646-1f3fc-200d-2640-fe0f.png\",sheet_x:44,sheet_y:41,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F646-1F3FD-200D-2640-FE0F\",image:\"1f646-1f3fd-200d-2640-fe0f.png\",sheet_x:44,sheet_y:42,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F646-1F3FE-200D-2640-FE0F\",image:\"1f646-1f3fe-200d-2640-fe0f.png\",sheet_x:44,sheet_y:43,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F646-1F3FF-200D-2640-FE0F\",image:\"1f646-1f3ff-200d-2640-fe0f.png\",sheet_x:44,sheet_y:44,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F646\",sheet:[44,39]},\"man-bowing\":{name:\"Man Bowing\",unified:\"1F647-200D-2642-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F647-1F3FB-200D-2642-FE0F\",image:\"1f647-1f3fb-200d-2642-fe0f.png\",sheet_x:45,sheet_y:9,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F647-1F3FC-200D-2642-FE0F\",image:\"1f647-1f3fc-200d-2642-fe0f.png\",sheet_x:45,sheet_y:10,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F647-1F3FD-200D-2642-FE0F\",image:\"1f647-1f3fd-200d-2642-fe0f.png\",sheet_x:45,sheet_y:11,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F647-1F3FE-200D-2642-FE0F\",image:\"1f647-1f3fe-200d-2642-fe0f.png\",sheet_x:45,sheet_y:12,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F647-1F3FF-200D-2642-FE0F\",image:\"1f647-1f3ff-200d-2642-fe0f.png\",sheet_x:45,sheet_y:13,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F647\",sheet:[45,8]},\"woman-raising-hand\":{name:\"Woman Raising Hand\",unified:\"1F64B-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F64B-1F3FB-200D-2640-FE0F\",image:\"1f64b-1f3fb-200d-2640-fe0f.png\",sheet_x:45,sheet_y:15,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F64B-1F3FC-200D-2640-FE0F\",image:\"1f64b-1f3fc-200d-2640-fe0f.png\",sheet_x:45,sheet_y:16,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F64B-1F3FD-200D-2640-FE0F\",image:\"1f64b-1f3fd-200d-2640-fe0f.png\",sheet_x:45,sheet_y:17,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F64B-1F3FE-200D-2640-FE0F\",image:\"1f64b-1f3fe-200d-2640-fe0f.png\",sheet_x:45,sheet_y:18,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F64B-1F3FF-200D-2640-FE0F\",image:\"1f64b-1f3ff-200d-2640-fe0f.png\",sheet_x:45,sheet_y:19,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F64B\",sheet:[45,14]},\"woman-frowning\":{name:\"Woman Frowning\",unified:\"1F64D-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F64D-1F3FB-200D-2640-FE0F\",image:\"1f64d-1f3fb-200d-2640-fe0f.png\",sheet_x:45,sheet_y:27,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F64D-1F3FC-200D-2640-FE0F\",image:\"1f64d-1f3fc-200d-2640-fe0f.png\",sheet_x:45,sheet_y:28,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F64D-1F3FD-200D-2640-FE0F\",image:\"1f64d-1f3fd-200d-2640-fe0f.png\",sheet_x:45,sheet_y:29,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F64D-1F3FE-200D-2640-FE0F\",image:\"1f64d-1f3fe-200d-2640-fe0f.png\",sheet_x:45,sheet_y:30,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F64D-1F3FF-200D-2640-FE0F\",image:\"1f64d-1f3ff-200d-2640-fe0f.png\",sheet_x:45,sheet_y:31,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F64D\",sheet:[45,26]},\"woman-pouting\":{name:\"Woman Pouting\",unified:\"1F64E-200D-2640-FE0F\",has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false,skin_variations:{\"1F3FB\":{unified:\"1F64E-1F3FB-200D-2640-FE0F\",image:\"1f64e-1f3fb-200d-2640-fe0f.png\",sheet_x:45,sheet_y:39,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FC\":{unified:\"1F64E-1F3FC-200D-2640-FE0F\",image:\"1f64e-1f3fc-200d-2640-fe0f.png\",sheet_x:45,sheet_y:40,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FD\":{unified:\"1F64E-1F3FD-200D-2640-FE0F\",image:\"1f64e-1f3fd-200d-2640-fe0f.png\",sheet_x:45,sheet_y:41,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FE\":{unified:\"1F64E-1F3FE-200D-2640-FE0F\",image:\"1f64e-1f3fe-200d-2640-fe0f.png\",sheet_x:45,sheet_y:42,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false},\"1F3FF\":{unified:\"1F64E-1F3FF-200D-2640-FE0F\",image:\"1f64e-1f3ff-200d-2640-fe0f.png\",sheet_x:45,sheet_y:43,has_img_apple:true,has_img_google:false,has_img_twitter:true,has_img_emojione:false,has_img_facebook:false,has_img_messenger:false}},obsoletes:\"1F64E\",sheet:[45,38]}},skins:{\"skin-tone-2\":{name:\"Emoji Modifier Fitzpatrick Type-1-2\",unified:\"1F3FB\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,sheet:[10,20]},\"skin-tone-3\":{name:\"Emoji Modifier Fitzpatrick Type-3\",unified:\"1F3FC\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,sheet:[10,21]},\"skin-tone-4\":{name:\"Emoji Modifier Fitzpatrick Type-4\",unified:\"1F3FD\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,sheet:[10,22]},\"skin-tone-5\":{name:\"Emoji Modifier Fitzpatrick Type-5\",unified:\"1F3FE\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,sheet:[10,23]},\"skin-tone-6\":{name:\"Emoji Modifier Fitzpatrick Type-6\",unified:\"1F3FF\",added_in:\"8.0\",has_img_apple:true,has_img_google:true,has_img_twitter:true,has_img_emojione:true,has_img_facebook:true,has_img_messenger:false,sheet:[10,24]}},short_names:{red_car:\"car\",satisfied:\"laughing\",telephone:\"phone\",cooking:\"fried_egg\",honeybee:\"bee\",sailboat:\"boat\",cn:\"flag-cn\",flipper:\"dolphin\",knife:\"hocho\",poop:\"hankey\",shit:\"hankey\",fr:\"flag-fr\",heavy_exclamation_mark:\"exclamation\",paw_prints:\"feet\",de:\"flag-de\",thumbsup:\"+1\",thumbsdown:\"-1\",punch:\"facepunch\",lantern:\"izakaya_lantern\",envelope:\"email\",sign_of_the_horns:\"the_horns\",it:\"flag-it\",jp:\"flag-jp\",raised_hand:\"hand\",waxing_gibbous_moon:\"moon\",reversed_hand_with_middle_finger_extended:\"middle_finger\",collision:\"boom\",sun_small_cloud:\"mostly_sunny\",sun_behind_cloud:\"barely_sunny\",sun_behind_rain_cloud:\"partly_sunny_rain\",lightning_cloud:\"lightning\",open_book:\"book\",tornado_cloud:\"tornado\",pencil:\"memo\",ru:\"flag-ru\",kr:\"flag-kr\",es:\"flag-es\",running:\"runner\",man_and_woman_holding_hands:\"couple\",gb:\"flag-gb\",uk:\"flag-gb\",us:\"flag-us\",\"man-woman-boy\":\"family\",tshirt:\"shirt\",shoe:\"mans_shoe\",family:\"man-woman-boy\"}};" + }, + { + "id": 868, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/keys.js", + "name": "./node_modules/babel-runtime/core-js/object/keys.js", + "index": 442, + "index2": 434, + "size": 92, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/index.js", + "issuerId": 789, + "issuerName": "./node_modules/emoji-mart/dist-es/utils/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 789, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/index.js", + "module": "./node_modules/emoji-mart/dist-es/utils/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/utils/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/core-js/object/keys", + "loc": "1:0-61" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };" + }, + { + "id": 869, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/keys.js", + "name": "./node_modules/core-js/library/fn/object/keys.js", + "index": 443, + "index2": 433, + "size": 102, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/keys.js", + "issuerId": 868, + "issuerName": "./node_modules/babel-runtime/core-js/object/keys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 868, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/keys.js", + "module": "./node_modules/babel-runtime/core-js/object/keys.js", + "moduleName": "./node_modules/babel-runtime/core-js/object/keys.js", + "type": "cjs require", + "userRequest": "core-js/library/fn/object/keys", + "loc": "1:30-71" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;" + }, + { + "id": 870, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.keys.js", + "name": "./node_modules/core-js/library/modules/es6.object.keys.js", + "index": 444, + "index2": 432, + "size": 224, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/keys.js", + "issuerId": 869, + "issuerName": "./node_modules/core-js/library/fn/object/keys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 869, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/keys.js", + "module": "./node_modules/core-js/library/fn/object/keys.js", + "moduleName": "./node_modules/core-js/library/fn/object/keys.js", + "type": "cjs require", + "userRequest": "../../modules/es6.object.keys", + "loc": "1:0-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});" + }, + { + "id": 871, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/polyfills/stringFromCodePoint.js", + "name": "./node_modules/emoji-mart/dist-es/polyfills/stringFromCodePoint.js", + "index": 446, + "index2": 435, + "size": 1284, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/index.js", + "issuerId": 789, + "issuerName": "./node_modules/emoji-mart/dist-es/utils/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 789, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/index.js", + "module": "./node_modules/emoji-mart/dist-es/utils/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/utils/index.js", + "type": "harmony import", + "userRequest": "../polyfills/stringFromCodePoint", + "loc": "4:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "var _String = String;\n\nexport default _String.fromCodePoint || function stringFromCodePoint() {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n if (!length) {\n return '';\n }\n var result = '';\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10ffff || // not a valid Unicode code point\n Math.floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xd800;\n lowSurrogate = codePoint % 0x400 + 0xdc00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += String.fromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};" + }, + { + "id": 872, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/anchors.js", + "name": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "index": 448, + "index2": 438, + "size": 2667, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "issuerId": 801, + "issuerName": "./node_modules/emoji-mart/dist-es/components/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 801, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "module": "./node_modules/emoji-mart/dist-es/components/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/index.js", + "type": "harmony import", + "userRequest": "./anchors", + "loc": "1:0-47" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport SVGs from '../svgs';\n\nvar Anchors = function (_React$PureComponent) {\n _inherits(Anchors, _React$PureComponent);\n\n function Anchors(props) {\n _classCallCheck(this, Anchors);\n\n var _this = _possibleConstructorReturn(this, (Anchors.__proto__ || _Object$getPrototypeOf(Anchors)).call(this, props));\n\n var categories = props.categories;\n\n var defaultCategory = categories.filter(function (category) {\n return category.first;\n })[0];\n\n _this.state = {\n selected: defaultCategory.name\n };\n\n _this.handleClick = _this.handleClick.bind(_this);\n return _this;\n }\n\n _createClass(Anchors, [{\n key: 'handleClick',\n value: function handleClick(e) {\n var index = e.currentTarget.getAttribute('data-index');\n var _props = this.props;\n var categories = _props.categories;\n var onAnchorClick = _props.onAnchorClick;\n\n onAnchorClick(categories[index], index);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props2 = this.props;\n var categories = _props2.categories;\n var onAnchorClick = _props2.onAnchorClick;\n var color = _props2.color;\n var i18n = _props2.i18n;\n var selected = this.state.selected;\n\n return React.createElement('div', { className: 'emoji-mart-anchors' }, categories.map(function (category, i) {\n var name = category.name;\n var anchor = category.anchor;\n var isSelected = name == selected;\n\n if (anchor === false) {\n return null;\n }\n\n return React.createElement('span', {\n key: name,\n title: i18n.categories[name.toLowerCase()],\n 'data-index': i,\n onClick: _this2.handleClick,\n className: 'emoji-mart-anchor ' + (isSelected ? 'emoji-mart-anchor-selected' : ''),\n style: { color: isSelected ? color : null }\n }, React.createElement('div', { dangerouslySetInnerHTML: { __html: SVGs[name] } }), React.createElement('span', {\n className: 'emoji-mart-anchor-bar',\n style: { backgroundColor: color }\n }));\n }));\n }\n }]);\n\n return Anchors;\n}(React.PureComponent);\n\nexport default Anchors;\n\nAnchors.defaultProps = {\n categories: [],\n onAnchorClick: function onAnchorClick() {}\n};" + }, + { + "id": 873, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/svgs/index.js", + "name": "./node_modules/emoji-mart/dist-es/svgs/index.js", + "index": 449, + "index2": 437, + "size": 9185, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/anchors.js", + "issuerId": 872, + "issuerName": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 872, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/anchors.js", + "module": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "type": "harmony import", + "userRequest": "../svgs", + "loc": "9:0-27" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 9, + "source": "var SVGs = {\n Activity: \"\\n \\n \",\n\n Custom: \"\\n \\n \\n \\n \\n \\n \",\n\n Flags: \"\\n \\n \",\n\n Foods: \"\\n \\n \",\n\n Nature: \"\\n \\n \\n \",\n\n Objects: \"\\n \\n \\n \",\n\n People: \"\\n \\n \\n \",\n\n Places: \"\\n \\n \\n \",\n\n Recent: \"\\n \\n \\n \",\n\n Symbols: \"\\n \\n \"\n};\n\nexport default SVGs;" + }, + { + "id": 874, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "name": "./node_modules/emoji-mart/dist-es/components/category.js", + "index": 450, + "index2": 439, + "size": 6692, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "issuerId": 801, + "issuerName": "./node_modules/emoji-mart/dist-es/components/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 801, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "module": "./node_modules/emoji-mart/dist-es/components/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/index.js", + "type": "harmony import", + "userRequest": "./category", + "loc": "2:0-49" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _extends from '../polyfills/extends';\nimport _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport frequently from '../utils/frequently';\nimport { getData } from '../utils';\nimport { Emoji } from '.';\n\nvar Category = function (_React$Component) {\n _inherits(Category, _React$Component);\n\n function Category(props) {\n _classCallCheck(this, Category);\n\n var _this = _possibleConstructorReturn(this, (Category.__proto__ || _Object$getPrototypeOf(Category)).call(this, props));\n\n _this.setContainerRef = _this.setContainerRef.bind(_this);\n _this.setLabelRef = _this.setLabelRef.bind(_this);\n return _this;\n }\n\n _createClass(Category, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.parent = this.container.parentNode;\n\n this.margin = 0;\n this.minMargin = 0;\n\n this.memoizeSize();\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n var _props = this.props;\n var name = _props.name;\n var perLine = _props.perLine;\n var native = _props.native;\n var hasStickyPosition = _props.hasStickyPosition;\n var emojis = _props.emojis;\n var emojiProps = _props.emojiProps;\n var skin = emojiProps.skin;\n var size = emojiProps.size;\n var set = emojiProps.set;\n var nextPerLine = nextProps.perLine;\n var nextNative = nextProps.native;\n var nextHasStickyPosition = nextProps.hasStickyPosition;\n var nextEmojis = nextProps.emojis;\n var nextEmojiProps = nextProps.emojiProps;\n var nextSkin = nextEmojiProps.skin;\n var nextSize = nextEmojiProps.size;\n var nextSet = nextEmojiProps.set;\n var shouldUpdate = false;\n\n if (name == 'Recent' && perLine != nextPerLine) {\n shouldUpdate = true;\n }\n\n if (name == 'Search') {\n shouldUpdate = !(emojis == nextEmojis);\n }\n\n if (skin != nextSkin || size != nextSize || native != nextNative || set != nextSet || hasStickyPosition != nextHasStickyPosition) {\n shouldUpdate = true;\n }\n\n return shouldUpdate;\n }\n }, {\n key: 'memoizeSize',\n value: function memoizeSize() {\n var _container$getBoundin = this.container.getBoundingClientRect();\n\n var top = _container$getBoundin.top;\n var height = _container$getBoundin.height;\n\n var _parent$getBoundingCl = this.parent.getBoundingClientRect();\n\n var parentTop = _parent$getBoundingCl.top;\n\n var _label$getBoundingCli = this.label.getBoundingClientRect();\n\n var labelHeight = _label$getBoundingCli.height;\n\n this.top = top - parentTop + this.parent.scrollTop;\n\n if (height == 0) {\n this.maxMargin = 0;\n } else {\n this.maxMargin = height - labelHeight;\n }\n }\n }, {\n key: 'handleScroll',\n value: function handleScroll(scrollTop) {\n var margin = scrollTop - this.top;\n margin = margin < this.minMargin ? this.minMargin : margin;\n margin = margin > this.maxMargin ? this.maxMargin : margin;\n\n if (margin == this.margin) return;\n var name = this.props.name;\n\n if (!this.props.hasStickyPosition) {\n this.label.style.top = margin + 'px';\n }\n\n this.margin = margin;\n return true;\n }\n }, {\n key: 'getEmojis',\n value: function getEmojis() {\n var _props2 = this.props;\n var name = _props2.name;\n var emojis = _props2.emojis;\n var recent = _props2.recent;\n var perLine = _props2.perLine;\n\n if (name == 'Recent') {\n var custom = this.props.custom;\n\n var frequentlyUsed = recent || frequently.get(perLine);\n\n if (frequentlyUsed.length) {\n emojis = frequentlyUsed.map(function (id) {\n var emoji = custom.filter(function (e) {\n return e.id === id;\n })[0];\n if (emoji) {\n return emoji;\n }\n\n return id;\n }).filter(function (id) {\n return !!getData(id);\n });\n }\n\n if (emojis.length === 0 && frequentlyUsed.length > 0) {\n return null;\n }\n }\n\n if (emojis) {\n emojis = emojis.slice(0);\n }\n\n return emojis;\n }\n }, {\n key: 'updateDisplay',\n value: function updateDisplay(display) {\n var emojis = this.getEmojis();\n\n if (!emojis) {\n return;\n }\n\n this.container.style.display = display;\n }\n }, {\n key: 'setContainerRef',\n value: function setContainerRef(c) {\n this.container = c;\n }\n }, {\n key: 'setLabelRef',\n value: function setLabelRef(c) {\n this.label = c;\n }\n }, {\n key: 'render',\n value: function render() {\n var _props3 = this.props;\n var name = _props3.name;\n var hasStickyPosition = _props3.hasStickyPosition;\n var emojiProps = _props3.emojiProps;\n var i18n = _props3.i18n;\n var emojis = this.getEmojis();\n var labelStyles = {};\n var labelSpanStyles = {};\n var containerStyles = {};\n\n if (!emojis) {\n containerStyles = {\n display: 'none'\n };\n }\n\n if (!hasStickyPosition) {\n labelStyles = {\n height: 28\n };\n\n labelSpanStyles = {\n position: 'absolute'\n };\n }\n\n return React.createElement('div', {\n ref: this.setContainerRef,\n className: 'emoji-mart-category ' + (emojis && !emojis.length ? 'emoji-mart-no-results' : ''),\n style: containerStyles\n }, React.createElement('div', {\n style: labelStyles,\n 'data-name': name,\n className: 'emoji-mart-category-label'\n }, React.createElement('span', { style: labelSpanStyles, ref: this.setLabelRef }, i18n.categories[name.toLowerCase()])), emojis && emojis.map(function (emoji) {\n return Emoji(_extends({ emoji: emoji }, emojiProps));\n }), emojis && !emojis.length && React.createElement('div', null, React.createElement('div', null, Emoji(_extends({}, emojiProps, {\n size: 38,\n emoji: 'sleuth_or_spy',\n onOver: null,\n onLeave: null,\n onClick: null\n }))), React.createElement('div', { className: 'emoji-mart-no-results-label' }, i18n.notfound)));\n }\n }]);\n\n return Category;\n}(React.Component);\n\nexport default Category;\n\nCategory.defaultProps = {\n emojis: [],\n hasStickyPosition: true\n};" + }, + { + "id": 875, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "name": "./node_modules/emoji-mart/dist-es/components/preview.js", + "index": 452, + "index2": 441, + "size": 3147, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "issuerId": 801, + "issuerName": "./node_modules/emoji-mart/dist-es/components/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 801, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "module": "./node_modules/emoji-mart/dist-es/components/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/index.js", + "type": "harmony import", + "userRequest": "./preview", + "loc": "5:0-47" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _extends from '../polyfills/extends';\nimport _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Emoji, Skins } from '.';\nimport { getData } from '../utils';\n\nvar Preview = function (_React$PureComponent) {\n _inherits(Preview, _React$PureComponent);\n\n function Preview(props) {\n _classCallCheck(this, Preview);\n\n var _this = _possibleConstructorReturn(this, (Preview.__proto__ || _Object$getPrototypeOf(Preview)).call(this, props));\n\n _this.state = { emoji: null };\n return _this;\n }\n\n _createClass(Preview, [{\n key: 'render',\n value: function render() {\n var emoji = this.state.emoji;\n var _props = this.props;\n var emojiProps = _props.emojiProps;\n var skinsProps = _props.skinsProps;\n var title = _props.title;\n var idleEmoji = _props.emoji;\n\n if (emoji) {\n var emojiData = getData(emoji);\n var _emojiData$emoticons = emojiData.emoticons;\n var emoticons = _emojiData$emoticons === undefined ? [] : _emojiData$emoticons;\n var knownEmoticons = [];\n var listedEmoticons = [];\n\n emoticons.forEach(function (emoticon) {\n if (knownEmoticons.indexOf(emoticon.toLowerCase()) >= 0) {\n return;\n }\n\n knownEmoticons.push(emoticon.toLowerCase());\n listedEmoticons.push(emoticon);\n });\n\n return React.createElement('div', { className: 'emoji-mart-preview' }, React.createElement('div', { className: 'emoji-mart-preview-emoji' }, Emoji(_extends({ key: emoji.id, emoji: emoji }, emojiProps))), React.createElement('div', { className: 'emoji-mart-preview-data' }, React.createElement('div', { className: 'emoji-mart-preview-name' }, emoji.name), React.createElement('div', { className: 'emoji-mart-preview-shortnames' }, emojiData.short_names.map(function (short_name) {\n return React.createElement('span', { key: short_name, className: 'emoji-mart-preview-shortname' }, ':', short_name, ':');\n })), React.createElement('div', { className: 'emoji-mart-preview-emoticons' }, listedEmoticons.map(function (emoticon) {\n return React.createElement('span', { key: emoticon, className: 'emoji-mart-preview-emoticon' }, emoticon);\n }))));\n } else {\n return React.createElement('div', { className: 'emoji-mart-preview' }, React.createElement('div', { className: 'emoji-mart-preview-emoji' }, idleEmoji && idleEmoji.length && Emoji(_extends({ emoji: idleEmoji }, emojiProps))), React.createElement('div', { className: 'emoji-mart-preview-data' }, React.createElement('span', { className: 'emoji-mart-title-label' }, title)), React.createElement('div', { className: 'emoji-mart-preview-skins' }, React.createElement(Skins, skinsProps)));\n }\n }\n }]);\n\n return Preview;\n}(React.PureComponent);\n\nexport default Preview;" + }, + { + "id": 876, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/search.js", + "name": "./node_modules/emoji-mart/dist-es/components/search.js", + "index": 453, + "index2": 443, + "size": 2047, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "issuerId": 801, + "issuerName": "./node_modules/emoji-mart/dist-es/components/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 801, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "module": "./node_modules/emoji-mart/dist-es/components/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/index.js", + "type": "harmony import", + "userRequest": "./search", + "loc": "6:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport emojiIndex from '../utils/emoji-index';\n\nvar Search = function (_React$PureComponent) {\n _inherits(Search, _React$PureComponent);\n\n function Search(props) {\n _classCallCheck(this, Search);\n\n var _this = _possibleConstructorReturn(this, (Search.__proto__ || _Object$getPrototypeOf(Search)).call(this, props));\n\n _this.setRef = _this.setRef.bind(_this);\n _this.handleChange = _this.handleChange.bind(_this);\n return _this;\n }\n\n _createClass(Search, [{\n key: 'handleChange',\n value: function handleChange() {\n var value = this.input.value;\n\n this.props.onSearch(emojiIndex.search(value, {\n emojisToShowFilter: this.props.emojisToShowFilter,\n maxResults: this.props.maxResults,\n include: this.props.include,\n exclude: this.props.exclude,\n custom: this.props.custom\n }));\n }\n }, {\n key: 'setRef',\n value: function setRef(c) {\n this.input = c;\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.input.value = '';\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props;\n var i18n = _props.i18n;\n var autoFocus = _props.autoFocus;\n\n return React.createElement('div', { className: 'emoji-mart-search' }, React.createElement('input', {\n ref: this.setRef,\n type: 'text',\n onChange: this.handleChange,\n placeholder: i18n.search,\n autoFocus: autoFocus\n }));\n }\n }]);\n\n return Search;\n}(React.PureComponent);\n\nexport default Search;\n\nSearch.defaultProps = {\n onSearch: function onSearch() {},\n maxResults: 75,\n emojisToShowFilter: null,\n autoFocus: false\n};" + }, + { + "id": 877, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/utils/emoji-index.js", + "name": "./node_modules/emoji-mart/dist-es/utils/emoji-index.js", + "index": 454, + "index2": 442, + "size": 4516, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/search.js", + "issuerId": 876, + "issuerName": "./node_modules/emoji-mart/dist-es/components/search.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 876, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/search.js", + "module": "./node_modules/emoji-mart/dist-es/components/search.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/search.js", + "type": "harmony import", + "userRequest": "../utils/emoji-index", + "loc": "8:0-46" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 9, + "source": "import data from '../data';\nimport { getData, getSanitizedData, intersect } from '.';\n\nvar originalPool = {};\nvar index = {};\nvar emojisList = {};\nvar emoticonsList = {};\n\nvar _loop = function _loop(emoji) {\n var emojiData = data.emojis[emoji];\n var short_names = emojiData.short_names;\n var emoticons = emojiData.emoticons;\n var id = short_names[0];\n\n if (emoticons) {\n emoticons.forEach(function (emoticon) {\n if (emoticonsList[emoticon]) {\n return;\n }\n\n emoticonsList[emoticon] = id;\n });\n }\n\n emojisList[id] = getSanitizedData(id);\n originalPool[id] = emojiData;\n};\n\nfor (var emoji in data.emojis) {\n _loop(emoji);\n}\n\nfunction addCustomToPool(custom, pool) {\n custom.forEach(function (emoji) {\n var emojiId = emoji.id || emoji.short_names[0];\n\n if (emojiId && !pool[emojiId]) {\n pool[emojiId] = getData(emoji);\n emojisList[emojiId] = getSanitizedData(emoji);\n }\n });\n}\n\nfunction search(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var emojisToShowFilter = _ref.emojisToShowFilter;\n var maxResults = _ref.maxResults;\n var include = _ref.include;\n var exclude = _ref.exclude;\n var _ref$custom = _ref.custom;\n var custom = _ref$custom === undefined ? [] : _ref$custom;\n\n addCustomToPool(custom, originalPool);\n\n maxResults || (maxResults = 75);\n include || (include = []);\n exclude || (exclude = []);\n\n var results = null,\n pool = originalPool;\n\n if (value.length) {\n if (value == '-' || value == '-1') {\n return [emojisList['-1']];\n }\n\n var values = value.toLowerCase().split(/[\\s|,|\\-|_]+/),\n allResults = [];\n\n if (values.length > 2) {\n values = [values[0], values[1]];\n }\n\n if (include.length || exclude.length) {\n pool = {};\n\n data.categories.forEach(function (category) {\n var isIncluded = include && include.length ? include.indexOf(category.name.toLowerCase()) > -1 : true;\n var isExcluded = exclude && exclude.length ? exclude.indexOf(category.name.toLowerCase()) > -1 : false;\n if (!isIncluded || isExcluded) {\n return;\n }\n\n category.emojis.forEach(function (emojiId) {\n return pool[emojiId] = data.emojis[emojiId];\n });\n });\n\n if (custom.length) {\n var customIsIncluded = include && include.length ? include.indexOf('custom') > -1 : true;\n var customIsExcluded = exclude && exclude.length ? exclude.indexOf('custom') > -1 : false;\n if (customIsIncluded && !customIsExcluded) {\n addCustomToPool(custom, pool);\n }\n }\n }\n\n allResults = values.map(function (value) {\n var aPool = pool,\n aIndex = index,\n length = 0;\n\n for (var charIndex = 0; charIndex < value.length; charIndex++) {\n var char = value[charIndex];\n length++;\n\n aIndex[char] || (aIndex[char] = {});\n aIndex = aIndex[char];\n\n if (!aIndex.results) {\n (function () {\n var scores = {};\n\n aIndex.results = [];\n aIndex.pool = {};\n\n for (var _id in aPool) {\n var emoji = aPool[_id];\n var _search = emoji.search;\n var sub = value.substr(0, length);\n var subIndex = _search.indexOf(sub);\n\n if (subIndex != -1) {\n var score = subIndex + 1;\n if (sub == _id) score = 0;\n\n aIndex.results.push(emojisList[_id]);\n aIndex.pool[_id] = emoji;\n\n scores[_id] = score;\n }\n }\n\n aIndex.results.sort(function (a, b) {\n var aScore = scores[a.id],\n bScore = scores[b.id];\n\n return aScore - bScore;\n });\n })();\n }\n\n aPool = aIndex.pool;\n }\n\n return aIndex.results;\n }).filter(function (a) {\n return a;\n });\n\n if (allResults.length > 1) {\n results = intersect.apply(null, allResults);\n } else if (allResults.length) {\n results = allResults[0];\n } else {\n results = [];\n }\n }\n\n if (results) {\n if (emojisToShowFilter) {\n results = results.filter(function (result) {\n return emojisToShowFilter(data.emojis[result.id].unified);\n });\n }\n\n if (results && results.length > maxResults) {\n results = results.slice(0, maxResults);\n }\n }\n\n return results;\n}\n\nexport default { search: search, emojis: emojisList, emoticons: emoticonsList };" + }, + { + "id": 878, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/skins.js", + "name": "./node_modules/emoji-mart/dist-es/components/skins.js", + "index": 455, + "index2": 444, + "size": 2201, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 7 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "issuerId": 801, + "issuerName": "./node_modules/emoji-mart/dist-es/components/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 801, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/index.js", + "module": "./node_modules/emoji-mart/dist-es/components/index.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/index.js", + "type": "harmony import", + "userRequest": "./skins", + "loc": "7:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _Object$getPrototypeOf from '../polyfills/objectGetPrototypeOf';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from '../polyfills/createClass';\nimport _possibleConstructorReturn from '../polyfills/possibleConstructorReturn';\nimport _inherits from '../polyfills/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nvar Skins = function (_React$PureComponent) {\n _inherits(Skins, _React$PureComponent);\n\n function Skins(props) {\n _classCallCheck(this, Skins);\n\n var _this = _possibleConstructorReturn(this, (Skins.__proto__ || _Object$getPrototypeOf(Skins)).call(this, props));\n\n _this.state = {\n opened: false\n };\n\n _this.handleClick = _this.handleClick.bind(_this);\n return _this;\n }\n\n _createClass(Skins, [{\n key: 'handleClick',\n value: function handleClick(e) {\n var skin = e.currentTarget.getAttribute('data-skin');\n var onChange = this.props.onChange;\n\n if (!this.state.opened) {\n this.setState({ opened: true });\n } else {\n this.setState({ opened: false });\n if (skin != this.props.skin) {\n onChange(skin);\n }\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var skin = this.props.skin;\n var opened = this.state.opened;\n\n var skinToneNodes = [];\n\n for (var i = 0; i < 6; i++) {\n var skinTone = i + 1;\n var selected = skinTone == skin;\n\n skinToneNodes.push(React.createElement('span', {\n key: 'skin-tone-' + skinTone,\n className: 'emoji-mart-skin-swatch ' + (selected ? 'emoji-mart-skin-swatch-selected' : '')\n }, React.createElement('span', {\n onClick: this.handleClick,\n 'data-skin': skinTone,\n className: 'emoji-mart-skin emoji-mart-skin-tone-' + skinTone\n })));\n }\n\n return React.createElement('div', null, React.createElement('div', {\n className: 'emoji-mart-skin-swatches ' + (opened ? 'emoji-mart-skin-swatches-opened' : '')\n }, skinToneNodes));\n }\n }]);\n\n return Skins;\n}(React.PureComponent);\n\nexport default Skins;\n\nSkins.defaultProps = {\n onChange: function onChange() {}\n};" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "2:9-82", + "name": "emoji_picker", + "reasons": [] + } + ] + }, + { + "id": 8, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 68174, + "names": [ + "features/notifications" + ], + "files": [ + "features/notifications-99d27ff7a90c7f701400.js", + "features/notifications-99d27ff7a90c7f701400.js.map" + ], + "hash": "99d27ff7a90c7f701400", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 262, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "name": "./app/javascript/mastodon/components/scrollable_list.js", + "index": 662, + "index2": 664, + "size": 7448, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "./scrollable_list", + "loc": "15:0-47" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/scrollable_list", + "loc": "22:0-62" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _throttle from 'lodash/throttle';\n\nvar _class, _temp2;\n\nimport React, { PureComponent } from 'react';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport PropTypes from 'prop-types';\nimport IntersectionObserverArticleContainer from '../containers/intersection_observer_article_container';\nimport LoadMore from './load_more';\nimport IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';\n\nimport { List as ImmutableList } from 'immutable';\nimport classNames from 'classnames';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';\n\nvar ScrollableList = (_temp2 = _class = function (_PureComponent) {\n _inherits(ScrollableList, _PureComponent);\n\n function ScrollableList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollableList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _PureComponent.call.apply(_PureComponent, [this].concat(args))), _this), _this.state = {\n lastMouseMove: null\n }, _this.intersectionObserverWrapper = new IntersectionObserverWrapper(), _this.handleScroll = _throttle(function () {\n if (_this.node) {\n var _this$node = _this.node,\n scrollTop = _this$node.scrollTop,\n scrollHeight = _this$node.scrollHeight,\n clientHeight = _this$node.clientHeight;\n\n var offset = scrollHeight - scrollTop - clientHeight;\n _this._oldScrollPosition = scrollHeight - scrollTop;\n\n if (400 > offset && _this.props.onScrollToBottom && !_this.props.isLoading) {\n _this.props.onScrollToBottom();\n } else if (scrollTop < 100 && _this.props.onScrollToTop) {\n _this.props.onScrollToTop();\n } else if (_this.props.onScroll) {\n _this.props.onScroll();\n }\n }\n }, 150, {\n trailing: true\n }), _this.handleMouseMove = _throttle(function () {\n _this._lastMouseMove = new Date();\n }, 300), _this.handleMouseLeave = function () {\n _this._lastMouseMove = null;\n }, _this.onFullScreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.onScrollToBottom();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ScrollableList.prototype.componentDidMount = function componentDidMount() {\n this.attachScrollListener();\n this.attachIntersectionObserver();\n attachFullscreenListener(this.onFullScreenChange);\n\n // Handle initial scroll posiiton\n this.handleScroll();\n };\n\n ScrollableList.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var someItemInserted = React.Children.count(prevProps.children) > 0 && React.Children.count(prevProps.children) < React.Children.count(this.props.children) && this.getFirstChildKey(prevProps) !== this.getFirstChildKey(this.props);\n\n // Reset the scroll position when a new child comes in in order not to\n // jerk the scrollbar around if you're already scrolled down the page.\n if (someItemInserted && this._oldScrollPosition && this.node.scrollTop > 0) {\n var newScrollTop = this.node.scrollHeight - this._oldScrollPosition;\n\n if (this.node.scrollTop !== newScrollTop) {\n this.node.scrollTop = newScrollTop;\n }\n } else {\n this._oldScrollPosition = this.node.scrollHeight - this.node.scrollTop;\n }\n };\n\n ScrollableList.prototype.componentWillUnmount = function componentWillUnmount() {\n this.detachScrollListener();\n this.detachIntersectionObserver();\n detachFullscreenListener(this.onFullScreenChange);\n };\n\n ScrollableList.prototype.attachIntersectionObserver = function attachIntersectionObserver() {\n this.intersectionObserverWrapper.connect({\n root: this.node,\n rootMargin: '300% 0px'\n });\n };\n\n ScrollableList.prototype.detachIntersectionObserver = function detachIntersectionObserver() {\n this.intersectionObserverWrapper.disconnect();\n };\n\n ScrollableList.prototype.attachScrollListener = function attachScrollListener() {\n this.node.addEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.detachScrollListener = function detachScrollListener() {\n this.node.removeEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.getFirstChildKey = function getFirstChildKey(props) {\n var children = props.children;\n\n var firstChild = children;\n if (children instanceof ImmutableList) {\n firstChild = children.get(0);\n } else if (Array.isArray(children)) {\n firstChild = children[0];\n }\n return firstChild && firstChild.key;\n };\n\n ScrollableList.prototype._recentlyMoved = function _recentlyMoved() {\n return this._lastMouseMove !== null && new Date() - this._lastMouseMove < 600;\n };\n\n ScrollableList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n scrollKey = _props.scrollKey,\n trackScroll = _props.trackScroll,\n shouldUpdateScroll = _props.shouldUpdateScroll,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore,\n prepend = _props.prepend,\n emptyMessage = _props.emptyMessage;\n var fullscreen = this.state.fullscreen;\n\n var childrenCount = React.Children.count(children);\n\n var loadMore = hasMore && childrenCount > 0 ? _jsx(LoadMore, {\n visible: !isLoading,\n onClick: this.handleLoadMore\n }) : null;\n var scrollableArea = null;\n\n if (isLoading || childrenCount > 0 || !emptyMessage) {\n scrollableArea = React.createElement(\n 'div',\n { className: classNames('scrollable', { fullscreen: fullscreen }), ref: this.setRef, onMouseMove: this.handleMouseMove, onMouseLeave: this.handleMouseLeave },\n _jsx('div', {\n role: 'feed',\n className: 'item-list'\n }, void 0, prepend, React.Children.map(this.props.children, function (child, index) {\n return _jsx(IntersectionObserverArticleContainer, {\n id: child.key,\n index: index,\n listLength: childrenCount,\n intersectionObserverWrapper: _this2.intersectionObserverWrapper,\n saveHeightKey: trackScroll ? _this2.context.router.route.location.key + ':' + scrollKey : null\n }, child.key, child);\n }), loadMore)\n );\n } else {\n scrollableArea = React.createElement(\n 'div',\n { className: 'empty-column-indicator', ref: this.setRef },\n emptyMessage\n );\n }\n\n if (trackScroll) {\n return _jsx(ScrollContainer, {\n scrollKey: scrollKey,\n shouldUpdateScroll: shouldUpdateScroll\n }, void 0, scrollableArea);\n } else {\n return scrollableArea;\n }\n };\n\n return ScrollableList;\n}(PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { ScrollableList as default };" + }, + { + "id": 263, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "name": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "index": 666, + "index2": 660, + "size": 641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../containers/intersection_observer_article_container", + "loc": "12:0-105" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport IntersectionObserverArticle from '../components/intersection_observer_article';\nimport { setHeight } from '../actions/height_cache';\n\nvar makeMapStateToProps = function makeMapStateToProps(state, props) {\n return {\n cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onHeightChange: function onHeightChange(key, id, height) {\n dispatch(setHeight(key, id, height));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(IntersectionObserverArticle);" + }, + { + "id": 264, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "name": "./app/javascript/mastodon/components/intersection_observer_article.js", + "index": 667, + "index2": 659, + "size": 5582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "issuerId": 263, + "issuerName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "../components/intersection_observer_article", + "loc": "2:0-86" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport scheduleIdleTask from '../features/ui/util/schedule_idle_task';\nimport getRectFromEntry from '../features/ui/util/get_rect_from_entry';\nimport { is } from 'immutable';\n\n// Diff these props in the \"rendered\" state\nvar updateOnPropsForRendered = ['id', 'index', 'listLength'];\n// Diff these props in the \"unrendered\" state\nvar updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];\n\nvar IntersectionObserverArticle = function (_React$Component) {\n _inherits(IntersectionObserverArticle, _React$Component);\n\n function IntersectionObserverArticle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, IntersectionObserverArticle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n isHidden: false // set to true in requestIdleCallback to trigger un-render\n }, _this.handleIntersection = function (entry) {\n _this.entry = entry;\n\n scheduleIdleTask(_this.calculateHeight);\n _this.setState(_this.updateStateAfterIntersection);\n }, _this.updateStateAfterIntersection = function (prevState) {\n if (prevState.isIntersecting && !_this.entry.isIntersecting) {\n scheduleIdleTask(_this.hideIfNotIntersecting);\n }\n return {\n isIntersecting: _this.entry.isIntersecting,\n isHidden: false\n };\n }, _this.calculateHeight = function () {\n var _this$props = _this.props,\n onHeightChange = _this$props.onHeightChange,\n saveHeightKey = _this$props.saveHeightKey,\n id = _this$props.id;\n // save the height of the fully-rendered element (this is expensive\n // on Chrome, where we need to fall back to getBoundingClientRect)\n\n _this.height = getRectFromEntry(_this.entry).height;\n\n if (onHeightChange && saveHeightKey) {\n onHeightChange(saveHeightKey, id, _this.height);\n }\n }, _this.hideIfNotIntersecting = function () {\n if (!_this.componentMounted) {\n return;\n }\n\n // When the browser gets a chance, test if we're still not intersecting,\n // and if so, set our isHidden to true to trigger an unrender. The point of\n // this is to save DOM nodes and avoid using up too much memory.\n // See: https://github.com/tootsuite/mastodon/issues/2900\n _this.setState(function (prevState) {\n return { isHidden: !prevState.isIntersecting };\n });\n }, _this.handleRef = function (node) {\n _this.node = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n IntersectionObserverArticle.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n var _this2 = this;\n\n var isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);\n var willBeUnrendered = !nextState.isIntersecting && (nextState.isHidden || nextProps.cachedHeight);\n if (!!isUnrendered !== !!willBeUnrendered) {\n // If we're going from rendered to unrendered (or vice versa) then update\n return true;\n }\n // Otherwise, diff based on props\n var propsToDiff = isUnrendered ? updateOnPropsForUnrendered : updateOnPropsForRendered;\n return !propsToDiff.every(function (prop) {\n return is(nextProps[prop], _this2.props[prop]);\n });\n };\n\n IntersectionObserverArticle.prototype.componentDidMount = function componentDidMount() {\n var _props = this.props,\n intersectionObserverWrapper = _props.intersectionObserverWrapper,\n id = _props.id;\n\n\n intersectionObserverWrapper.observe(id, this.node, this.handleIntersection);\n\n this.componentMounted = true;\n };\n\n IntersectionObserverArticle.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n intersectionObserverWrapper = _props2.intersectionObserverWrapper,\n id = _props2.id;\n\n intersectionObserverWrapper.unobserve(id, this.node);\n\n this.componentMounted = false;\n };\n\n IntersectionObserverArticle.prototype.render = function render() {\n var _props3 = this.props,\n children = _props3.children,\n id = _props3.id,\n index = _props3.index,\n listLength = _props3.listLength,\n cachedHeight = _props3.cachedHeight;\n var _state = this.state,\n isIntersecting = _state.isIntersecting,\n isHidden = _state.isHidden;\n\n\n if (!isIntersecting && (isHidden || cachedHeight)) {\n return React.createElement(\n 'article',\n {\n ref: this.handleRef,\n 'aria-posinset': index,\n 'aria-setsize': listLength,\n style: { height: (this.height || cachedHeight) + 'px', opacity: 0, overflow: 'hidden' },\n 'data-id': id,\n tabIndex: '0'\n },\n children && React.cloneElement(children, { hidden: true })\n );\n }\n\n return React.createElement(\n 'article',\n { ref: this.handleRef, 'aria-posinset': index, 'aria-setsize': listLength, 'data-id': id, tabIndex: '0' },\n children && React.cloneElement(children, { hidden: false })\n );\n };\n\n return IntersectionObserverArticle;\n}(React.Component);\n\nexport { IntersectionObserverArticle as default };" + }, + { + "id": 265, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "name": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "index": 668, + "index2": 657, + "size": 753, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/schedule_idle_task", + "loc": "6:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "// Wrapper to call requestIdleCallback() to schedule low-priority work.\n// See https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API\n// for a good breakdown of the concepts behind this.\n\nimport Queue from 'tiny-queue';\n\nvar taskQueue = new Queue();\nvar runningRequestIdleCallback = false;\n\nfunction runTasks(deadline) {\n while (taskQueue.length && deadline.timeRemaining() > 0) {\n taskQueue.shift()();\n }\n if (taskQueue.length) {\n requestIdleCallback(runTasks);\n } else {\n runningRequestIdleCallback = false;\n }\n}\n\nfunction scheduleIdleTask(task) {\n taskQueue.push(task);\n if (!runningRequestIdleCallback) {\n runningRequestIdleCallback = true;\n requestIdleCallback(runTasks);\n }\n}\n\nexport default scheduleIdleTask;" + }, + { + "id": 266, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/tiny-queue/index.js", + "name": "./node_modules/tiny-queue/index.js", + "index": 669, + "index2": 656, + "size": 941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "issuerId": 265, + "issuerName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 265, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "module": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "type": "harmony import", + "userRequest": "tiny-queue", + "loc": "5:0-31" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\n// Simple FIFO queue implementation to avoid having to do shift()\n// on an array, which is slow.\n\nfunction Queue() {\n this.length = 0;\n}\n\nQueue.prototype.push = function (item) {\n var node = { item: item };\n if (this.last) {\n this.last = this.last.next = node;\n } else {\n this.last = this.first = node;\n }\n this.length++;\n};\n\nQueue.prototype.shift = function () {\n var node = this.first;\n if (node) {\n this.first = node.next;\n if (! --this.length) {\n this.last = undefined;\n }\n return node.item;\n }\n};\n\nQueue.prototype.slice = function (start, end) {\n start = typeof start === 'undefined' ? 0 : start;\n end = typeof end === 'undefined' ? Infinity : end;\n\n var output = [];\n\n var i = 0;\n for (var node = this.first; node; node = node.next) {\n if (--end < 0) {\n break;\n } else if (++i > start) {\n output.push(node.item);\n }\n }\n return output;\n};\n\nmodule.exports = Queue;" + }, + { + "id": 267, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "name": "./app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "index": 670, + "index2": 658, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/get_rect_from_entry", + "loc": "7:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "\n// Get the bounding client rect from an IntersectionObserver entry.\n// This is to work around a bug in Chrome: https://crbug.com/737228\n\nvar hasBoundingRectBug = void 0;\n\nfunction getRectFromEntry(entry) {\n if (typeof hasBoundingRectBug !== 'boolean') {\n var boundingRect = entry.target.getBoundingClientRect();\n var observerRect = entry.boundingClientRect;\n hasBoundingRectBug = boundingRect.height !== observerRect.height || boundingRect.top !== observerRect.top || boundingRect.width !== observerRect.width || boundingRect.bottom !== observerRect.bottom || boundingRect.left !== observerRect.left || boundingRect.right !== observerRect.right;\n }\n return hasBoundingRectBug ? entry.target.getBoundingClientRect() : entry.boundingClientRect;\n}\n\nexport default getRectFromEntry;" + }, + { + "id": 268, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "name": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "index": 672, + "index2": 662, + "size": 2097, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../features/ui/util/intersection_observer_wrapper", + "loc": "14:0-92" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\n\n// Wrapper for IntersectionObserver in order to make working with it\n// a bit easier. We also follow this performance advice:\n// \"If you need to observe multiple elements, it is both possible and\n// advised to observe multiple elements using the same IntersectionObserver\n// instance by calling observe() multiple times.\"\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n\nvar IntersectionObserverWrapper = function () {\n function IntersectionObserverWrapper() {\n _classCallCheck(this, IntersectionObserverWrapper);\n\n this.callbacks = {};\n this.observerBacklog = [];\n this.observer = null;\n }\n\n IntersectionObserverWrapper.prototype.connect = function connect(options) {\n var _this = this;\n\n var onIntersection = function onIntersection(entries) {\n entries.forEach(function (entry) {\n var id = entry.target.getAttribute('data-id');\n if (_this.callbacks[id]) {\n _this.callbacks[id](entry);\n }\n });\n };\n\n this.observer = new IntersectionObserver(onIntersection, options);\n this.observerBacklog.forEach(function (_ref) {\n var id = _ref[0],\n node = _ref[1],\n callback = _ref[2];\n\n _this.observe(id, node, callback);\n });\n this.observerBacklog = null;\n };\n\n IntersectionObserverWrapper.prototype.observe = function observe(id, node, callback) {\n if (!this.observer) {\n this.observerBacklog.push([id, node, callback]);\n } else {\n this.callbacks[id] = callback;\n this.observer.observe(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.unobserve = function unobserve(id, node) {\n if (this.observer) {\n delete this.callbacks[id];\n this.observer.unobserve(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.disconnect = function disconnect() {\n if (this.observer) {\n this.callbacks = {};\n this.observer.disconnect();\n this.observer = null;\n }\n };\n\n return IntersectionObserverWrapper;\n}();\n\nexport default IntersectionObserverWrapper;" + }, + { + "id": 753, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "name": "./app/javascript/mastodon/features/notifications/index.js", + "index": 536, + "index2": 665, + "size": 6593, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../notifications", + "loc": "10:9-87" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport Column from '../../components/column';\nimport ColumnHeader from '../../components/column_header';\nimport { expandNotifications, scrollTopNotifications } from '../../actions/notifications';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport NotificationContainer from './containers/notification_container';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { createSelector } from 'reselect';\nimport { List as ImmutableList } from 'immutable';\n\nimport ScrollableList from '../../components/scrollable_list';\n\nvar messages = defineMessages({\n title: {\n 'id': 'column.notifications',\n 'defaultMessage': 'Notifications'\n }\n});\n\nvar getNotifications = createSelector([function (state) {\n return ImmutableList(state.getIn(['settings', 'notifications', 'shows']).filter(function (item) {\n return !item;\n }).keys());\n}, function (state) {\n return state.getIn(['notifications', 'items']);\n}], function (excludedTypes, notifications) {\n return notifications.filterNot(function (item) {\n return excludedTypes.includes(item.get('type'));\n });\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n notifications: getNotifications(state),\n isLoading: state.getIn(['notifications', 'isLoading'], true),\n isUnread: state.getIn(['notifications', 'unread']) > 0,\n hasMore: !!state.getIn(['notifications', 'next'])\n };\n};\n\nvar Notifications = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = (_temp2 = _class2 = function (_React$PureComponent) {\n _inherits(Notifications, _React$PureComponent);\n\n function Notifications() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Notifications);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleScrollToBottom = _debounce(function () {\n _this.props.dispatch(scrollTopNotifications(false));\n _this.props.dispatch(expandNotifications());\n }, 300, { leading: true }), _this.handleScrollToTop = _debounce(function () {\n _this.props.dispatch(scrollTopNotifications(true));\n }, 100), _this.handleScroll = _debounce(function () {\n _this.props.dispatch(scrollTopNotifications(false));\n }, 100), _this.handlePin = function () {\n var _this$props = _this.props,\n columnId = _this$props.columnId,\n dispatch = _this$props.dispatch;\n\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('NOTIFICATIONS', {}));\n }\n }, _this.handleMove = function (dir) {\n var _this$props2 = _this.props,\n columnId = _this$props2.columnId,\n dispatch = _this$props2.dispatch;\n\n dispatch(moveColumn(columnId, dir));\n }, _this.handleHeaderClick = function () {\n _this.column.scrollTop();\n }, _this.setColumnRef = function (c) {\n _this.column = c;\n }, _this.handleMoveUp = function (id) {\n var elementIndex = _this.props.notifications.findIndex(function (item) {\n return item.get('id') === id;\n }) - 1;\n _this._selectChild(elementIndex);\n }, _this.handleMoveDown = function (id) {\n var elementIndex = _this.props.notifications.findIndex(function (item) {\n return item.get('id') === id;\n }) + 1;\n _this._selectChild(elementIndex);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Notifications.prototype._selectChild = function _selectChild(index) {\n var element = this.column.node.querySelector('article:nth-of-type(' + (index + 1) + ') .focusable');\n\n if (element) {\n element.focus();\n }\n };\n\n Notifications.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n intl = _props.intl,\n notifications = _props.notifications,\n shouldUpdateScroll = _props.shouldUpdateScroll,\n isLoading = _props.isLoading,\n isUnread = _props.isUnread,\n columnId = _props.columnId,\n multiColumn = _props.multiColumn,\n hasMore = _props.hasMore;\n\n var pinned = !!columnId;\n var emptyMessage = _jsx(FormattedMessage, {\n id: 'empty_column.notifications',\n defaultMessage: 'You don\\'t have any notifications yet. Interact with others to start the conversation.'\n });\n\n var scrollableContent = null;\n\n if (isLoading && this.scrollableContent) {\n scrollableContent = this.scrollableContent;\n } else if (notifications.size > 0 || hasMore) {\n scrollableContent = notifications.map(function (item) {\n return _jsx(NotificationContainer, {\n notification: item,\n accountId: item.get('account'),\n onMoveUp: _this2.handleMoveUp,\n onMoveDown: _this2.handleMoveDown\n }, item.get('id'));\n });\n } else {\n scrollableContent = null;\n }\n\n this.scrollableContent = scrollableContent;\n\n var scrollContainer = _jsx(ScrollableList, {\n scrollKey: 'notifications-' + columnId,\n trackScroll: !pinned,\n isLoading: isLoading,\n hasMore: hasMore,\n emptyMessage: emptyMessage,\n onScrollToBottom: this.handleScrollToBottom,\n onScrollToTop: this.handleScrollToTop,\n onScroll: this.handleScroll,\n shouldUpdateScroll: shouldUpdateScroll\n }, void 0, scrollableContent);\n\n return React.createElement(\n Column,\n { ref: this.setColumnRef },\n _jsx(ColumnHeader, {\n icon: 'bell',\n active: isUnread,\n title: intl.formatMessage(messages.title),\n onPin: this.handlePin,\n onMove: this.handleMove,\n onClick: this.handleHeaderClick,\n pinned: pinned,\n multiColumn: multiColumn\n }, void 0, _jsx(ColumnSettingsContainer, {})),\n scrollContainer\n );\n };\n\n return Notifications;\n}(React.PureComponent), _class2.defaultProps = {\n trackScroll: true\n}, _temp2)) || _class) || _class);\nexport { Notifications as default };" + }, + { + "id": 777, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "name": "./app/javascript/mastodon/containers/account_container.js", + "index": 534, + "index2": 524, + "size": 2429, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "issuerId": 882, + "issuerName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "11:0-69" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "12:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));" + }, + { + "id": 778, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "name": "./app/javascript/mastodon/components/account.js", + "index": 535, + "index2": 523, + "size": 4637, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "issuerId": 777, + "issuerName": "./app/javascript/mastodon/containers/account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../components/account", + "loc": "6:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nvar messages = defineMessages({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Account);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return _jsx('div', {});\n }\n\n if (hidden) {\n return _jsx('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = _jsx(IconButton, {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = _jsx(IconButton, {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return _jsx('div', {\n className: 'account'\n }, void 0, _jsx('div', {\n className: 'account__wrapper'\n }, void 0, _jsx(Permalink, {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), _jsx('div', {\n className: 'account__avatar-wrapper'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 36\n })), _jsx(DisplayName, {\n account: account\n })), _jsx('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(ImmutablePureComponent), _class2.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool\n}, _temp2)) || _class;\n\nexport { Account as default };" + }, + { + "id": 790, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "name": "./node_modules/react-toggle/dist/component/index.js", + "index": 658, + "index2": 649, + "size": 8873, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "issuerId": 804, + "issuerName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 804, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "module": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "type": "harmony import", + "userRequest": "react-toggle", + "loc": "7:0-34" + }, + { + "moduleId": 902, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/components/status_check_box.js", + "module": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "moduleName": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "type": "harmony import", + "userRequest": "react-toggle", + "loc": "7:0-34" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _check = require('./check');\n\nvar _check2 = _interopRequireDefault(_check);\n\nvar _x = require('./x');\n\nvar _x2 = _interopRequireDefault(_x);\n\nvar _util = require('./util');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Toggle = function (_PureComponent) {\n _inherits(Toggle, _PureComponent);\n\n function Toggle(props) {\n _classCallCheck(this, Toggle);\n\n var _this = _possibleConstructorReturn(this, (Toggle.__proto__ || Object.getPrototypeOf(Toggle)).call(this, props));\n\n _this.handleClick = _this.handleClick.bind(_this);\n _this.handleTouchStart = _this.handleTouchStart.bind(_this);\n _this.handleTouchMove = _this.handleTouchMove.bind(_this);\n _this.handleTouchEnd = _this.handleTouchEnd.bind(_this);\n _this.handleFocus = _this.handleFocus.bind(_this);\n _this.handleBlur = _this.handleBlur.bind(_this);\n _this.previouslyChecked = !!(props.checked || props.defaultChecked);\n _this.state = {\n checked: !!(props.checked || props.defaultChecked),\n hasFocus: false\n };\n return _this;\n }\n\n _createClass(Toggle, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if ('checked' in nextProps) {\n this.setState({ checked: !!nextProps.checked });\n }\n }\n }, {\n key: 'handleClick',\n value: function handleClick(event) {\n var checkbox = this.input;\n if (event.target !== checkbox && !this.moved) {\n this.previouslyChecked = checkbox.checked;\n event.preventDefault();\n checkbox.focus();\n checkbox.click();\n return;\n }\n\n var checked = this.props.hasOwnProperty('checked') ? this.props.checked : checkbox.checked;\n\n this.setState({ checked: checked });\n }\n }, {\n key: 'handleTouchStart',\n value: function handleTouchStart(event) {\n this.startX = (0, _util.pointerCoord)(event).x;\n this.activated = true;\n }\n }, {\n key: 'handleTouchMove',\n value: function handleTouchMove(event) {\n if (!this.activated) return;\n this.moved = true;\n\n if (this.startX) {\n var currentX = (0, _util.pointerCoord)(event).x;\n if (this.state.checked && currentX + 15 < this.startX) {\n this.setState({ checked: false });\n this.startX = currentX;\n this.activated = true;\n } else if (currentX - 15 > this.startX) {\n this.setState({ checked: true });\n this.startX = currentX;\n this.activated = currentX < this.startX + 5;\n }\n }\n }\n }, {\n key: 'handleTouchEnd',\n value: function handleTouchEnd(event) {\n if (!this.moved) return;\n var checkbox = this.input;\n event.preventDefault();\n\n if (this.startX) {\n var endX = (0, _util.pointerCoord)(event).x;\n if (this.previouslyChecked === true && this.startX + 4 > endX) {\n if (this.previouslyChecked !== this.state.checked) {\n this.setState({ checked: false });\n this.previouslyChecked = this.state.checked;\n checkbox.click();\n }\n } else if (this.startX - 4 < endX) {\n if (this.previouslyChecked !== this.state.checked) {\n this.setState({ checked: true });\n this.previouslyChecked = this.state.checked;\n checkbox.click();\n }\n }\n\n this.activated = false;\n this.startX = null;\n this.moved = false;\n }\n }\n }, {\n key: 'handleFocus',\n value: function handleFocus(event) {\n var onFocus = this.props.onFocus;\n\n if (onFocus) {\n onFocus(event);\n }\n\n this.setState({ hasFocus: true });\n }\n }, {\n key: 'handleBlur',\n value: function handleBlur(event) {\n var onBlur = this.props.onBlur;\n\n if (onBlur) {\n onBlur(event);\n }\n\n this.setState({ hasFocus: false });\n }\n }, {\n key: 'getIcon',\n value: function getIcon(type) {\n var icons = this.props.icons;\n\n if (!icons) {\n return null;\n }\n return icons[type] === undefined ? Toggle.defaultProps.icons[type] : icons[type];\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n className = _props.className,\n _icons = _props.icons,\n inputProps = _objectWithoutProperties(_props, ['className', 'icons']);\n\n var classes = (0, _classnames2.default)('react-toggle', {\n 'react-toggle--checked': this.state.checked,\n 'react-toggle--focus': this.state.hasFocus,\n 'react-toggle--disabled': this.props.disabled\n }, className);\n\n return _react2.default.createElement('div', { className: classes,\n onClick: this.handleClick,\n onTouchStart: this.handleTouchStart,\n onTouchMove: this.handleTouchMove,\n onTouchEnd: this.handleTouchEnd }, _react2.default.createElement('div', { className: 'react-toggle-track' }, _react2.default.createElement('div', { className: 'react-toggle-track-check' }, this.getIcon('checked')), _react2.default.createElement('div', { className: 'react-toggle-track-x' }, this.getIcon('unchecked'))), _react2.default.createElement('div', { className: 'react-toggle-thumb' }), _react2.default.createElement('input', _extends({}, inputProps, {\n ref: function ref(_ref) {\n _this2.input = _ref;\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n className: 'react-toggle-screenreader-only',\n type: 'checkbox' })));\n }\n }]);\n\n return Toggle;\n}(_react.PureComponent);\n\nexports.default = Toggle;\n\nToggle.displayName = 'Toggle';\n\nToggle.defaultProps = {\n icons: {\n checked: _react2.default.createElement(_check2.default, null),\n unchecked: _react2.default.createElement(_x2.default, null)\n }\n};\n\nToggle.propTypes = {\n checked: _propTypes2.default.bool,\n disabled: _propTypes2.default.bool,\n defaultChecked: _propTypes2.default.bool,\n onChange: _propTypes2.default.func,\n onFocus: _propTypes2.default.func,\n onBlur: _propTypes2.default.func,\n className: _propTypes2.default.string,\n name: _propTypes2.default.string,\n value: _propTypes2.default.string,\n id: _propTypes2.default.string,\n 'aria-labelledby': _propTypes2.default.string,\n 'aria-label': _propTypes2.default.string,\n icons: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.shape({\n checked: _propTypes2.default.node,\n unchecked: _propTypes2.default.node\n })])\n};" + }, + { + "id": 791, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/check.js", + "name": "./node_modules/react-toggle/dist/component/check.js", + "index": 659, + "index2": 646, + "size": 610, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "issuerId": 790, + "issuerName": "./node_modules/react-toggle/dist/component/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "./check", + "loc": "39:13-31" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function () {\n return _react2.default.createElement('svg', { width: '14', height: '11', viewBox: '0 0 14 11' }, _react2.default.createElement('title', null, 'switch-check'), _react2.default.createElement('path', { d: 'M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0', fill: '#fff', fillRule: 'evenodd' }));\n};" + }, + { + "id": 792, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/x.js", + "name": "./node_modules/react-toggle/dist/component/x.js", + "index": 660, + "index2": 647, + "size": 654, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "issuerId": 790, + "issuerName": "./node_modules/react-toggle/dist/component/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "./x", + "loc": "43:9-23" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function () {\n return _react2.default.createElement('svg', { width: '10', height: '10', viewBox: '0 0 10 10' }, _react2.default.createElement('title', null, 'switch-x'), _react2.default.createElement('path', { d: 'M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12', fill: '#fff', fillRule: 'evenodd' }));\n};" + }, + { + "id": 793, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/util.js", + "name": "./node_modules/react-toggle/dist/component/util.js", + "index": 661, + "index2": 648, + "size": 722, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "issuerId": 790, + "issuerName": "./node_modules/react-toggle/dist/component/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "./util", + "loc": "47:12-29" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.pointerCoord = pointerCoord;\n// Copyright 2015-present Drifty Co.\n// http://drifty.com/\n// from: https://github.com/driftyco/ionic/blob/master/src/util/dom.ts\n\nfunction pointerCoord(event) {\n // get coordinates for either a mouse click\n // or a touch depending on the given event\n if (event) {\n var changedTouches = event.changedTouches;\n if (changedTouches && changedTouches.length > 0) {\n var touch = changedTouches[0];\n return { x: touch.clientX, y: touch.clientY };\n }\n var pageX = event.pageX;\n if (pageX !== undefined) {\n return { x: pageX, y: event.pageY };\n }\n }\n return { x: 0, y: 0 };\n}" + }, + { + "id": 804, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "name": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "index": 657, + "index2": 650, + "size": 1845, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "issuerId": 889, + "issuerName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "./setting_toggle", + "loc": "9:0-45" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "../../notifications/components/setting_toggle", + "loc": "11:0-74" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Toggle from 'react-toggle';\n\nvar SettingToggle = function (_React$PureComponent) {\n _inherits(SettingToggle, _React$PureComponent);\n\n function SettingToggle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, SettingToggle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.onChange = function (_ref) {\n var target = _ref.target;\n\n _this.props.onChange(_this.props.settingKey, target.checked);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n SettingToggle.prototype.render = function render() {\n var _props = this.props,\n prefix = _props.prefix,\n settings = _props.settings,\n settingKey = _props.settingKey,\n label = _props.label,\n meta = _props.meta;\n\n var id = ['setting-toggle', prefix].concat(settingKey).filter(Boolean).join('-');\n\n return _jsx('div', {\n className: 'setting-toggle'\n }, void 0, _jsx(Toggle, {\n id: id,\n checked: settings.getIn(settingKey),\n onChange: this.onChange,\n onKeyDown: this.onKeyDown\n }), _jsx('label', {\n htmlFor: id,\n className: 'setting-toggle__label'\n }, void 0, label), meta && _jsx('span', {\n className: 'setting-meta__label'\n }, void 0, meta));\n };\n\n return SettingToggle;\n}(React.PureComponent);\n\nexport { SettingToggle as default };" + }, + { + "id": 883, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/notification_container.js", + "name": "./app/javascript/mastodon/features/notifications/containers/notification_container.js", + "index": 540, + "index2": 644, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "issuerId": 753, + "issuerName": "./app/javascript/mastodon/features/notifications/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "./containers/notification_container", + "loc": "16:0-72" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport { makeGetNotification } from '../../../selectors';\nimport Notification from '../components/notification';\nimport { mentionCompose } from '../../../actions/compose';\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getNotification = makeGetNotification();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n notification: getNotification(state, props.notification, props.accountId)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(Notification);" + }, + { + "id": 884, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "name": "./app/javascript/mastodon/features/notifications/components/notification.js", + "index": 541, + "index2": 643, + "size": 6760, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/notification_container.js", + "issuerId": 883, + "issuerName": "./app/javascript/mastodon/features/notifications/containers/notification_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 883, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/notification_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/notification_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/notification_container.js", + "type": "harmony import", + "userRequest": "../components/notification", + "loc": "3:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport StatusContainer from '../../../containers/status_container';\nimport AccountContainer from '../../../containers/account_container';\nimport { FormattedMessage } from 'react-intl';\nimport Permalink from '../../../components/permalink';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\n\nvar Notification = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(Notification, _ImmutablePureCompone);\n\n function Notification() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Notification);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleMoveUp = function () {\n var _this$props = _this.props,\n notification = _this$props.notification,\n onMoveUp = _this$props.onMoveUp;\n\n onMoveUp(notification.get('id'));\n }, _this.handleMoveDown = function () {\n var _this$props2 = _this.props,\n notification = _this$props2.notification,\n onMoveDown = _this$props2.onMoveDown;\n\n onMoveDown(notification.get('id'));\n }, _this.handleOpen = function () {\n var notification = _this.props.notification;\n\n\n if (notification.get('status')) {\n _this.context.router.history.push('/statuses/' + notification.get('status'));\n } else {\n _this.handleOpenProfile();\n }\n }, _this.handleOpenProfile = function () {\n var notification = _this.props.notification;\n\n _this.context.router.history.push('/accounts/' + notification.getIn(['account', 'id']));\n }, _this.handleMention = function (e) {\n e.preventDefault();\n\n var _this$props3 = _this.props,\n notification = _this$props3.notification,\n onMention = _this$props3.onMention;\n\n onMention(notification.get('account'), _this.context.router.history);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Notification.prototype.getHandlers = function getHandlers() {\n return {\n moveUp: this.handleMoveUp,\n moveDown: this.handleMoveDown,\n open: this.handleOpen,\n openProfile: this.handleOpenProfile,\n mention: this.handleMention,\n reply: this.handleMention\n };\n };\n\n Notification.prototype.renderFollow = function renderFollow(account, link) {\n return _jsx(HotKeys, {\n handlers: this.getHandlers()\n }, void 0, _jsx('div', {\n className: 'notification notification-follow focusable',\n tabIndex: '0'\n }, void 0, _jsx('div', {\n className: 'notification__message'\n }, void 0, _jsx('div', {\n className: 'notification__favourite-icon-wrapper'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-user-plus'\n })), _jsx(FormattedMessage, {\n id: 'notification.follow',\n defaultMessage: '{name} followed you',\n values: { name: link }\n })), _jsx(AccountContainer, {\n id: account.get('id'),\n withNote: false,\n hidden: this.props.hidden\n })));\n };\n\n Notification.prototype.renderMention = function renderMention(notification) {\n return _jsx(StatusContainer, {\n id: notification.get('status'),\n withDismiss: true,\n hidden: this.props.hidden,\n onMoveDown: this.handleMoveDown,\n onMoveUp: this.handleMoveUp\n });\n };\n\n Notification.prototype.renderFavourite = function renderFavourite(notification, link) {\n return _jsx(HotKeys, {\n handlers: this.getHandlers()\n }, void 0, _jsx('div', {\n className: 'notification notification-favourite focusable',\n tabIndex: '0'\n }, void 0, _jsx('div', {\n className: 'notification__message'\n }, void 0, _jsx('div', {\n className: 'notification__favourite-icon-wrapper'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-star star-icon'\n })), _jsx(FormattedMessage, {\n id: 'notification.favourite',\n defaultMessage: '{name} favourited your status',\n values: { name: link }\n })), _jsx(StatusContainer, {\n id: notification.get('status'),\n account: notification.get('account'),\n muted: true,\n withDismiss: true,\n hidden: !!this.props.hidden\n })));\n };\n\n Notification.prototype.renderReblog = function renderReblog(notification, link) {\n return _jsx(HotKeys, {\n handlers: this.getHandlers()\n }, void 0, _jsx('div', {\n className: 'notification notification-reblog focusable',\n tabIndex: '0'\n }, void 0, _jsx('div', {\n className: 'notification__message'\n }, void 0, _jsx('div', {\n className: 'notification__favourite-icon-wrapper'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-retweet'\n })), _jsx(FormattedMessage, {\n id: 'notification.reblog',\n defaultMessage: '{name} boosted your status',\n values: { name: link }\n })), _jsx(StatusContainer, {\n id: notification.get('status'),\n account: notification.get('account'),\n muted: true,\n withDismiss: true,\n hidden: this.props.hidden\n })));\n };\n\n Notification.prototype.render = function render() {\n var notification = this.props.notification;\n\n var account = notification.get('account');\n var displayNameHtml = { __html: account.get('display_name_html') };\n var link = _jsx(Permalink, {\n className: 'notification__display-name',\n href: account.get('url'),\n title: account.get('acct'),\n to: '/accounts/' + account.get('id'),\n dangerouslySetInnerHTML: displayNameHtml\n });\n\n switch (notification.get('type')) {\n case 'follow':\n return this.renderFollow(account, link);\n case 'mention':\n return this.renderMention(notification);\n case 'favourite':\n return this.renderFavourite(notification, link);\n case 'reblog':\n return this.renderReblog(notification, link);\n }\n\n return null;\n };\n\n return Notification;\n}(ImmutablePureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.propTypes = {\n notification: ImmutablePropTypes.map.isRequired,\n hidden: PropTypes.bool,\n onMoveUp: PropTypes.func.isRequired,\n onMoveDown: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired\n}, _temp2);\nexport { Notification as default };" + }, + { + "id": 885, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "name": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "index": 654, + "index2": 652, + "size": 1852, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "issuerId": 753, + "issuerName": "./app/javascript/mastodon/features/notifications/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "./containers/column_settings_container", + "loc": "18:0-77" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting, saveSettings } from '../../../actions/settings';\nimport { clearNotifications } from '../../../actions/notifications';\nimport { changeAlerts as changePushNotifications, saveSettings as savePushNotificationSettings } from '../../../actions/push_notifications';\nimport { openModal } from '../../../actions/modal';\n\nvar messages = defineMessages({\n clearMessage: {\n 'id': 'notifications.clear_confirmation',\n 'defaultMessage': 'Are you sure you want to permanently clear all your notifications?'\n },\n clearConfirm: {\n 'id': 'notifications.clear',\n 'defaultMessage': 'Clear notifications'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n settings: state.getIn(['settings', 'notifications']),\n pushSettings: state.get('push_notifications')\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onChange: function onChange(key, checked) {\n if (key[0] === 'push') {\n dispatch(changePushNotifications(key.slice(1), checked));\n } else {\n dispatch(changeSetting(['notifications'].concat(key), checked));\n }\n },\n onSave: function onSave() {\n dispatch(saveSettings());\n dispatch(savePushNotificationSettings());\n },\n onClear: function onClear() {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.clearMessage),\n confirm: intl.formatMessage(messages.clearConfirm),\n onConfirm: function onConfirm() {\n return dispatch(clearNotifications());\n }\n }));\n }\n };\n};\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(ColumnSettings));" + }, + { + "id": 886, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "name": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "index": 655, + "index2": 651, + "size": 7113, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "issuerId": 885, + "issuerName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 885, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../components/column_settings", + "loc": "3:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport { FormattedMessage } from 'react-intl';\nimport ClearColumnButton from './clear_column_button';\nimport SettingToggle from './setting_toggle';\n\nvar ColumnSettings = function (_React$PureComponent) {\n _inherits(ColumnSettings, _React$PureComponent);\n\n function ColumnSettings() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnSettings);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.onPushChange = function (key, checked) {\n _this.props.onChange(['push'].concat(key), checked);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnSettings.prototype.render = function render() {\n var _props = this.props,\n settings = _props.settings,\n pushSettings = _props.pushSettings,\n onChange = _props.onChange,\n onClear = _props.onClear;\n\n\n var alertStr = _jsx(FormattedMessage, {\n id: 'notifications.column_settings.alert',\n defaultMessage: 'Desktop notifications'\n });\n var showStr = _jsx(FormattedMessage, {\n id: 'notifications.column_settings.show',\n defaultMessage: 'Show in column'\n });\n var soundStr = _jsx(FormattedMessage, {\n id: 'notifications.column_settings.sound',\n defaultMessage: 'Play sound'\n });\n\n var showPushSettings = pushSettings.get('browserSupport') && pushSettings.get('isSubscribed');\n var pushStr = showPushSettings && _jsx(FormattedMessage, {\n id: 'notifications.column_settings.push',\n defaultMessage: 'Push notifications'\n });\n var pushMeta = showPushSettings && _jsx(FormattedMessage, {\n id: 'notifications.column_settings.push_meta',\n defaultMessage: 'This device'\n });\n\n return _jsx('div', {}, void 0, _jsx('div', {\n className: 'column-settings__row'\n }, void 0, _jsx(ClearColumnButton, {\n onClick: onClear\n })), _jsx('div', {\n role: 'group',\n 'aria-labelledby': 'notifications-follow'\n }, void 0, _jsx('span', {\n id: 'notifications-follow',\n className: 'column-settings__section'\n }, void 0, _jsx(FormattedMessage, {\n id: 'notifications.column_settings.follow',\n defaultMessage: 'New followers:'\n })), _jsx('div', {\n className: 'column-settings__row'\n }, void 0, _jsx(SettingToggle, {\n prefix: 'notifications_desktop',\n settings: settings,\n settingKey: ['alerts', 'follow'],\n onChange: onChange,\n label: alertStr\n }), showPushSettings && _jsx(SettingToggle, {\n prefix: 'notifications_push',\n settings: pushSettings,\n settingKey: ['alerts', 'follow'],\n meta: pushMeta,\n onChange: this.onPushChange,\n label: pushStr\n }), _jsx(SettingToggle, {\n prefix: 'notifications',\n settings: settings,\n settingKey: ['shows', 'follow'],\n onChange: onChange,\n label: showStr\n }), _jsx(SettingToggle, {\n prefix: 'notifications',\n settings: settings,\n settingKey: ['sounds', 'follow'],\n onChange: onChange,\n label: soundStr\n }))), _jsx('div', {\n role: 'group',\n 'aria-labelledby': 'notifications-favourite'\n }, void 0, _jsx('span', {\n id: 'notifications-favourite',\n className: 'column-settings__section'\n }, void 0, _jsx(FormattedMessage, {\n id: 'notifications.column_settings.favourite',\n defaultMessage: 'Favourites:'\n })), _jsx('div', {\n className: 'column-settings__row'\n }, void 0, _jsx(SettingToggle, {\n prefix: 'notifications_desktop',\n settings: settings,\n settingKey: ['alerts', 'favourite'],\n onChange: onChange,\n label: alertStr\n }), showPushSettings && _jsx(SettingToggle, {\n prefix: 'notifications_push',\n settings: pushSettings,\n settingKey: ['alerts', 'favourite'],\n meta: pushMeta,\n onChange: this.onPushChange,\n label: pushStr\n }), _jsx(SettingToggle, {\n prefix: 'notifications',\n settings: settings,\n settingKey: ['shows', 'favourite'],\n onChange: onChange,\n label: showStr\n }), _jsx(SettingToggle, {\n prefix: 'notifications',\n settings: settings,\n settingKey: ['sounds', 'favourite'],\n onChange: onChange,\n label: soundStr\n }))), _jsx('div', {\n role: 'group',\n 'aria-labelledby': 'notifications-mention'\n }, void 0, _jsx('span', {\n id: 'notifications-mention',\n className: 'column-settings__section'\n }, void 0, _jsx(FormattedMessage, {\n id: 'notifications.column_settings.mention',\n defaultMessage: 'Mentions:'\n })), _jsx('div', {\n className: 'column-settings__row'\n }, void 0, _jsx(SettingToggle, {\n prefix: 'notifications_desktop',\n settings: settings,\n settingKey: ['alerts', 'mention'],\n onChange: onChange,\n label: alertStr\n }), showPushSettings && _jsx(SettingToggle, {\n prefix: 'notifications_push',\n settings: pushSettings,\n settingKey: ['alerts', 'mention'],\n meta: pushMeta,\n onChange: this.onPushChange,\n label: pushStr\n }), _jsx(SettingToggle, {\n prefix: 'notifications',\n settings: settings,\n settingKey: ['shows', 'mention'],\n onChange: onChange,\n label: showStr\n }), _jsx(SettingToggle, {\n prefix: 'notifications',\n settings: settings,\n settingKey: ['sounds', 'mention'],\n onChange: onChange,\n label: soundStr\n }))), _jsx('div', {\n role: 'group',\n 'aria-labelledby': 'notifications-reblog'\n }, void 0, _jsx('span', {\n id: 'notifications-reblog',\n className: 'column-settings__section'\n }, void 0, _jsx(FormattedMessage, {\n id: 'notifications.column_settings.reblog',\n defaultMessage: 'Boosts:'\n })), _jsx('div', {\n className: 'column-settings__row'\n }, void 0, _jsx(SettingToggle, {\n prefix: 'notifications_desktop',\n settings: settings,\n settingKey: ['alerts', 'reblog'],\n onChange: onChange,\n label: alertStr\n }), showPushSettings && _jsx(SettingToggle, {\n prefix: 'notifications_push',\n settings: pushSettings,\n settingKey: ['alerts', 'reblog'],\n meta: pushMeta,\n onChange: this.onPushChange,\n label: pushStr\n }), _jsx(SettingToggle, {\n prefix: 'notifications',\n settings: settings,\n settingKey: ['shows', 'reblog'],\n onChange: onChange,\n label: showStr\n }), _jsx(SettingToggle, {\n prefix: 'notifications',\n settings: settings,\n settingKey: ['sounds', 'reblog'],\n onChange: onChange,\n label: soundStr\n }))));\n };\n\n return ColumnSettings;\n}(React.PureComponent);\n\nexport { ColumnSettings as default };" + }, + { + "id": 887, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "name": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "index": 656, + "index2": 645, + "size": 1088, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "issuerId": 886, + "issuerName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "./clear_column_button", + "loc": "8:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport { FormattedMessage } from 'react-intl';\n\nvar ClearColumnButton = function (_React$Component) {\n _inherits(ClearColumnButton, _React$Component);\n\n function ClearColumnButton() {\n _classCallCheck(this, ClearColumnButton);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ClearColumnButton.prototype.render = function render() {\n return _jsx('button', {\n className: 'text-btn column-header__setting-btn',\n tabIndex: '0',\n onClick: this.props.onClick\n }, void 0, _jsx('i', {\n className: 'fa fa-eraser'\n }), ' ', _jsx(FormattedMessage, {\n id: 'notifications.clear',\n defaultMessage: 'Clear notifications'\n }));\n };\n\n return ClearColumnButton;\n}(React.Component);\n\nexport { ClearColumnButton as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "10:9-87", + "name": "features/notifications", + "reasons": [] + } + ] + }, + { + "id": 9, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 51609, + "names": [ + "features/home_timeline" + ], + "files": [ + "features/home_timeline-c146f32b0118845677ee.js", + "features/home_timeline-c146f32b0118845677ee.js.map" + ], + "hash": "c146f32b0118845677ee", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 158, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "name": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "index": 347, + "index2": 754, + "size": 2869, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "issuerId": 460, + "issuerName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/status_list_container", + "loc": "11:0-76" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/status_list_container", + "loc": "11:0-76" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "12:0-73" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import _debounce from 'lodash/debounce';\nimport { connect } from 'react-redux';\nimport StatusList from '../../../components/status_list';\nimport { scrollTopTimeline } from '../../../actions/timelines';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\nimport { createSelector } from 'reselect';\n\nimport { me } from '../../../initial_state';\n\nvar makeGetStatusIds = function makeGetStatusIds() {\n return createSelector([function (state, _ref) {\n var type = _ref.type;\n return state.getIn(['settings', type], ImmutableMap());\n }, function (state, _ref2) {\n var type = _ref2.type;\n return state.getIn(['timelines', type, 'items'], ImmutableList());\n }, function (state) {\n return state.get('statuses');\n }], function (columnSettings, statusIds, statuses) {\n var rawRegex = columnSettings.getIn(['regex', 'body'], '').trim();\n var regex = null;\n\n try {\n regex = rawRegex && new RegExp(rawRegex, 'i');\n } catch (e) {\n // Bad regex, don't affect filters\n }\n\n return statusIds.filter(function (id) {\n var statusForId = statuses.get(id);\n var showStatus = true;\n\n if (columnSettings.getIn(['shows', 'reblog']) === false) {\n showStatus = showStatus && statusForId.get('reblog') === null;\n }\n\n if (columnSettings.getIn(['shows', 'reply']) === false) {\n showStatus = showStatus && (statusForId.get('in_reply_to_id') === null || statusForId.get('in_reply_to_account_id') === me);\n }\n\n if (showStatus && regex && statusForId.get('account') !== me) {\n var searchIndex = statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'search_index']) : statusForId.get('search_index');\n showStatus = !regex.test(searchIndex);\n }\n\n return showStatus;\n });\n });\n};\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatusIds = makeGetStatusIds();\n\n var mapStateToProps = function mapStateToProps(state, _ref3) {\n var timelineId = _ref3.timelineId;\n return {\n statusIds: getStatusIds(state, { type: timelineId }),\n isLoading: state.getIn(['timelines', timelineId, 'isLoading'], true),\n hasMore: !!state.getIn(['timelines', timelineId, 'next'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref4) {\n var timelineId = _ref4.timelineId,\n loadMore = _ref4.loadMore;\n return {\n\n onScrollToBottom: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, false));\n loadMore();\n }, 300, { leading: true }),\n\n onScrollToTop: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, true));\n }, 100),\n\n onScroll: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, false));\n }, 100)\n\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(StatusList);" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 262, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "name": "./app/javascript/mastodon/components/scrollable_list.js", + "index": 662, + "index2": 664, + "size": 7448, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "./scrollable_list", + "loc": "15:0-47" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/scrollable_list", + "loc": "22:0-62" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _throttle from 'lodash/throttle';\n\nvar _class, _temp2;\n\nimport React, { PureComponent } from 'react';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport PropTypes from 'prop-types';\nimport IntersectionObserverArticleContainer from '../containers/intersection_observer_article_container';\nimport LoadMore from './load_more';\nimport IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';\n\nimport { List as ImmutableList } from 'immutable';\nimport classNames from 'classnames';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';\n\nvar ScrollableList = (_temp2 = _class = function (_PureComponent) {\n _inherits(ScrollableList, _PureComponent);\n\n function ScrollableList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollableList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _PureComponent.call.apply(_PureComponent, [this].concat(args))), _this), _this.state = {\n lastMouseMove: null\n }, _this.intersectionObserverWrapper = new IntersectionObserverWrapper(), _this.handleScroll = _throttle(function () {\n if (_this.node) {\n var _this$node = _this.node,\n scrollTop = _this$node.scrollTop,\n scrollHeight = _this$node.scrollHeight,\n clientHeight = _this$node.clientHeight;\n\n var offset = scrollHeight - scrollTop - clientHeight;\n _this._oldScrollPosition = scrollHeight - scrollTop;\n\n if (400 > offset && _this.props.onScrollToBottom && !_this.props.isLoading) {\n _this.props.onScrollToBottom();\n } else if (scrollTop < 100 && _this.props.onScrollToTop) {\n _this.props.onScrollToTop();\n } else if (_this.props.onScroll) {\n _this.props.onScroll();\n }\n }\n }, 150, {\n trailing: true\n }), _this.handleMouseMove = _throttle(function () {\n _this._lastMouseMove = new Date();\n }, 300), _this.handleMouseLeave = function () {\n _this._lastMouseMove = null;\n }, _this.onFullScreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.onScrollToBottom();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ScrollableList.prototype.componentDidMount = function componentDidMount() {\n this.attachScrollListener();\n this.attachIntersectionObserver();\n attachFullscreenListener(this.onFullScreenChange);\n\n // Handle initial scroll posiiton\n this.handleScroll();\n };\n\n ScrollableList.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var someItemInserted = React.Children.count(prevProps.children) > 0 && React.Children.count(prevProps.children) < React.Children.count(this.props.children) && this.getFirstChildKey(prevProps) !== this.getFirstChildKey(this.props);\n\n // Reset the scroll position when a new child comes in in order not to\n // jerk the scrollbar around if you're already scrolled down the page.\n if (someItemInserted && this._oldScrollPosition && this.node.scrollTop > 0) {\n var newScrollTop = this.node.scrollHeight - this._oldScrollPosition;\n\n if (this.node.scrollTop !== newScrollTop) {\n this.node.scrollTop = newScrollTop;\n }\n } else {\n this._oldScrollPosition = this.node.scrollHeight - this.node.scrollTop;\n }\n };\n\n ScrollableList.prototype.componentWillUnmount = function componentWillUnmount() {\n this.detachScrollListener();\n this.detachIntersectionObserver();\n detachFullscreenListener(this.onFullScreenChange);\n };\n\n ScrollableList.prototype.attachIntersectionObserver = function attachIntersectionObserver() {\n this.intersectionObserverWrapper.connect({\n root: this.node,\n rootMargin: '300% 0px'\n });\n };\n\n ScrollableList.prototype.detachIntersectionObserver = function detachIntersectionObserver() {\n this.intersectionObserverWrapper.disconnect();\n };\n\n ScrollableList.prototype.attachScrollListener = function attachScrollListener() {\n this.node.addEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.detachScrollListener = function detachScrollListener() {\n this.node.removeEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.getFirstChildKey = function getFirstChildKey(props) {\n var children = props.children;\n\n var firstChild = children;\n if (children instanceof ImmutableList) {\n firstChild = children.get(0);\n } else if (Array.isArray(children)) {\n firstChild = children[0];\n }\n return firstChild && firstChild.key;\n };\n\n ScrollableList.prototype._recentlyMoved = function _recentlyMoved() {\n return this._lastMouseMove !== null && new Date() - this._lastMouseMove < 600;\n };\n\n ScrollableList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n scrollKey = _props.scrollKey,\n trackScroll = _props.trackScroll,\n shouldUpdateScroll = _props.shouldUpdateScroll,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore,\n prepend = _props.prepend,\n emptyMessage = _props.emptyMessage;\n var fullscreen = this.state.fullscreen;\n\n var childrenCount = React.Children.count(children);\n\n var loadMore = hasMore && childrenCount > 0 ? _jsx(LoadMore, {\n visible: !isLoading,\n onClick: this.handleLoadMore\n }) : null;\n var scrollableArea = null;\n\n if (isLoading || childrenCount > 0 || !emptyMessage) {\n scrollableArea = React.createElement(\n 'div',\n { className: classNames('scrollable', { fullscreen: fullscreen }), ref: this.setRef, onMouseMove: this.handleMouseMove, onMouseLeave: this.handleMouseLeave },\n _jsx('div', {\n role: 'feed',\n className: 'item-list'\n }, void 0, prepend, React.Children.map(this.props.children, function (child, index) {\n return _jsx(IntersectionObserverArticleContainer, {\n id: child.key,\n index: index,\n listLength: childrenCount,\n intersectionObserverWrapper: _this2.intersectionObserverWrapper,\n saveHeightKey: trackScroll ? _this2.context.router.route.location.key + ':' + scrollKey : null\n }, child.key, child);\n }), loadMore)\n );\n } else {\n scrollableArea = React.createElement(\n 'div',\n { className: 'empty-column-indicator', ref: this.setRef },\n emptyMessage\n );\n }\n\n if (trackScroll) {\n return _jsx(ScrollContainer, {\n scrollKey: scrollKey,\n shouldUpdateScroll: shouldUpdateScroll\n }, void 0, scrollableArea);\n } else {\n return scrollableArea;\n }\n };\n\n return ScrollableList;\n}(PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { ScrollableList as default };" + }, + { + "id": 263, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "name": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "index": 666, + "index2": 660, + "size": 641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../containers/intersection_observer_article_container", + "loc": "12:0-105" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport IntersectionObserverArticle from '../components/intersection_observer_article';\nimport { setHeight } from '../actions/height_cache';\n\nvar makeMapStateToProps = function makeMapStateToProps(state, props) {\n return {\n cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onHeightChange: function onHeightChange(key, id, height) {\n dispatch(setHeight(key, id, height));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(IntersectionObserverArticle);" + }, + { + "id": 264, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "name": "./app/javascript/mastodon/components/intersection_observer_article.js", + "index": 667, + "index2": 659, + "size": 5582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "issuerId": 263, + "issuerName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "../components/intersection_observer_article", + "loc": "2:0-86" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport scheduleIdleTask from '../features/ui/util/schedule_idle_task';\nimport getRectFromEntry from '../features/ui/util/get_rect_from_entry';\nimport { is } from 'immutable';\n\n// Diff these props in the \"rendered\" state\nvar updateOnPropsForRendered = ['id', 'index', 'listLength'];\n// Diff these props in the \"unrendered\" state\nvar updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];\n\nvar IntersectionObserverArticle = function (_React$Component) {\n _inherits(IntersectionObserverArticle, _React$Component);\n\n function IntersectionObserverArticle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, IntersectionObserverArticle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n isHidden: false // set to true in requestIdleCallback to trigger un-render\n }, _this.handleIntersection = function (entry) {\n _this.entry = entry;\n\n scheduleIdleTask(_this.calculateHeight);\n _this.setState(_this.updateStateAfterIntersection);\n }, _this.updateStateAfterIntersection = function (prevState) {\n if (prevState.isIntersecting && !_this.entry.isIntersecting) {\n scheduleIdleTask(_this.hideIfNotIntersecting);\n }\n return {\n isIntersecting: _this.entry.isIntersecting,\n isHidden: false\n };\n }, _this.calculateHeight = function () {\n var _this$props = _this.props,\n onHeightChange = _this$props.onHeightChange,\n saveHeightKey = _this$props.saveHeightKey,\n id = _this$props.id;\n // save the height of the fully-rendered element (this is expensive\n // on Chrome, where we need to fall back to getBoundingClientRect)\n\n _this.height = getRectFromEntry(_this.entry).height;\n\n if (onHeightChange && saveHeightKey) {\n onHeightChange(saveHeightKey, id, _this.height);\n }\n }, _this.hideIfNotIntersecting = function () {\n if (!_this.componentMounted) {\n return;\n }\n\n // When the browser gets a chance, test if we're still not intersecting,\n // and if so, set our isHidden to true to trigger an unrender. The point of\n // this is to save DOM nodes and avoid using up too much memory.\n // See: https://github.com/tootsuite/mastodon/issues/2900\n _this.setState(function (prevState) {\n return { isHidden: !prevState.isIntersecting };\n });\n }, _this.handleRef = function (node) {\n _this.node = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n IntersectionObserverArticle.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n var _this2 = this;\n\n var isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);\n var willBeUnrendered = !nextState.isIntersecting && (nextState.isHidden || nextProps.cachedHeight);\n if (!!isUnrendered !== !!willBeUnrendered) {\n // If we're going from rendered to unrendered (or vice versa) then update\n return true;\n }\n // Otherwise, diff based on props\n var propsToDiff = isUnrendered ? updateOnPropsForUnrendered : updateOnPropsForRendered;\n return !propsToDiff.every(function (prop) {\n return is(nextProps[prop], _this2.props[prop]);\n });\n };\n\n IntersectionObserverArticle.prototype.componentDidMount = function componentDidMount() {\n var _props = this.props,\n intersectionObserverWrapper = _props.intersectionObserverWrapper,\n id = _props.id;\n\n\n intersectionObserverWrapper.observe(id, this.node, this.handleIntersection);\n\n this.componentMounted = true;\n };\n\n IntersectionObserverArticle.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n intersectionObserverWrapper = _props2.intersectionObserverWrapper,\n id = _props2.id;\n\n intersectionObserverWrapper.unobserve(id, this.node);\n\n this.componentMounted = false;\n };\n\n IntersectionObserverArticle.prototype.render = function render() {\n var _props3 = this.props,\n children = _props3.children,\n id = _props3.id,\n index = _props3.index,\n listLength = _props3.listLength,\n cachedHeight = _props3.cachedHeight;\n var _state = this.state,\n isIntersecting = _state.isIntersecting,\n isHidden = _state.isHidden;\n\n\n if (!isIntersecting && (isHidden || cachedHeight)) {\n return React.createElement(\n 'article',\n {\n ref: this.handleRef,\n 'aria-posinset': index,\n 'aria-setsize': listLength,\n style: { height: (this.height || cachedHeight) + 'px', opacity: 0, overflow: 'hidden' },\n 'data-id': id,\n tabIndex: '0'\n },\n children && React.cloneElement(children, { hidden: true })\n );\n }\n\n return React.createElement(\n 'article',\n { ref: this.handleRef, 'aria-posinset': index, 'aria-setsize': listLength, 'data-id': id, tabIndex: '0' },\n children && React.cloneElement(children, { hidden: false })\n );\n };\n\n return IntersectionObserverArticle;\n}(React.Component);\n\nexport { IntersectionObserverArticle as default };" + }, + { + "id": 265, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "name": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "index": 668, + "index2": 657, + "size": 753, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/schedule_idle_task", + "loc": "6:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "// Wrapper to call requestIdleCallback() to schedule low-priority work.\n// See https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API\n// for a good breakdown of the concepts behind this.\n\nimport Queue from 'tiny-queue';\n\nvar taskQueue = new Queue();\nvar runningRequestIdleCallback = false;\n\nfunction runTasks(deadline) {\n while (taskQueue.length && deadline.timeRemaining() > 0) {\n taskQueue.shift()();\n }\n if (taskQueue.length) {\n requestIdleCallback(runTasks);\n } else {\n runningRequestIdleCallback = false;\n }\n}\n\nfunction scheduleIdleTask(task) {\n taskQueue.push(task);\n if (!runningRequestIdleCallback) {\n runningRequestIdleCallback = true;\n requestIdleCallback(runTasks);\n }\n}\n\nexport default scheduleIdleTask;" + }, + { + "id": 266, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/tiny-queue/index.js", + "name": "./node_modules/tiny-queue/index.js", + "index": 669, + "index2": 656, + "size": 941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "issuerId": 265, + "issuerName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 265, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "module": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "type": "harmony import", + "userRequest": "tiny-queue", + "loc": "5:0-31" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\n// Simple FIFO queue implementation to avoid having to do shift()\n// on an array, which is slow.\n\nfunction Queue() {\n this.length = 0;\n}\n\nQueue.prototype.push = function (item) {\n var node = { item: item };\n if (this.last) {\n this.last = this.last.next = node;\n } else {\n this.last = this.first = node;\n }\n this.length++;\n};\n\nQueue.prototype.shift = function () {\n var node = this.first;\n if (node) {\n this.first = node.next;\n if (! --this.length) {\n this.last = undefined;\n }\n return node.item;\n }\n};\n\nQueue.prototype.slice = function (start, end) {\n start = typeof start === 'undefined' ? 0 : start;\n end = typeof end === 'undefined' ? Infinity : end;\n\n var output = [];\n\n var i = 0;\n for (var node = this.first; node; node = node.next) {\n if (--end < 0) {\n break;\n } else if (++i > start) {\n output.push(node.item);\n }\n }\n return output;\n};\n\nmodule.exports = Queue;" + }, + { + "id": 267, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "name": "./app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "index": 670, + "index2": 658, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/get_rect_from_entry", + "loc": "7:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "\n// Get the bounding client rect from an IntersectionObserver entry.\n// This is to work around a bug in Chrome: https://crbug.com/737228\n\nvar hasBoundingRectBug = void 0;\n\nfunction getRectFromEntry(entry) {\n if (typeof hasBoundingRectBug !== 'boolean') {\n var boundingRect = entry.target.getBoundingClientRect();\n var observerRect = entry.boundingClientRect;\n hasBoundingRectBug = boundingRect.height !== observerRect.height || boundingRect.top !== observerRect.top || boundingRect.width !== observerRect.width || boundingRect.bottom !== observerRect.bottom || boundingRect.left !== observerRect.left || boundingRect.right !== observerRect.right;\n }\n return hasBoundingRectBug ? entry.target.getBoundingClientRect() : entry.boundingClientRect;\n}\n\nexport default getRectFromEntry;" + }, + { + "id": 268, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "name": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "index": 672, + "index2": 662, + "size": 2097, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../features/ui/util/intersection_observer_wrapper", + "loc": "14:0-92" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\n\n// Wrapper for IntersectionObserver in order to make working with it\n// a bit easier. We also follow this performance advice:\n// \"If you need to observe multiple elements, it is both possible and\n// advised to observe multiple elements using the same IntersectionObserver\n// instance by calling observe() multiple times.\"\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n\nvar IntersectionObserverWrapper = function () {\n function IntersectionObserverWrapper() {\n _classCallCheck(this, IntersectionObserverWrapper);\n\n this.callbacks = {};\n this.observerBacklog = [];\n this.observer = null;\n }\n\n IntersectionObserverWrapper.prototype.connect = function connect(options) {\n var _this = this;\n\n var onIntersection = function onIntersection(entries) {\n entries.forEach(function (entry) {\n var id = entry.target.getAttribute('data-id');\n if (_this.callbacks[id]) {\n _this.callbacks[id](entry);\n }\n });\n };\n\n this.observer = new IntersectionObserver(onIntersection, options);\n this.observerBacklog.forEach(function (_ref) {\n var id = _ref[0],\n node = _ref[1],\n callback = _ref[2];\n\n _this.observe(id, node, callback);\n });\n this.observerBacklog = null;\n };\n\n IntersectionObserverWrapper.prototype.observe = function observe(id, node, callback) {\n if (!this.observer) {\n this.observerBacklog.push([id, node, callback]);\n } else {\n this.callbacks[id] = callback;\n this.observer.observe(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.unobserve = function unobserve(id, node) {\n if (this.observer) {\n delete this.callbacks[id];\n this.observer.unobserve(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.disconnect = function disconnect() {\n if (this.observer) {\n this.callbacks = {};\n this.observer.disconnect();\n this.observer = null;\n }\n };\n\n return IntersectionObserverWrapper;\n}();\n\nexport default IntersectionObserverWrapper;" + }, + { + "id": 269, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "name": "./app/javascript/mastodon/components/status_list.js", + "index": 348, + "index2": 753, + "size": 3062, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "issuerId": 158, + "issuerName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "../../../components/status_list", + "loc": "3:0-57" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "15:0-54" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "14:0-54" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "16:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport StatusContainer from '../containers/status_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ScrollableList from './scrollable_list';\n\nvar StatusList = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(StatusList, _ImmutablePureCompone);\n\n function StatusList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StatusList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleMoveUp = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) - 1;\n _this._selectChild(elementIndex);\n }, _this.handleMoveDown = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) + 1;\n _this._selectChild(elementIndex);\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StatusList.prototype._selectChild = function _selectChild(index) {\n var element = this.node.node.querySelector('article:nth-of-type(' + (index + 1) + ') .focusable');\n\n if (element) {\n element.focus();\n }\n };\n\n StatusList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n statusIds = _props.statusIds,\n other = _objectWithoutProperties(_props, ['statusIds']);\n\n var isLoading = other.isLoading;\n\n\n var scrollableContent = isLoading || statusIds.size > 0 ? statusIds.map(function (statusId) {\n return _jsx(StatusContainer, {\n id: statusId,\n onMoveUp: _this2.handleMoveUp,\n onMoveDown: _this2.handleMoveDown\n }, statusId);\n }) : null;\n\n return React.createElement(\n ScrollableList,\n _extends({}, other, { ref: this.setRef }),\n scrollableContent\n );\n };\n\n return StatusList;\n}(ImmutablePureComponent), _class.propTypes = {\n scrollKey: PropTypes.string.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n onScrollToBottom: PropTypes.func,\n onScrollToTop: PropTypes.func,\n onScroll: PropTypes.func,\n trackScroll: PropTypes.bool,\n shouldUpdateScroll: PropTypes.func,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n prepend: PropTypes.node,\n emptyMessage: PropTypes.node\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { StatusList as default };" + }, + { + "id": 754, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "name": "./app/javascript/mastodon/features/home_timeline/index.js", + "index": 674, + "index2": 669, + "size": 3906, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 9 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../home_timeline", + "loc": "14:9-87" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { expandHomeTimeline } from '../../actions/timelines';\n\nimport StatusListContainer from '../ui/containers/status_list_container';\nimport Column from '../../components/column';\nimport ColumnHeader from '../../components/column_header';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { Link } from 'react-router-dom';\n\nvar messages = defineMessages({\n title: {\n 'id': 'column.home',\n 'defaultMessage': 'Home'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0\n };\n};\n\nvar HomeTimeline = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = function (_React$PureComponent) {\n _inherits(HomeTimeline, _React$PureComponent);\n\n function HomeTimeline() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, HomeTimeline);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handlePin = function () {\n var _this$props = _this.props,\n columnId = _this$props.columnId,\n dispatch = _this$props.dispatch;\n\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('HOME', {}));\n }\n }, _this.handleMove = function (dir) {\n var _this$props2 = _this.props,\n columnId = _this$props2.columnId,\n dispatch = _this$props2.dispatch;\n\n dispatch(moveColumn(columnId, dir));\n }, _this.handleHeaderClick = function () {\n _this.column.scrollTop();\n }, _this.setRef = function (c) {\n _this.column = c;\n }, _this.handleLoadMore = function () {\n _this.props.dispatch(expandHomeTimeline());\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n HomeTimeline.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n hasUnread = _props.hasUnread,\n columnId = _props.columnId,\n multiColumn = _props.multiColumn;\n\n var pinned = !!columnId;\n\n return React.createElement(\n Column,\n { ref: this.setRef },\n _jsx(ColumnHeader, {\n icon: 'home',\n active: hasUnread,\n title: intl.formatMessage(messages.title),\n onPin: this.handlePin,\n onMove: this.handleMove,\n onClick: this.handleHeaderClick,\n pinned: pinned,\n multiColumn: multiColumn\n }, void 0, _jsx(ColumnSettingsContainer, {})),\n _jsx(StatusListContainer, {\n trackScroll: !pinned,\n scrollKey: 'home_timeline-' + columnId,\n loadMore: this.handleLoadMore,\n timelineId: 'home',\n emptyMessage: _jsx(FormattedMessage, {\n id: 'empty_column.home',\n defaultMessage: 'Your home timeline is empty! Visit {public} or use search to get started and meet other users.',\n values: { public: _jsx(Link, {\n to: '/timelines/public'\n }, void 0, _jsx(FormattedMessage, {\n id: 'empty_column.home.public_timeline',\n defaultMessage: 'the public timeline'\n })) }\n })\n })\n );\n };\n\n return HomeTimeline;\n}(React.PureComponent)) || _class) || _class);\nexport { HomeTimeline as default };" + }, + { + "id": 790, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "name": "./node_modules/react-toggle/dist/component/index.js", + "index": 658, + "index2": 649, + "size": 8873, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "issuerId": 804, + "issuerName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 804, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "module": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "type": "harmony import", + "userRequest": "react-toggle", + "loc": "7:0-34" + }, + { + "moduleId": 902, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/components/status_check_box.js", + "module": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "moduleName": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "type": "harmony import", + "userRequest": "react-toggle", + "loc": "7:0-34" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _check = require('./check');\n\nvar _check2 = _interopRequireDefault(_check);\n\nvar _x = require('./x');\n\nvar _x2 = _interopRequireDefault(_x);\n\nvar _util = require('./util');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Toggle = function (_PureComponent) {\n _inherits(Toggle, _PureComponent);\n\n function Toggle(props) {\n _classCallCheck(this, Toggle);\n\n var _this = _possibleConstructorReturn(this, (Toggle.__proto__ || Object.getPrototypeOf(Toggle)).call(this, props));\n\n _this.handleClick = _this.handleClick.bind(_this);\n _this.handleTouchStart = _this.handleTouchStart.bind(_this);\n _this.handleTouchMove = _this.handleTouchMove.bind(_this);\n _this.handleTouchEnd = _this.handleTouchEnd.bind(_this);\n _this.handleFocus = _this.handleFocus.bind(_this);\n _this.handleBlur = _this.handleBlur.bind(_this);\n _this.previouslyChecked = !!(props.checked || props.defaultChecked);\n _this.state = {\n checked: !!(props.checked || props.defaultChecked),\n hasFocus: false\n };\n return _this;\n }\n\n _createClass(Toggle, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if ('checked' in nextProps) {\n this.setState({ checked: !!nextProps.checked });\n }\n }\n }, {\n key: 'handleClick',\n value: function handleClick(event) {\n var checkbox = this.input;\n if (event.target !== checkbox && !this.moved) {\n this.previouslyChecked = checkbox.checked;\n event.preventDefault();\n checkbox.focus();\n checkbox.click();\n return;\n }\n\n var checked = this.props.hasOwnProperty('checked') ? this.props.checked : checkbox.checked;\n\n this.setState({ checked: checked });\n }\n }, {\n key: 'handleTouchStart',\n value: function handleTouchStart(event) {\n this.startX = (0, _util.pointerCoord)(event).x;\n this.activated = true;\n }\n }, {\n key: 'handleTouchMove',\n value: function handleTouchMove(event) {\n if (!this.activated) return;\n this.moved = true;\n\n if (this.startX) {\n var currentX = (0, _util.pointerCoord)(event).x;\n if (this.state.checked && currentX + 15 < this.startX) {\n this.setState({ checked: false });\n this.startX = currentX;\n this.activated = true;\n } else if (currentX - 15 > this.startX) {\n this.setState({ checked: true });\n this.startX = currentX;\n this.activated = currentX < this.startX + 5;\n }\n }\n }\n }, {\n key: 'handleTouchEnd',\n value: function handleTouchEnd(event) {\n if (!this.moved) return;\n var checkbox = this.input;\n event.preventDefault();\n\n if (this.startX) {\n var endX = (0, _util.pointerCoord)(event).x;\n if (this.previouslyChecked === true && this.startX + 4 > endX) {\n if (this.previouslyChecked !== this.state.checked) {\n this.setState({ checked: false });\n this.previouslyChecked = this.state.checked;\n checkbox.click();\n }\n } else if (this.startX - 4 < endX) {\n if (this.previouslyChecked !== this.state.checked) {\n this.setState({ checked: true });\n this.previouslyChecked = this.state.checked;\n checkbox.click();\n }\n }\n\n this.activated = false;\n this.startX = null;\n this.moved = false;\n }\n }\n }, {\n key: 'handleFocus',\n value: function handleFocus(event) {\n var onFocus = this.props.onFocus;\n\n if (onFocus) {\n onFocus(event);\n }\n\n this.setState({ hasFocus: true });\n }\n }, {\n key: 'handleBlur',\n value: function handleBlur(event) {\n var onBlur = this.props.onBlur;\n\n if (onBlur) {\n onBlur(event);\n }\n\n this.setState({ hasFocus: false });\n }\n }, {\n key: 'getIcon',\n value: function getIcon(type) {\n var icons = this.props.icons;\n\n if (!icons) {\n return null;\n }\n return icons[type] === undefined ? Toggle.defaultProps.icons[type] : icons[type];\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n className = _props.className,\n _icons = _props.icons,\n inputProps = _objectWithoutProperties(_props, ['className', 'icons']);\n\n var classes = (0, _classnames2.default)('react-toggle', {\n 'react-toggle--checked': this.state.checked,\n 'react-toggle--focus': this.state.hasFocus,\n 'react-toggle--disabled': this.props.disabled\n }, className);\n\n return _react2.default.createElement('div', { className: classes,\n onClick: this.handleClick,\n onTouchStart: this.handleTouchStart,\n onTouchMove: this.handleTouchMove,\n onTouchEnd: this.handleTouchEnd }, _react2.default.createElement('div', { className: 'react-toggle-track' }, _react2.default.createElement('div', { className: 'react-toggle-track-check' }, this.getIcon('checked')), _react2.default.createElement('div', { className: 'react-toggle-track-x' }, this.getIcon('unchecked'))), _react2.default.createElement('div', { className: 'react-toggle-thumb' }), _react2.default.createElement('input', _extends({}, inputProps, {\n ref: function ref(_ref) {\n _this2.input = _ref;\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n className: 'react-toggle-screenreader-only',\n type: 'checkbox' })));\n }\n }]);\n\n return Toggle;\n}(_react.PureComponent);\n\nexports.default = Toggle;\n\nToggle.displayName = 'Toggle';\n\nToggle.defaultProps = {\n icons: {\n checked: _react2.default.createElement(_check2.default, null),\n unchecked: _react2.default.createElement(_x2.default, null)\n }\n};\n\nToggle.propTypes = {\n checked: _propTypes2.default.bool,\n disabled: _propTypes2.default.bool,\n defaultChecked: _propTypes2.default.bool,\n onChange: _propTypes2.default.func,\n onFocus: _propTypes2.default.func,\n onBlur: _propTypes2.default.func,\n className: _propTypes2.default.string,\n name: _propTypes2.default.string,\n value: _propTypes2.default.string,\n id: _propTypes2.default.string,\n 'aria-labelledby': _propTypes2.default.string,\n 'aria-label': _propTypes2.default.string,\n icons: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.shape({\n checked: _propTypes2.default.node,\n unchecked: _propTypes2.default.node\n })])\n};" + }, + { + "id": 791, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/check.js", + "name": "./node_modules/react-toggle/dist/component/check.js", + "index": 659, + "index2": 646, + "size": 610, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "issuerId": 790, + "issuerName": "./node_modules/react-toggle/dist/component/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "./check", + "loc": "39:13-31" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function () {\n return _react2.default.createElement('svg', { width: '14', height: '11', viewBox: '0 0 14 11' }, _react2.default.createElement('title', null, 'switch-check'), _react2.default.createElement('path', { d: 'M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0', fill: '#fff', fillRule: 'evenodd' }));\n};" + }, + { + "id": 792, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/x.js", + "name": "./node_modules/react-toggle/dist/component/x.js", + "index": 660, + "index2": 647, + "size": 654, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "issuerId": 790, + "issuerName": "./node_modules/react-toggle/dist/component/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "./x", + "loc": "43:9-23" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function () {\n return _react2.default.createElement('svg', { width: '10', height: '10', viewBox: '0 0 10 10' }, _react2.default.createElement('title', null, 'switch-x'), _react2.default.createElement('path', { d: 'M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12', fill: '#fff', fillRule: 'evenodd' }));\n};" + }, + { + "id": 793, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/util.js", + "name": "./node_modules/react-toggle/dist/component/util.js", + "index": 661, + "index2": 648, + "size": 722, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "issuerId": 790, + "issuerName": "./node_modules/react-toggle/dist/component/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "./util", + "loc": "47:12-29" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.pointerCoord = pointerCoord;\n// Copyright 2015-present Drifty Co.\n// http://drifty.com/\n// from: https://github.com/driftyco/ionic/blob/master/src/util/dom.ts\n\nfunction pointerCoord(event) {\n // get coordinates for either a mouse click\n // or a touch depending on the given event\n if (event) {\n var changedTouches = event.changedTouches;\n if (changedTouches && changedTouches.length > 0) {\n var touch = changedTouches[0];\n return { x: touch.clientX, y: touch.clientY };\n }\n var pageX = event.pageX;\n if (pageX !== undefined) {\n return { x: pageX, y: event.pageY };\n }\n }\n return { x: 0, y: 0 };\n}" + }, + { + "id": 794, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/setting_text.js", + "name": "./app/javascript/mastodon/components/setting_text.js", + "index": 677, + "index2": 666, + "size": 1483, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 9 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "issuerId": 889, + "issuerName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "../../../components/setting_text", + "loc": "11:0-59" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "../../../components/setting_text", + "loc": "12:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar SettingText = function (_React$PureComponent) {\n _inherits(SettingText, _React$PureComponent);\n\n function SettingText() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, SettingText);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleChange = function (e) {\n _this.props.onChange(_this.props.settingKey, e.target.value);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n SettingText.prototype.render = function render() {\n var _props = this.props,\n settings = _props.settings,\n settingKey = _props.settingKey,\n label = _props.label;\n\n\n return _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, label), _jsx('input', {\n className: 'setting-text',\n value: settings.getIn(settingKey),\n onChange: this.handleChange,\n placeholder: label\n }));\n };\n\n return SettingText;\n}(React.PureComponent);\n\nexport { SettingText as default };" + }, + { + "id": 804, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "name": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "index": 657, + "index2": 650, + "size": 1845, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "issuerId": 889, + "issuerName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "./setting_toggle", + "loc": "9:0-45" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "../../notifications/components/setting_toggle", + "loc": "11:0-74" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Toggle from 'react-toggle';\n\nvar SettingToggle = function (_React$PureComponent) {\n _inherits(SettingToggle, _React$PureComponent);\n\n function SettingToggle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, SettingToggle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.onChange = function (_ref) {\n var target = _ref.target;\n\n _this.props.onChange(_this.props.settingKey, target.checked);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n SettingToggle.prototype.render = function render() {\n var _props = this.props,\n prefix = _props.prefix,\n settings = _props.settings,\n settingKey = _props.settingKey,\n label = _props.label,\n meta = _props.meta;\n\n var id = ['setting-toggle', prefix].concat(settingKey).filter(Boolean).join('-');\n\n return _jsx('div', {\n className: 'setting-toggle'\n }, void 0, _jsx(Toggle, {\n id: id,\n checked: settings.getIn(settingKey),\n onChange: this.onChange,\n onKeyDown: this.onKeyDown\n }), _jsx('label', {\n htmlFor: id,\n className: 'setting-toggle__label'\n }, void 0, label), meta && _jsx('span', {\n className: 'setting-meta__label'\n }, void 0, meta));\n };\n\n return SettingToggle;\n}(React.PureComponent);\n\nexport { SettingToggle as default };" + }, + { + "id": 888, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "name": "./app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "index": 675, + "index2": 668, + "size": 645, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 9 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "issuerId": 754, + "issuerName": "./app/javascript/mastodon/features/home_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "./containers/column_settings_container", + "loc": "17:0-77" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting, saveSettings } from '../../../actions/settings';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n settings: state.getIn(['settings', 'home'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(key, checked) {\n dispatch(changeSetting(['home'].concat(key), checked));\n },\n onSave: function onSave() {\n dispatch(saveSettings());\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);" + }, + { + "id": 889, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "name": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "index": 676, + "index2": 667, + "size": 2733, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 9 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "issuerId": 888, + "issuerName": "./app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 888, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../components/column_settings", + "loc": "2:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\n\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport SettingToggle from '../../notifications/components/setting_toggle';\nimport SettingText from '../../../components/setting_text';\n\nvar messages = defineMessages({\n filter_regex: {\n 'id': 'home.column_settings.filter_regex',\n 'defaultMessage': 'Filter out by regular expressions'\n },\n settings: {\n 'id': 'home.settings',\n 'defaultMessage': 'Column settings'\n }\n});\n\nvar ColumnSettings = injectIntl(_class = function (_React$PureComponent) {\n _inherits(ColumnSettings, _React$PureComponent);\n\n function ColumnSettings() {\n _classCallCheck(this, ColumnSettings);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n ColumnSettings.prototype.render = function render() {\n var _props = this.props,\n settings = _props.settings,\n onChange = _props.onChange,\n intl = _props.intl;\n\n\n return _jsx('div', {}, void 0, _jsx('span', {\n className: 'column-settings__section'\n }, void 0, _jsx(FormattedMessage, {\n id: 'home.column_settings.basic',\n defaultMessage: 'Basic'\n })), _jsx('div', {\n className: 'column-settings__row'\n }, void 0, _jsx(SettingToggle, {\n prefix: 'home_timeline',\n settings: settings,\n settingKey: ['shows', 'reblog'],\n onChange: onChange,\n label: _jsx(FormattedMessage, {\n id: 'home.column_settings.show_reblogs',\n defaultMessage: 'Show boosts'\n })\n })), _jsx('div', {\n className: 'column-settings__row'\n }, void 0, _jsx(SettingToggle, {\n prefix: 'home_timeline',\n settings: settings,\n settingKey: ['shows', 'reply'],\n onChange: onChange,\n label: _jsx(FormattedMessage, {\n id: 'home.column_settings.show_replies',\n defaultMessage: 'Show replies'\n })\n })), _jsx('span', {\n className: 'column-settings__section'\n }, void 0, _jsx(FormattedMessage, {\n id: 'home.column_settings.advanced',\n defaultMessage: 'Advanced'\n })), _jsx('div', {\n className: 'column-settings__row'\n }, void 0, _jsx(SettingText, {\n prefix: 'home_timeline',\n settings: settings,\n settingKey: ['regex', 'body'],\n onChange: onChange,\n label: intl.formatMessage(messages.filter_regex)\n })));\n };\n\n return ColumnSettings;\n}(React.PureComponent)) || _class;\n\nexport { ColumnSettings as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "14:9-87", + "name": "features/home_timeline", + "reasons": [] + } + ] + }, + { + "id": 10, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 57877, + "names": [ + "features/account_timeline" + ], + "files": [ + "features/account_timeline-cad2550e777d3958eca4.js", + "features/account_timeline-cad2550e777d3958eca4.js.map" + ], + "hash": "cad2550e777d3958eca4", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 262, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "name": "./app/javascript/mastodon/components/scrollable_list.js", + "index": 662, + "index2": 664, + "size": 7448, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "./scrollable_list", + "loc": "15:0-47" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/scrollable_list", + "loc": "22:0-62" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _throttle from 'lodash/throttle';\n\nvar _class, _temp2;\n\nimport React, { PureComponent } from 'react';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport PropTypes from 'prop-types';\nimport IntersectionObserverArticleContainer from '../containers/intersection_observer_article_container';\nimport LoadMore from './load_more';\nimport IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';\n\nimport { List as ImmutableList } from 'immutable';\nimport classNames from 'classnames';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';\n\nvar ScrollableList = (_temp2 = _class = function (_PureComponent) {\n _inherits(ScrollableList, _PureComponent);\n\n function ScrollableList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollableList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _PureComponent.call.apply(_PureComponent, [this].concat(args))), _this), _this.state = {\n lastMouseMove: null\n }, _this.intersectionObserverWrapper = new IntersectionObserverWrapper(), _this.handleScroll = _throttle(function () {\n if (_this.node) {\n var _this$node = _this.node,\n scrollTop = _this$node.scrollTop,\n scrollHeight = _this$node.scrollHeight,\n clientHeight = _this$node.clientHeight;\n\n var offset = scrollHeight - scrollTop - clientHeight;\n _this._oldScrollPosition = scrollHeight - scrollTop;\n\n if (400 > offset && _this.props.onScrollToBottom && !_this.props.isLoading) {\n _this.props.onScrollToBottom();\n } else if (scrollTop < 100 && _this.props.onScrollToTop) {\n _this.props.onScrollToTop();\n } else if (_this.props.onScroll) {\n _this.props.onScroll();\n }\n }\n }, 150, {\n trailing: true\n }), _this.handleMouseMove = _throttle(function () {\n _this._lastMouseMove = new Date();\n }, 300), _this.handleMouseLeave = function () {\n _this._lastMouseMove = null;\n }, _this.onFullScreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.onScrollToBottom();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ScrollableList.prototype.componentDidMount = function componentDidMount() {\n this.attachScrollListener();\n this.attachIntersectionObserver();\n attachFullscreenListener(this.onFullScreenChange);\n\n // Handle initial scroll posiiton\n this.handleScroll();\n };\n\n ScrollableList.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var someItemInserted = React.Children.count(prevProps.children) > 0 && React.Children.count(prevProps.children) < React.Children.count(this.props.children) && this.getFirstChildKey(prevProps) !== this.getFirstChildKey(this.props);\n\n // Reset the scroll position when a new child comes in in order not to\n // jerk the scrollbar around if you're already scrolled down the page.\n if (someItemInserted && this._oldScrollPosition && this.node.scrollTop > 0) {\n var newScrollTop = this.node.scrollHeight - this._oldScrollPosition;\n\n if (this.node.scrollTop !== newScrollTop) {\n this.node.scrollTop = newScrollTop;\n }\n } else {\n this._oldScrollPosition = this.node.scrollHeight - this.node.scrollTop;\n }\n };\n\n ScrollableList.prototype.componentWillUnmount = function componentWillUnmount() {\n this.detachScrollListener();\n this.detachIntersectionObserver();\n detachFullscreenListener(this.onFullScreenChange);\n };\n\n ScrollableList.prototype.attachIntersectionObserver = function attachIntersectionObserver() {\n this.intersectionObserverWrapper.connect({\n root: this.node,\n rootMargin: '300% 0px'\n });\n };\n\n ScrollableList.prototype.detachIntersectionObserver = function detachIntersectionObserver() {\n this.intersectionObserverWrapper.disconnect();\n };\n\n ScrollableList.prototype.attachScrollListener = function attachScrollListener() {\n this.node.addEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.detachScrollListener = function detachScrollListener() {\n this.node.removeEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.getFirstChildKey = function getFirstChildKey(props) {\n var children = props.children;\n\n var firstChild = children;\n if (children instanceof ImmutableList) {\n firstChild = children.get(0);\n } else if (Array.isArray(children)) {\n firstChild = children[0];\n }\n return firstChild && firstChild.key;\n };\n\n ScrollableList.prototype._recentlyMoved = function _recentlyMoved() {\n return this._lastMouseMove !== null && new Date() - this._lastMouseMove < 600;\n };\n\n ScrollableList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n scrollKey = _props.scrollKey,\n trackScroll = _props.trackScroll,\n shouldUpdateScroll = _props.shouldUpdateScroll,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore,\n prepend = _props.prepend,\n emptyMessage = _props.emptyMessage;\n var fullscreen = this.state.fullscreen;\n\n var childrenCount = React.Children.count(children);\n\n var loadMore = hasMore && childrenCount > 0 ? _jsx(LoadMore, {\n visible: !isLoading,\n onClick: this.handleLoadMore\n }) : null;\n var scrollableArea = null;\n\n if (isLoading || childrenCount > 0 || !emptyMessage) {\n scrollableArea = React.createElement(\n 'div',\n { className: classNames('scrollable', { fullscreen: fullscreen }), ref: this.setRef, onMouseMove: this.handleMouseMove, onMouseLeave: this.handleMouseLeave },\n _jsx('div', {\n role: 'feed',\n className: 'item-list'\n }, void 0, prepend, React.Children.map(this.props.children, function (child, index) {\n return _jsx(IntersectionObserverArticleContainer, {\n id: child.key,\n index: index,\n listLength: childrenCount,\n intersectionObserverWrapper: _this2.intersectionObserverWrapper,\n saveHeightKey: trackScroll ? _this2.context.router.route.location.key + ':' + scrollKey : null\n }, child.key, child);\n }), loadMore)\n );\n } else {\n scrollableArea = React.createElement(\n 'div',\n { className: 'empty-column-indicator', ref: this.setRef },\n emptyMessage\n );\n }\n\n if (trackScroll) {\n return _jsx(ScrollContainer, {\n scrollKey: scrollKey,\n shouldUpdateScroll: shouldUpdateScroll\n }, void 0, scrollableArea);\n } else {\n return scrollableArea;\n }\n };\n\n return ScrollableList;\n}(PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { ScrollableList as default };" + }, + { + "id": 263, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "name": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "index": 666, + "index2": 660, + "size": 641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../containers/intersection_observer_article_container", + "loc": "12:0-105" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport IntersectionObserverArticle from '../components/intersection_observer_article';\nimport { setHeight } from '../actions/height_cache';\n\nvar makeMapStateToProps = function makeMapStateToProps(state, props) {\n return {\n cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onHeightChange: function onHeightChange(key, id, height) {\n dispatch(setHeight(key, id, height));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(IntersectionObserverArticle);" + }, + { + "id": 264, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "name": "./app/javascript/mastodon/components/intersection_observer_article.js", + "index": 667, + "index2": 659, + "size": 5582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "issuerId": 263, + "issuerName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "../components/intersection_observer_article", + "loc": "2:0-86" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport scheduleIdleTask from '../features/ui/util/schedule_idle_task';\nimport getRectFromEntry from '../features/ui/util/get_rect_from_entry';\nimport { is } from 'immutable';\n\n// Diff these props in the \"rendered\" state\nvar updateOnPropsForRendered = ['id', 'index', 'listLength'];\n// Diff these props in the \"unrendered\" state\nvar updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];\n\nvar IntersectionObserverArticle = function (_React$Component) {\n _inherits(IntersectionObserverArticle, _React$Component);\n\n function IntersectionObserverArticle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, IntersectionObserverArticle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n isHidden: false // set to true in requestIdleCallback to trigger un-render\n }, _this.handleIntersection = function (entry) {\n _this.entry = entry;\n\n scheduleIdleTask(_this.calculateHeight);\n _this.setState(_this.updateStateAfterIntersection);\n }, _this.updateStateAfterIntersection = function (prevState) {\n if (prevState.isIntersecting && !_this.entry.isIntersecting) {\n scheduleIdleTask(_this.hideIfNotIntersecting);\n }\n return {\n isIntersecting: _this.entry.isIntersecting,\n isHidden: false\n };\n }, _this.calculateHeight = function () {\n var _this$props = _this.props,\n onHeightChange = _this$props.onHeightChange,\n saveHeightKey = _this$props.saveHeightKey,\n id = _this$props.id;\n // save the height of the fully-rendered element (this is expensive\n // on Chrome, where we need to fall back to getBoundingClientRect)\n\n _this.height = getRectFromEntry(_this.entry).height;\n\n if (onHeightChange && saveHeightKey) {\n onHeightChange(saveHeightKey, id, _this.height);\n }\n }, _this.hideIfNotIntersecting = function () {\n if (!_this.componentMounted) {\n return;\n }\n\n // When the browser gets a chance, test if we're still not intersecting,\n // and if so, set our isHidden to true to trigger an unrender. The point of\n // this is to save DOM nodes and avoid using up too much memory.\n // See: https://github.com/tootsuite/mastodon/issues/2900\n _this.setState(function (prevState) {\n return { isHidden: !prevState.isIntersecting };\n });\n }, _this.handleRef = function (node) {\n _this.node = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n IntersectionObserverArticle.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n var _this2 = this;\n\n var isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);\n var willBeUnrendered = !nextState.isIntersecting && (nextState.isHidden || nextProps.cachedHeight);\n if (!!isUnrendered !== !!willBeUnrendered) {\n // If we're going from rendered to unrendered (or vice versa) then update\n return true;\n }\n // Otherwise, diff based on props\n var propsToDiff = isUnrendered ? updateOnPropsForUnrendered : updateOnPropsForRendered;\n return !propsToDiff.every(function (prop) {\n return is(nextProps[prop], _this2.props[prop]);\n });\n };\n\n IntersectionObserverArticle.prototype.componentDidMount = function componentDidMount() {\n var _props = this.props,\n intersectionObserverWrapper = _props.intersectionObserverWrapper,\n id = _props.id;\n\n\n intersectionObserverWrapper.observe(id, this.node, this.handleIntersection);\n\n this.componentMounted = true;\n };\n\n IntersectionObserverArticle.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n intersectionObserverWrapper = _props2.intersectionObserverWrapper,\n id = _props2.id;\n\n intersectionObserverWrapper.unobserve(id, this.node);\n\n this.componentMounted = false;\n };\n\n IntersectionObserverArticle.prototype.render = function render() {\n var _props3 = this.props,\n children = _props3.children,\n id = _props3.id,\n index = _props3.index,\n listLength = _props3.listLength,\n cachedHeight = _props3.cachedHeight;\n var _state = this.state,\n isIntersecting = _state.isIntersecting,\n isHidden = _state.isHidden;\n\n\n if (!isIntersecting && (isHidden || cachedHeight)) {\n return React.createElement(\n 'article',\n {\n ref: this.handleRef,\n 'aria-posinset': index,\n 'aria-setsize': listLength,\n style: { height: (this.height || cachedHeight) + 'px', opacity: 0, overflow: 'hidden' },\n 'data-id': id,\n tabIndex: '0'\n },\n children && React.cloneElement(children, { hidden: true })\n );\n }\n\n return React.createElement(\n 'article',\n { ref: this.handleRef, 'aria-posinset': index, 'aria-setsize': listLength, 'data-id': id, tabIndex: '0' },\n children && React.cloneElement(children, { hidden: false })\n );\n };\n\n return IntersectionObserverArticle;\n}(React.Component);\n\nexport { IntersectionObserverArticle as default };" + }, + { + "id": 265, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "name": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "index": 668, + "index2": 657, + "size": 753, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/schedule_idle_task", + "loc": "6:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "// Wrapper to call requestIdleCallback() to schedule low-priority work.\n// See https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API\n// for a good breakdown of the concepts behind this.\n\nimport Queue from 'tiny-queue';\n\nvar taskQueue = new Queue();\nvar runningRequestIdleCallback = false;\n\nfunction runTasks(deadline) {\n while (taskQueue.length && deadline.timeRemaining() > 0) {\n taskQueue.shift()();\n }\n if (taskQueue.length) {\n requestIdleCallback(runTasks);\n } else {\n runningRequestIdleCallback = false;\n }\n}\n\nfunction scheduleIdleTask(task) {\n taskQueue.push(task);\n if (!runningRequestIdleCallback) {\n runningRequestIdleCallback = true;\n requestIdleCallback(runTasks);\n }\n}\n\nexport default scheduleIdleTask;" + }, + { + "id": 266, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/tiny-queue/index.js", + "name": "./node_modules/tiny-queue/index.js", + "index": 669, + "index2": 656, + "size": 941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "issuerId": 265, + "issuerName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 265, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "module": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "type": "harmony import", + "userRequest": "tiny-queue", + "loc": "5:0-31" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\n// Simple FIFO queue implementation to avoid having to do shift()\n// on an array, which is slow.\n\nfunction Queue() {\n this.length = 0;\n}\n\nQueue.prototype.push = function (item) {\n var node = { item: item };\n if (this.last) {\n this.last = this.last.next = node;\n } else {\n this.last = this.first = node;\n }\n this.length++;\n};\n\nQueue.prototype.shift = function () {\n var node = this.first;\n if (node) {\n this.first = node.next;\n if (! --this.length) {\n this.last = undefined;\n }\n return node.item;\n }\n};\n\nQueue.prototype.slice = function (start, end) {\n start = typeof start === 'undefined' ? 0 : start;\n end = typeof end === 'undefined' ? Infinity : end;\n\n var output = [];\n\n var i = 0;\n for (var node = this.first; node; node = node.next) {\n if (--end < 0) {\n break;\n } else if (++i > start) {\n output.push(node.item);\n }\n }\n return output;\n};\n\nmodule.exports = Queue;" + }, + { + "id": 267, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "name": "./app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "index": 670, + "index2": 658, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/get_rect_from_entry", + "loc": "7:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "\n// Get the bounding client rect from an IntersectionObserver entry.\n// This is to work around a bug in Chrome: https://crbug.com/737228\n\nvar hasBoundingRectBug = void 0;\n\nfunction getRectFromEntry(entry) {\n if (typeof hasBoundingRectBug !== 'boolean') {\n var boundingRect = entry.target.getBoundingClientRect();\n var observerRect = entry.boundingClientRect;\n hasBoundingRectBug = boundingRect.height !== observerRect.height || boundingRect.top !== observerRect.top || boundingRect.width !== observerRect.width || boundingRect.bottom !== observerRect.bottom || boundingRect.left !== observerRect.left || boundingRect.right !== observerRect.right;\n }\n return hasBoundingRectBug ? entry.target.getBoundingClientRect() : entry.boundingClientRect;\n}\n\nexport default getRectFromEntry;" + }, + { + "id": 268, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "name": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "index": 672, + "index2": 662, + "size": 2097, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../features/ui/util/intersection_observer_wrapper", + "loc": "14:0-92" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\n\n// Wrapper for IntersectionObserver in order to make working with it\n// a bit easier. We also follow this performance advice:\n// \"If you need to observe multiple elements, it is both possible and\n// advised to observe multiple elements using the same IntersectionObserver\n// instance by calling observe() multiple times.\"\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n\nvar IntersectionObserverWrapper = function () {\n function IntersectionObserverWrapper() {\n _classCallCheck(this, IntersectionObserverWrapper);\n\n this.callbacks = {};\n this.observerBacklog = [];\n this.observer = null;\n }\n\n IntersectionObserverWrapper.prototype.connect = function connect(options) {\n var _this = this;\n\n var onIntersection = function onIntersection(entries) {\n entries.forEach(function (entry) {\n var id = entry.target.getAttribute('data-id');\n if (_this.callbacks[id]) {\n _this.callbacks[id](entry);\n }\n });\n };\n\n this.observer = new IntersectionObserver(onIntersection, options);\n this.observerBacklog.forEach(function (_ref) {\n var id = _ref[0],\n node = _ref[1],\n callback = _ref[2];\n\n _this.observe(id, node, callback);\n });\n this.observerBacklog = null;\n };\n\n IntersectionObserverWrapper.prototype.observe = function observe(id, node, callback) {\n if (!this.observer) {\n this.observerBacklog.push([id, node, callback]);\n } else {\n this.callbacks[id] = callback;\n this.observer.observe(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.unobserve = function unobserve(id, node) {\n if (this.observer) {\n delete this.callbacks[id];\n this.observer.unobserve(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.disconnect = function disconnect() {\n if (this.observer) {\n this.callbacks = {};\n this.observer.disconnect();\n this.observer = null;\n }\n };\n\n return IntersectionObserverWrapper;\n}();\n\nexport default IntersectionObserverWrapper;" + }, + { + "id": 269, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "name": "./app/javascript/mastodon/components/status_list.js", + "index": 348, + "index2": 753, + "size": 3062, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "issuerId": 158, + "issuerName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "../../../components/status_list", + "loc": "3:0-57" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "15:0-54" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "14:0-54" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "16:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport StatusContainer from '../containers/status_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ScrollableList from './scrollable_list';\n\nvar StatusList = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(StatusList, _ImmutablePureCompone);\n\n function StatusList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StatusList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleMoveUp = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) - 1;\n _this._selectChild(elementIndex);\n }, _this.handleMoveDown = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) + 1;\n _this._selectChild(elementIndex);\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StatusList.prototype._selectChild = function _selectChild(index) {\n var element = this.node.node.querySelector('article:nth-of-type(' + (index + 1) + ') .focusable');\n\n if (element) {\n element.focus();\n }\n };\n\n StatusList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n statusIds = _props.statusIds,\n other = _objectWithoutProperties(_props, ['statusIds']);\n\n var isLoading = other.isLoading;\n\n\n var scrollableContent = isLoading || statusIds.size > 0 ? statusIds.map(function (statusId) {\n return _jsx(StatusContainer, {\n id: statusId,\n onMoveUp: _this2.handleMoveUp,\n onMoveDown: _this2.handleMoveDown\n }, statusId);\n }) : null;\n\n return React.createElement(\n ScrollableList,\n _extends({}, other, { ref: this.setRef }),\n scrollableContent\n );\n };\n\n return StatusList;\n}(ImmutablePureComponent), _class.propTypes = {\n scrollKey: PropTypes.string.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n onScrollToBottom: PropTypes.func,\n onScrollToTop: PropTypes.func,\n onScroll: PropTypes.func,\n trackScroll: PropTypes.bool,\n shouldUpdateScroll: PropTypes.func,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n prepend: PropTypes.node,\n emptyMessage: PropTypes.node\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { StatusList as default };" + }, + { + "id": 761, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "name": "./app/javascript/mastodon/features/account_timeline/index.js", + "index": 718, + "index2": 715, + "size": 3791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../account_timeline", + "loc": "42:9-93" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { fetchAccount } from '../../actions/accounts';\nimport { refreshAccountTimeline, expandAccountTimeline } from '../../actions/timelines';\nimport StatusList from '../../components/status_list';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport HeaderContainer from './containers/header_container';\nimport ColumnBackButton from '../../components/column_back_button';\nimport { List as ImmutableList } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar mapStateToProps = function mapStateToProps(state, props) {\n return {\n statusIds: state.getIn(['timelines', 'account:' + props.params.accountId, 'items'], ImmutableList()),\n isLoading: state.getIn(['timelines', 'account:' + props.params.accountId, 'isLoading']),\n hasMore: !!state.getIn(['timelines', 'account:' + props.params.accountId, 'next'])\n };\n};\n\nvar AccountTimeline = (_dec = connect(mapStateToProps), _dec(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(AccountTimeline, _ImmutablePureCompone);\n\n function AccountTimeline() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, AccountTimeline);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleScrollToBottom = function () {\n if (!_this.props.isLoading && _this.props.hasMore) {\n _this.props.dispatch(expandAccountTimeline(_this.props.params.accountId));\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n AccountTimeline.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(refreshAccountTimeline(this.props.params.accountId));\n };\n\n AccountTimeline.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(refreshAccountTimeline(nextProps.params.accountId));\n }\n };\n\n AccountTimeline.prototype.render = function render() {\n var _props = this.props,\n statusIds = _props.statusIds,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore;\n\n\n if (!statusIds && isLoading) {\n return _jsx(Column, {}, void 0, _jsx(LoadingIndicator, {}));\n }\n\n return _jsx(Column, {}, void 0, _jsx(ColumnBackButton, {}), _jsx(StatusList, {\n prepend: _jsx(HeaderContainer, {\n accountId: this.props.params.accountId\n }),\n scrollKey: 'account_timeline',\n statusIds: statusIds,\n isLoading: isLoading,\n hasMore: hasMore,\n onScrollToBottom: this.handleScrollToBottom\n }));\n };\n\n return AccountTimeline;\n}(ImmutablePureComponent), _class2.propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool\n}, _temp2)) || _class);\nexport { AccountTimeline as default };" + }, + { + "id": 779, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "name": "./app/javascript/mastodon/components/column_back_button.js", + "index": 712, + "index2": 703, + "size": 1711, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "issuerId": 766, + "issuerName": "./app/javascript/mastodon/features/favourites/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "24:0-67" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "18:0-67" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "16:0-67" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButton = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButton, _React$PureComponent);\n\n function ColumnBackButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) {\n _this.context.router.history.push('/');\n } else {\n _this.context.router.history.goBack();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButton.prototype.render = function render() {\n return _jsx('button', {\n onClick: this.handleClick,\n className: 'column-back-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n }));\n };\n\n return ColumnBackButton;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButton as default };" + }, + { + "id": 780, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "name": "./app/javascript/mastodon/components/missing_indicator.js", + "index": 701, + "index2": 692, + "size": 405, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 24 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "issuerId": 768, + "issuerName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "14:0-66" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "4:0-66" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../../components/missing_indicator", + "loc": "13:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nvar MissingIndicator = function MissingIndicator() {\n return _jsx('div', {\n className: 'missing-indicator'\n }, void 0, _jsx('div', {}, void 0, _jsx(FormattedMessage, {\n id: 'missing_indicator.label',\n defaultMessage: 'Not found'\n })));\n};\n\nexport default MissingIndicator;" + }, + { + "id": 781, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "name": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "index": 720, + "index2": 714, + "size": 4820, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "issuerId": 761, + "issuerName": "./app/javascript/mastodon/features/account_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "./containers/header_container", + "loc": "17:0-60" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "20:0-78" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "17:0-78" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "17:0-78" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { makeGetAccount } from '../../../selectors';\nimport Header from '../components/header';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../../../actions/accounts';\nimport { mentionCompose } from '../../../actions/compose';\nimport { initReport } from '../../../actions/reports';\nimport { openModal } from '../../../actions/modal';\nimport { blockDomain, unblockDomain } from '../../../actions/domain_blocks';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { unfollowModal } from '../../../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n },\n blockDomainConfirm: {\n 'id': 'confirmations.domain_block.confirm',\n 'defaultMessage': 'Hide entire domain'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, _ref) {\n var accountId = _ref.accountId;\n return {\n account: getAccount(state, accountId)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref2) {\n var intl = _ref2.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onReport: function onReport(account) {\n dispatch(initReport(account));\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n }\n },\n onBlockDomain: function onBlockDomain(domain, accountId) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.domain_block.message',\n defaultMessage: 'Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.',\n values: { domain: _jsx('strong', {}, void 0, domain) }\n }),\n confirm: intl.formatMessage(messages.blockDomainConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockDomain(domain, accountId));\n }\n }));\n },\n onUnblockDomain: function onUnblockDomain(domain, accountId) {\n dispatch(unblockDomain(domain, accountId));\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Header));" + }, + { + "id": 782, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "name": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "index": 721, + "index2": 713, + "size": 3218, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "issuerId": 781, + "issuerName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../components/header", + "loc": "5:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport InnerHeader from '../../account/components/header';\nimport ActionBar from '../../account/components/action_bar';\nimport MissingIndicator from '../../../components/missing_indicator';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar Header = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(Header, _ImmutablePureCompone);\n\n function Header() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Header);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMention = function () {\n _this.props.onMention(_this.props.account, _this.context.router.history);\n }, _this.handleReport = function () {\n _this.props.onReport(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _this.handleBlockDomain = function () {\n var domain = _this.props.account.get('acct').split('@')[1];\n\n if (!domain) return;\n\n _this.props.onBlockDomain(domain, _this.props.account.get('id'));\n }, _this.handleUnblockDomain = function () {\n var domain = _this.props.account.get('acct').split('@')[1];\n\n if (!domain) return;\n\n _this.props.onUnblockDomain(domain, _this.props.account.get('id'));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Header.prototype.render = function render() {\n var account = this.props.account;\n\n\n if (account === null) {\n return _jsx(MissingIndicator, {});\n }\n\n return _jsx('div', {\n className: 'account-timeline__header'\n }, void 0, _jsx(InnerHeader, {\n account: account,\n onFollow: this.handleFollow\n }), _jsx(ActionBar, {\n account: account,\n onBlock: this.handleBlock,\n onMention: this.handleMention,\n onReport: this.handleReport,\n onMute: this.handleMute,\n onBlockDomain: this.handleBlockDomain,\n onUnblockDomain: this.handleUnblockDomain\n }));\n };\n\n return Header;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n onReport: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n onBlockDomain: PropTypes.func.isRequired,\n onUnblockDomain: PropTypes.func.isRequired\n}, _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { Header as default };" + }, + { + "id": 783, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "name": "./app/javascript/mastodon/features/account/components/header.js", + "index": 722, + "index2": 711, + "size": 5925, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "issuerId": 782, + "issuerName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../account/components/header", + "loc": "11:0-58" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2, _class2, _class3, _temp3;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { autoPlayGif, me } from '../../../initial_state';\n\nvar messages = defineMessages({\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval. Click to cancel follow request'\n }\n});\n\nvar Avatar = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(Avatar, _ImmutablePureCompone);\n\n function Avatar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Avatar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n isHovered: false\n }, _this.handleMouseOver = function () {\n if (_this.state.isHovered) return;\n _this.setState({ isHovered: true });\n }, _this.handleMouseOut = function () {\n if (!_this.state.isHovered) return;\n _this.setState({ isHovered: false });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Avatar.prototype.render = function render() {\n var _this2 = this;\n\n var account = this.props.account;\n var isHovered = this.state.isHovered;\n\n\n return _jsx(Motion, {\n defaultStyle: { radius: 90 },\n style: { radius: spring(isHovered ? 30 : 90, { stiffness: 180, damping: 12 }) }\n }, void 0, function (_ref) {\n var radius = _ref.radius;\n return _jsx('a', {\n href: account.get('url'),\n className: 'account__header__avatar',\n role: 'presentation',\n target: '_blank',\n rel: 'noopener',\n style: { borderRadius: radius + 'px', backgroundImage: 'url(' + (autoPlayGif || isHovered ? account.get('avatar') : account.get('avatar_static')) + ')' },\n onMouseOver: _this2.handleMouseOver,\n onMouseOut: _this2.handleMouseOut,\n onFocus: _this2.handleMouseOver,\n onBlur: _this2.handleMouseOut\n }, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, account.get('acct')));\n });\n };\n\n return Avatar;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map.isRequired\n}, _temp2);\n\nvar Header = injectIntl(_class2 = (_temp3 = _class3 = function (_ImmutablePureCompone2) {\n _inherits(Header, _ImmutablePureCompone2);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone2.apply(this, arguments));\n }\n\n Header.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl;\n\n\n if (!account) {\n return null;\n }\n\n var info = '';\n var actionBtn = '';\n var lockedIcon = '';\n\n if (me !== account.get('id') && account.getIn(['relationship', 'followed_by'])) {\n info = _jsx('span', {\n className: 'account--follows-info'\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.follows_you',\n defaultMessage: 'Follows you'\n }));\n }\n\n if (me !== account.get('id')) {\n if (account.getIn(['relationship', 'requested'])) {\n actionBtn = _jsx('div', {\n className: 'account--action-button'\n }, void 0, _jsx(IconButton, {\n size: 26,\n active: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested),\n onClick: this.props.onFollow\n }));\n } else if (!account.getIn(['relationship', 'blocking'])) {\n actionBtn = _jsx('div', {\n className: 'account--action-button'\n }, void 0, _jsx(IconButton, {\n size: 26,\n icon: account.getIn(['relationship', 'following']) ? 'user-times' : 'user-plus',\n active: account.getIn(['relationship', 'following']),\n title: intl.formatMessage(account.getIn(['relationship', 'following']) ? messages.unfollow : messages.follow),\n onClick: this.props.onFollow\n }));\n }\n }\n\n if (account.get('locked')) {\n lockedIcon = _jsx('i', {\n className: 'fa fa-lock'\n });\n }\n\n var content = { __html: account.get('note_emojified') };\n var displayNameHtml = { __html: account.get('display_name_html') };\n\n return _jsx('div', {\n className: 'account__header',\n style: { backgroundImage: 'url(' + account.get('header') + ')' }\n }, void 0, _jsx('div', {}, void 0, _jsx(Avatar, {\n account: account\n }), _jsx('span', {\n className: 'account__header__display-name',\n dangerouslySetInnerHTML: displayNameHtml\n }), _jsx('span', {\n className: 'account__header__username'\n }, void 0, '@', account.get('acct'), ' ', lockedIcon), _jsx('div', {\n className: 'account__header__content',\n dangerouslySetInnerHTML: content\n }), info, actionBtn));\n };\n\n return Header;\n}(ImmutablePureComponent), _class3.propTypes = {\n account: ImmutablePropTypes.map,\n onFollow: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp3)) || _class2;\n\nexport { Header as default };" + }, + { + "id": 784, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "name": "./app/javascript/mastodon/features/account/components/action_bar.js", + "index": 723, + "index2": 712, + "size": 6495, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "issuerId": 782, + "issuerName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../account/components/action_bar", + "loc": "12:0-60" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\n\nimport DropdownMenuContainer from '../../../containers/dropdown_menu_container';\nimport { Link } from 'react-router-dom';\nimport { defineMessages, injectIntl, FormattedMessage, FormattedNumber } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nvar messages = defineMessages({\n mention: {\n 'id': 'account.mention',\n 'defaultMessage': 'Mention @{name}'\n },\n edit_profile: {\n 'id': 'account.edit_profile',\n 'defaultMessage': 'Edit profile'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n },\n block: {\n 'id': 'account.block',\n 'defaultMessage': 'Block @{name}'\n },\n mute: {\n 'id': 'account.mute',\n 'defaultMessage': 'Mute @{name}'\n },\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n report: {\n 'id': 'account.report',\n 'defaultMessage': 'Report @{name}'\n },\n share: {\n 'id': 'account.share',\n 'defaultMessage': 'Share @{name}\\'s profile'\n },\n media: {\n 'id': 'account.media',\n 'defaultMessage': 'Media'\n },\n blockDomain: {\n 'id': 'account.block_domain',\n 'defaultMessage': 'Hide everything from {domain}'\n },\n unblockDomain: {\n 'id': 'account.unblock_domain',\n 'defaultMessage': 'Unhide {domain}'\n }\n});\n\nvar ActionBar = injectIntl(_class = function (_React$PureComponent) {\n _inherits(ActionBar, _React$PureComponent);\n\n function ActionBar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ActionBar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleShare = function () {\n navigator.share({\n url: _this.props.account.get('url')\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ActionBar.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl;\n\n\n var menu = [];\n var extraInfo = '';\n\n menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.props.onMention });\n if ('share' in navigator) {\n menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare });\n }\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.media), to: '/accounts/' + account.get('id') + '/media' });\n menu.push(null);\n\n if (account.get('id') === me) {\n menu.push({ text: intl.formatMessage(messages.edit_profile), href: '/settings/profile' });\n } else {\n if (account.getIn(['relationship', 'muting'])) {\n menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.props.onMute });\n } else {\n menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.props.onMute });\n }\n\n if (account.getIn(['relationship', 'blocking'])) {\n menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.props.onBlock });\n } else {\n menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.props.onBlock });\n }\n\n menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport });\n }\n\n if (account.get('acct') !== account.get('username')) {\n var domain = account.get('acct').split('@')[1];\n\n extraInfo = _jsx('div', {\n className: 'account__disclaimer'\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.disclaimer_full',\n defaultMessage: 'Information below may reflect the user\\'s profile incompletely.'\n }), ' ', _jsx('a', {\n target: '_blank',\n rel: 'noopener',\n href: account.get('url')\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.view_full_profile',\n defaultMessage: 'View full profile'\n })));\n\n menu.push(null);\n\n if (account.getIn(['relationship', 'domain_blocking'])) {\n menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain: domain }), action: this.props.onUnblockDomain });\n } else {\n menu.push({ text: intl.formatMessage(messages.blockDomain, { domain: domain }), action: this.props.onBlockDomain });\n }\n }\n\n return _jsx('div', {}, void 0, extraInfo, _jsx('div', {\n className: 'account__action-bar'\n }, void 0, _jsx('div', {\n className: 'account__action-bar-dropdown'\n }, void 0, _jsx(DropdownMenuContainer, {\n items: menu,\n icon: 'bars',\n size: 24,\n direction: 'right'\n })), _jsx('div', {\n className: 'account__action-bar-links'\n }, void 0, _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id')\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.posts',\n defaultMessage: 'Posts'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('statuses_count')\n }))), _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id') + '/following'\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.follows',\n defaultMessage: 'Follows'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('following_count')\n }))), _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id') + '/followers'\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.followers',\n defaultMessage: 'Followers'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('followers_count')\n }))))));\n };\n\n return ActionBar;\n}(React.PureComponent)) || _class;\n\nexport { ActionBar as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "42:9-93", + "name": "features/account_timeline", + "reasons": [] + } + ] + }, + { + "id": 11, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 36237, + "names": [ + "features/pinned_statuses" + ], + "files": [ + "features/pinned_statuses-fc56dd5916a37286e823.js", + "features/pinned_statuses-fc56dd5916a37286e823.js.map" + ], + "hash": "fc56dd5916a37286e823", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 262, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "name": "./app/javascript/mastodon/components/scrollable_list.js", + "index": 662, + "index2": 664, + "size": 7448, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "./scrollable_list", + "loc": "15:0-47" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/scrollable_list", + "loc": "22:0-62" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _throttle from 'lodash/throttle';\n\nvar _class, _temp2;\n\nimport React, { PureComponent } from 'react';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport PropTypes from 'prop-types';\nimport IntersectionObserverArticleContainer from '../containers/intersection_observer_article_container';\nimport LoadMore from './load_more';\nimport IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';\n\nimport { List as ImmutableList } from 'immutable';\nimport classNames from 'classnames';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';\n\nvar ScrollableList = (_temp2 = _class = function (_PureComponent) {\n _inherits(ScrollableList, _PureComponent);\n\n function ScrollableList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollableList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _PureComponent.call.apply(_PureComponent, [this].concat(args))), _this), _this.state = {\n lastMouseMove: null\n }, _this.intersectionObserverWrapper = new IntersectionObserverWrapper(), _this.handleScroll = _throttle(function () {\n if (_this.node) {\n var _this$node = _this.node,\n scrollTop = _this$node.scrollTop,\n scrollHeight = _this$node.scrollHeight,\n clientHeight = _this$node.clientHeight;\n\n var offset = scrollHeight - scrollTop - clientHeight;\n _this._oldScrollPosition = scrollHeight - scrollTop;\n\n if (400 > offset && _this.props.onScrollToBottom && !_this.props.isLoading) {\n _this.props.onScrollToBottom();\n } else if (scrollTop < 100 && _this.props.onScrollToTop) {\n _this.props.onScrollToTop();\n } else if (_this.props.onScroll) {\n _this.props.onScroll();\n }\n }\n }, 150, {\n trailing: true\n }), _this.handleMouseMove = _throttle(function () {\n _this._lastMouseMove = new Date();\n }, 300), _this.handleMouseLeave = function () {\n _this._lastMouseMove = null;\n }, _this.onFullScreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.onScrollToBottom();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ScrollableList.prototype.componentDidMount = function componentDidMount() {\n this.attachScrollListener();\n this.attachIntersectionObserver();\n attachFullscreenListener(this.onFullScreenChange);\n\n // Handle initial scroll posiiton\n this.handleScroll();\n };\n\n ScrollableList.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var someItemInserted = React.Children.count(prevProps.children) > 0 && React.Children.count(prevProps.children) < React.Children.count(this.props.children) && this.getFirstChildKey(prevProps) !== this.getFirstChildKey(this.props);\n\n // Reset the scroll position when a new child comes in in order not to\n // jerk the scrollbar around if you're already scrolled down the page.\n if (someItemInserted && this._oldScrollPosition && this.node.scrollTop > 0) {\n var newScrollTop = this.node.scrollHeight - this._oldScrollPosition;\n\n if (this.node.scrollTop !== newScrollTop) {\n this.node.scrollTop = newScrollTop;\n }\n } else {\n this._oldScrollPosition = this.node.scrollHeight - this.node.scrollTop;\n }\n };\n\n ScrollableList.prototype.componentWillUnmount = function componentWillUnmount() {\n this.detachScrollListener();\n this.detachIntersectionObserver();\n detachFullscreenListener(this.onFullScreenChange);\n };\n\n ScrollableList.prototype.attachIntersectionObserver = function attachIntersectionObserver() {\n this.intersectionObserverWrapper.connect({\n root: this.node,\n rootMargin: '300% 0px'\n });\n };\n\n ScrollableList.prototype.detachIntersectionObserver = function detachIntersectionObserver() {\n this.intersectionObserverWrapper.disconnect();\n };\n\n ScrollableList.prototype.attachScrollListener = function attachScrollListener() {\n this.node.addEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.detachScrollListener = function detachScrollListener() {\n this.node.removeEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.getFirstChildKey = function getFirstChildKey(props) {\n var children = props.children;\n\n var firstChild = children;\n if (children instanceof ImmutableList) {\n firstChild = children.get(0);\n } else if (Array.isArray(children)) {\n firstChild = children[0];\n }\n return firstChild && firstChild.key;\n };\n\n ScrollableList.prototype._recentlyMoved = function _recentlyMoved() {\n return this._lastMouseMove !== null && new Date() - this._lastMouseMove < 600;\n };\n\n ScrollableList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n scrollKey = _props.scrollKey,\n trackScroll = _props.trackScroll,\n shouldUpdateScroll = _props.shouldUpdateScroll,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore,\n prepend = _props.prepend,\n emptyMessage = _props.emptyMessage;\n var fullscreen = this.state.fullscreen;\n\n var childrenCount = React.Children.count(children);\n\n var loadMore = hasMore && childrenCount > 0 ? _jsx(LoadMore, {\n visible: !isLoading,\n onClick: this.handleLoadMore\n }) : null;\n var scrollableArea = null;\n\n if (isLoading || childrenCount > 0 || !emptyMessage) {\n scrollableArea = React.createElement(\n 'div',\n { className: classNames('scrollable', { fullscreen: fullscreen }), ref: this.setRef, onMouseMove: this.handleMouseMove, onMouseLeave: this.handleMouseLeave },\n _jsx('div', {\n role: 'feed',\n className: 'item-list'\n }, void 0, prepend, React.Children.map(this.props.children, function (child, index) {\n return _jsx(IntersectionObserverArticleContainer, {\n id: child.key,\n index: index,\n listLength: childrenCount,\n intersectionObserverWrapper: _this2.intersectionObserverWrapper,\n saveHeightKey: trackScroll ? _this2.context.router.route.location.key + ':' + scrollKey : null\n }, child.key, child);\n }), loadMore)\n );\n } else {\n scrollableArea = React.createElement(\n 'div',\n { className: 'empty-column-indicator', ref: this.setRef },\n emptyMessage\n );\n }\n\n if (trackScroll) {\n return _jsx(ScrollContainer, {\n scrollKey: scrollKey,\n shouldUpdateScroll: shouldUpdateScroll\n }, void 0, scrollableArea);\n } else {\n return scrollableArea;\n }\n };\n\n return ScrollableList;\n}(PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { ScrollableList as default };" + }, + { + "id": 263, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "name": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "index": 666, + "index2": 660, + "size": 641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../containers/intersection_observer_article_container", + "loc": "12:0-105" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport IntersectionObserverArticle from '../components/intersection_observer_article';\nimport { setHeight } from '../actions/height_cache';\n\nvar makeMapStateToProps = function makeMapStateToProps(state, props) {\n return {\n cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onHeightChange: function onHeightChange(key, id, height) {\n dispatch(setHeight(key, id, height));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(IntersectionObserverArticle);" + }, + { + "id": 264, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "name": "./app/javascript/mastodon/components/intersection_observer_article.js", + "index": 667, + "index2": 659, + "size": 5582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "issuerId": 263, + "issuerName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "../components/intersection_observer_article", + "loc": "2:0-86" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport scheduleIdleTask from '../features/ui/util/schedule_idle_task';\nimport getRectFromEntry from '../features/ui/util/get_rect_from_entry';\nimport { is } from 'immutable';\n\n// Diff these props in the \"rendered\" state\nvar updateOnPropsForRendered = ['id', 'index', 'listLength'];\n// Diff these props in the \"unrendered\" state\nvar updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];\n\nvar IntersectionObserverArticle = function (_React$Component) {\n _inherits(IntersectionObserverArticle, _React$Component);\n\n function IntersectionObserverArticle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, IntersectionObserverArticle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n isHidden: false // set to true in requestIdleCallback to trigger un-render\n }, _this.handleIntersection = function (entry) {\n _this.entry = entry;\n\n scheduleIdleTask(_this.calculateHeight);\n _this.setState(_this.updateStateAfterIntersection);\n }, _this.updateStateAfterIntersection = function (prevState) {\n if (prevState.isIntersecting && !_this.entry.isIntersecting) {\n scheduleIdleTask(_this.hideIfNotIntersecting);\n }\n return {\n isIntersecting: _this.entry.isIntersecting,\n isHidden: false\n };\n }, _this.calculateHeight = function () {\n var _this$props = _this.props,\n onHeightChange = _this$props.onHeightChange,\n saveHeightKey = _this$props.saveHeightKey,\n id = _this$props.id;\n // save the height of the fully-rendered element (this is expensive\n // on Chrome, where we need to fall back to getBoundingClientRect)\n\n _this.height = getRectFromEntry(_this.entry).height;\n\n if (onHeightChange && saveHeightKey) {\n onHeightChange(saveHeightKey, id, _this.height);\n }\n }, _this.hideIfNotIntersecting = function () {\n if (!_this.componentMounted) {\n return;\n }\n\n // When the browser gets a chance, test if we're still not intersecting,\n // and if so, set our isHidden to true to trigger an unrender. The point of\n // this is to save DOM nodes and avoid using up too much memory.\n // See: https://github.com/tootsuite/mastodon/issues/2900\n _this.setState(function (prevState) {\n return { isHidden: !prevState.isIntersecting };\n });\n }, _this.handleRef = function (node) {\n _this.node = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n IntersectionObserverArticle.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n var _this2 = this;\n\n var isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);\n var willBeUnrendered = !nextState.isIntersecting && (nextState.isHidden || nextProps.cachedHeight);\n if (!!isUnrendered !== !!willBeUnrendered) {\n // If we're going from rendered to unrendered (or vice versa) then update\n return true;\n }\n // Otherwise, diff based on props\n var propsToDiff = isUnrendered ? updateOnPropsForUnrendered : updateOnPropsForRendered;\n return !propsToDiff.every(function (prop) {\n return is(nextProps[prop], _this2.props[prop]);\n });\n };\n\n IntersectionObserverArticle.prototype.componentDidMount = function componentDidMount() {\n var _props = this.props,\n intersectionObserverWrapper = _props.intersectionObserverWrapper,\n id = _props.id;\n\n\n intersectionObserverWrapper.observe(id, this.node, this.handleIntersection);\n\n this.componentMounted = true;\n };\n\n IntersectionObserverArticle.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n intersectionObserverWrapper = _props2.intersectionObserverWrapper,\n id = _props2.id;\n\n intersectionObserverWrapper.unobserve(id, this.node);\n\n this.componentMounted = false;\n };\n\n IntersectionObserverArticle.prototype.render = function render() {\n var _props3 = this.props,\n children = _props3.children,\n id = _props3.id,\n index = _props3.index,\n listLength = _props3.listLength,\n cachedHeight = _props3.cachedHeight;\n var _state = this.state,\n isIntersecting = _state.isIntersecting,\n isHidden = _state.isHidden;\n\n\n if (!isIntersecting && (isHidden || cachedHeight)) {\n return React.createElement(\n 'article',\n {\n ref: this.handleRef,\n 'aria-posinset': index,\n 'aria-setsize': listLength,\n style: { height: (this.height || cachedHeight) + 'px', opacity: 0, overflow: 'hidden' },\n 'data-id': id,\n tabIndex: '0'\n },\n children && React.cloneElement(children, { hidden: true })\n );\n }\n\n return React.createElement(\n 'article',\n { ref: this.handleRef, 'aria-posinset': index, 'aria-setsize': listLength, 'data-id': id, tabIndex: '0' },\n children && React.cloneElement(children, { hidden: false })\n );\n };\n\n return IntersectionObserverArticle;\n}(React.Component);\n\nexport { IntersectionObserverArticle as default };" + }, + { + "id": 265, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "name": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "index": 668, + "index2": 657, + "size": 753, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/schedule_idle_task", + "loc": "6:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "// Wrapper to call requestIdleCallback() to schedule low-priority work.\n// See https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API\n// for a good breakdown of the concepts behind this.\n\nimport Queue from 'tiny-queue';\n\nvar taskQueue = new Queue();\nvar runningRequestIdleCallback = false;\n\nfunction runTasks(deadline) {\n while (taskQueue.length && deadline.timeRemaining() > 0) {\n taskQueue.shift()();\n }\n if (taskQueue.length) {\n requestIdleCallback(runTasks);\n } else {\n runningRequestIdleCallback = false;\n }\n}\n\nfunction scheduleIdleTask(task) {\n taskQueue.push(task);\n if (!runningRequestIdleCallback) {\n runningRequestIdleCallback = true;\n requestIdleCallback(runTasks);\n }\n}\n\nexport default scheduleIdleTask;" + }, + { + "id": 266, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/tiny-queue/index.js", + "name": "./node_modules/tiny-queue/index.js", + "index": 669, + "index2": 656, + "size": 941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "issuerId": 265, + "issuerName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 265, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "module": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "type": "harmony import", + "userRequest": "tiny-queue", + "loc": "5:0-31" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\n// Simple FIFO queue implementation to avoid having to do shift()\n// on an array, which is slow.\n\nfunction Queue() {\n this.length = 0;\n}\n\nQueue.prototype.push = function (item) {\n var node = { item: item };\n if (this.last) {\n this.last = this.last.next = node;\n } else {\n this.last = this.first = node;\n }\n this.length++;\n};\n\nQueue.prototype.shift = function () {\n var node = this.first;\n if (node) {\n this.first = node.next;\n if (! --this.length) {\n this.last = undefined;\n }\n return node.item;\n }\n};\n\nQueue.prototype.slice = function (start, end) {\n start = typeof start === 'undefined' ? 0 : start;\n end = typeof end === 'undefined' ? Infinity : end;\n\n var output = [];\n\n var i = 0;\n for (var node = this.first; node; node = node.next) {\n if (--end < 0) {\n break;\n } else if (++i > start) {\n output.push(node.item);\n }\n }\n return output;\n};\n\nmodule.exports = Queue;" + }, + { + "id": 267, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "name": "./app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "index": 670, + "index2": 658, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/get_rect_from_entry", + "loc": "7:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "\n// Get the bounding client rect from an IntersectionObserver entry.\n// This is to work around a bug in Chrome: https://crbug.com/737228\n\nvar hasBoundingRectBug = void 0;\n\nfunction getRectFromEntry(entry) {\n if (typeof hasBoundingRectBug !== 'boolean') {\n var boundingRect = entry.target.getBoundingClientRect();\n var observerRect = entry.boundingClientRect;\n hasBoundingRectBug = boundingRect.height !== observerRect.height || boundingRect.top !== observerRect.top || boundingRect.width !== observerRect.width || boundingRect.bottom !== observerRect.bottom || boundingRect.left !== observerRect.left || boundingRect.right !== observerRect.right;\n }\n return hasBoundingRectBug ? entry.target.getBoundingClientRect() : entry.boundingClientRect;\n}\n\nexport default getRectFromEntry;" + }, + { + "id": 268, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "name": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "index": 672, + "index2": 662, + "size": 2097, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../features/ui/util/intersection_observer_wrapper", + "loc": "14:0-92" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\n\n// Wrapper for IntersectionObserver in order to make working with it\n// a bit easier. We also follow this performance advice:\n// \"If you need to observe multiple elements, it is both possible and\n// advised to observe multiple elements using the same IntersectionObserver\n// instance by calling observe() multiple times.\"\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n\nvar IntersectionObserverWrapper = function () {\n function IntersectionObserverWrapper() {\n _classCallCheck(this, IntersectionObserverWrapper);\n\n this.callbacks = {};\n this.observerBacklog = [];\n this.observer = null;\n }\n\n IntersectionObserverWrapper.prototype.connect = function connect(options) {\n var _this = this;\n\n var onIntersection = function onIntersection(entries) {\n entries.forEach(function (entry) {\n var id = entry.target.getAttribute('data-id');\n if (_this.callbacks[id]) {\n _this.callbacks[id](entry);\n }\n });\n };\n\n this.observer = new IntersectionObserver(onIntersection, options);\n this.observerBacklog.forEach(function (_ref) {\n var id = _ref[0],\n node = _ref[1],\n callback = _ref[2];\n\n _this.observe(id, node, callback);\n });\n this.observerBacklog = null;\n };\n\n IntersectionObserverWrapper.prototype.observe = function observe(id, node, callback) {\n if (!this.observer) {\n this.observerBacklog.push([id, node, callback]);\n } else {\n this.callbacks[id] = callback;\n this.observer.observe(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.unobserve = function unobserve(id, node) {\n if (this.observer) {\n delete this.callbacks[id];\n this.observer.unobserve(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.disconnect = function disconnect() {\n if (this.observer) {\n this.callbacks = {};\n this.observer.disconnect();\n this.observer = null;\n }\n };\n\n return IntersectionObserverWrapper;\n}();\n\nexport default IntersectionObserverWrapper;" + }, + { + "id": 269, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "name": "./app/javascript/mastodon/components/status_list.js", + "index": 348, + "index2": 753, + "size": 3062, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "issuerId": 158, + "issuerName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "../../../components/status_list", + "loc": "3:0-57" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "15:0-54" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "14:0-54" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "16:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport StatusContainer from '../containers/status_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ScrollableList from './scrollable_list';\n\nvar StatusList = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(StatusList, _ImmutablePureCompone);\n\n function StatusList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StatusList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleMoveUp = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) - 1;\n _this._selectChild(elementIndex);\n }, _this.handleMoveDown = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) + 1;\n _this._selectChild(elementIndex);\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StatusList.prototype._selectChild = function _selectChild(index) {\n var element = this.node.node.querySelector('article:nth-of-type(' + (index + 1) + ') .focusable');\n\n if (element) {\n element.focus();\n }\n };\n\n StatusList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n statusIds = _props.statusIds,\n other = _objectWithoutProperties(_props, ['statusIds']);\n\n var isLoading = other.isLoading;\n\n\n var scrollableContent = isLoading || statusIds.size > 0 ? statusIds.map(function (statusId) {\n return _jsx(StatusContainer, {\n id: statusId,\n onMoveUp: _this2.handleMoveUp,\n onMoveDown: _this2.handleMoveDown\n }, statusId);\n }) : null;\n\n return React.createElement(\n ScrollableList,\n _extends({}, other, { ref: this.setRef }),\n scrollableContent\n );\n };\n\n return StatusList;\n}(ImmutablePureComponent), _class.propTypes = {\n scrollKey: PropTypes.string.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n onScrollToBottom: PropTypes.func,\n onScrollToTop: PropTypes.func,\n onScroll: PropTypes.func,\n trackScroll: PropTypes.bool,\n shouldUpdateScroll: PropTypes.func,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n prepend: PropTypes.node,\n emptyMessage: PropTypes.node\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { StatusList as default };" + }, + { + "id": 272, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "name": "./app/javascript/mastodon/components/column_back_button_slim.js", + "index": 717, + "index2": 708, + "size": 1848, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 11, + 18, + 19, + 20, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "../../../components/column_back_button_slim", + "loc": "11:0-79" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "14:0-76" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButtonSlim = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButtonSlim, _React$PureComponent);\n\n function ColumnBackButtonSlim() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButtonSlim);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) _this.context.router.history.push('/');else _this.context.router.history.goBack();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButtonSlim.prototype.render = function render() {\n return _jsx('div', {\n className: 'column-back-button--slim'\n }, void 0, _jsx('div', {\n role: 'button',\n tabIndex: '0',\n onClick: this.handleClick,\n className: 'column-back-button column-back-button--slim-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n })));\n };\n\n return ColumnBackButtonSlim;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButtonSlim as default };" + }, + { + "id": 760, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "name": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "index": 716, + "index2": 709, + "size": 2877, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 11 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../pinned_statuses", + "loc": "38:9-91" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchPinnedStatuses } from '../../actions/pin_statuses';\nimport Column from '../ui/components/column';\nimport ColumnBackButtonSlim from '../../components/column_back_button_slim';\nimport StatusList from '../../components/status_list';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar messages = defineMessages({\n heading: {\n 'id': 'column.pins',\n 'defaultMessage': 'Pinned toot'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n statusIds: state.getIn(['status_lists', 'pins', 'items']),\n hasMore: !!state.getIn(['status_lists', 'pins', 'next'])\n };\n};\n\nvar PinnedStatuses = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(PinnedStatuses, _ImmutablePureCompone);\n\n function PinnedStatuses() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, PinnedStatuses);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n _this.column.scrollTop();\n }, _this.setRef = function (c) {\n _this.column = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n PinnedStatuses.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchPinnedStatuses());\n };\n\n PinnedStatuses.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n statusIds = _props.statusIds,\n hasMore = _props.hasMore;\n\n\n return React.createElement(\n Column,\n { icon: 'thumb-tack', heading: intl.formatMessage(messages.heading), ref: this.setRef },\n _jsx(ColumnBackButtonSlim, {}),\n _jsx(StatusList, {\n statusIds: statusIds,\n scrollKey: 'pinned_statuses',\n hasMore: hasMore\n })\n );\n };\n\n return PinnedStatuses;\n}(ImmutablePureComponent), _class2.propTypes = {\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n intl: PropTypes.object.isRequired,\n hasMore: PropTypes.bool.isRequired\n}, _temp2)) || _class) || _class);\nexport { PinnedStatuses as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "38:9-91", + "name": "features/pinned_statuses", + "reasons": [] + } + ] + }, + { + "id": 12, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 35537, + "names": [ + "features/favourited_statuses" + ], + "files": [ + "features/favourited_statuses-b15a9a6cc711cca1eb76.js", + "features/favourited_statuses-b15a9a6cc711cca1eb76.js.map" + ], + "hash": "b15a9a6cc711cca1eb76", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 262, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "name": "./app/javascript/mastodon/components/scrollable_list.js", + "index": 662, + "index2": 664, + "size": 7448, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "./scrollable_list", + "loc": "15:0-47" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/scrollable_list", + "loc": "22:0-62" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _throttle from 'lodash/throttle';\n\nvar _class, _temp2;\n\nimport React, { PureComponent } from 'react';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport PropTypes from 'prop-types';\nimport IntersectionObserverArticleContainer from '../containers/intersection_observer_article_container';\nimport LoadMore from './load_more';\nimport IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';\n\nimport { List as ImmutableList } from 'immutable';\nimport classNames from 'classnames';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';\n\nvar ScrollableList = (_temp2 = _class = function (_PureComponent) {\n _inherits(ScrollableList, _PureComponent);\n\n function ScrollableList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollableList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _PureComponent.call.apply(_PureComponent, [this].concat(args))), _this), _this.state = {\n lastMouseMove: null\n }, _this.intersectionObserverWrapper = new IntersectionObserverWrapper(), _this.handleScroll = _throttle(function () {\n if (_this.node) {\n var _this$node = _this.node,\n scrollTop = _this$node.scrollTop,\n scrollHeight = _this$node.scrollHeight,\n clientHeight = _this$node.clientHeight;\n\n var offset = scrollHeight - scrollTop - clientHeight;\n _this._oldScrollPosition = scrollHeight - scrollTop;\n\n if (400 > offset && _this.props.onScrollToBottom && !_this.props.isLoading) {\n _this.props.onScrollToBottom();\n } else if (scrollTop < 100 && _this.props.onScrollToTop) {\n _this.props.onScrollToTop();\n } else if (_this.props.onScroll) {\n _this.props.onScroll();\n }\n }\n }, 150, {\n trailing: true\n }), _this.handleMouseMove = _throttle(function () {\n _this._lastMouseMove = new Date();\n }, 300), _this.handleMouseLeave = function () {\n _this._lastMouseMove = null;\n }, _this.onFullScreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.onScrollToBottom();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ScrollableList.prototype.componentDidMount = function componentDidMount() {\n this.attachScrollListener();\n this.attachIntersectionObserver();\n attachFullscreenListener(this.onFullScreenChange);\n\n // Handle initial scroll posiiton\n this.handleScroll();\n };\n\n ScrollableList.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var someItemInserted = React.Children.count(prevProps.children) > 0 && React.Children.count(prevProps.children) < React.Children.count(this.props.children) && this.getFirstChildKey(prevProps) !== this.getFirstChildKey(this.props);\n\n // Reset the scroll position when a new child comes in in order not to\n // jerk the scrollbar around if you're already scrolled down the page.\n if (someItemInserted && this._oldScrollPosition && this.node.scrollTop > 0) {\n var newScrollTop = this.node.scrollHeight - this._oldScrollPosition;\n\n if (this.node.scrollTop !== newScrollTop) {\n this.node.scrollTop = newScrollTop;\n }\n } else {\n this._oldScrollPosition = this.node.scrollHeight - this.node.scrollTop;\n }\n };\n\n ScrollableList.prototype.componentWillUnmount = function componentWillUnmount() {\n this.detachScrollListener();\n this.detachIntersectionObserver();\n detachFullscreenListener(this.onFullScreenChange);\n };\n\n ScrollableList.prototype.attachIntersectionObserver = function attachIntersectionObserver() {\n this.intersectionObserverWrapper.connect({\n root: this.node,\n rootMargin: '300% 0px'\n });\n };\n\n ScrollableList.prototype.detachIntersectionObserver = function detachIntersectionObserver() {\n this.intersectionObserverWrapper.disconnect();\n };\n\n ScrollableList.prototype.attachScrollListener = function attachScrollListener() {\n this.node.addEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.detachScrollListener = function detachScrollListener() {\n this.node.removeEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.getFirstChildKey = function getFirstChildKey(props) {\n var children = props.children;\n\n var firstChild = children;\n if (children instanceof ImmutableList) {\n firstChild = children.get(0);\n } else if (Array.isArray(children)) {\n firstChild = children[0];\n }\n return firstChild && firstChild.key;\n };\n\n ScrollableList.prototype._recentlyMoved = function _recentlyMoved() {\n return this._lastMouseMove !== null && new Date() - this._lastMouseMove < 600;\n };\n\n ScrollableList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n scrollKey = _props.scrollKey,\n trackScroll = _props.trackScroll,\n shouldUpdateScroll = _props.shouldUpdateScroll,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore,\n prepend = _props.prepend,\n emptyMessage = _props.emptyMessage;\n var fullscreen = this.state.fullscreen;\n\n var childrenCount = React.Children.count(children);\n\n var loadMore = hasMore && childrenCount > 0 ? _jsx(LoadMore, {\n visible: !isLoading,\n onClick: this.handleLoadMore\n }) : null;\n var scrollableArea = null;\n\n if (isLoading || childrenCount > 0 || !emptyMessage) {\n scrollableArea = React.createElement(\n 'div',\n { className: classNames('scrollable', { fullscreen: fullscreen }), ref: this.setRef, onMouseMove: this.handleMouseMove, onMouseLeave: this.handleMouseLeave },\n _jsx('div', {\n role: 'feed',\n className: 'item-list'\n }, void 0, prepend, React.Children.map(this.props.children, function (child, index) {\n return _jsx(IntersectionObserverArticleContainer, {\n id: child.key,\n index: index,\n listLength: childrenCount,\n intersectionObserverWrapper: _this2.intersectionObserverWrapper,\n saveHeightKey: trackScroll ? _this2.context.router.route.location.key + ':' + scrollKey : null\n }, child.key, child);\n }), loadMore)\n );\n } else {\n scrollableArea = React.createElement(\n 'div',\n { className: 'empty-column-indicator', ref: this.setRef },\n emptyMessage\n );\n }\n\n if (trackScroll) {\n return _jsx(ScrollContainer, {\n scrollKey: scrollKey,\n shouldUpdateScroll: shouldUpdateScroll\n }, void 0, scrollableArea);\n } else {\n return scrollableArea;\n }\n };\n\n return ScrollableList;\n}(PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { ScrollableList as default };" + }, + { + "id": 263, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "name": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "index": 666, + "index2": 660, + "size": 641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../containers/intersection_observer_article_container", + "loc": "12:0-105" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport IntersectionObserverArticle from '../components/intersection_observer_article';\nimport { setHeight } from '../actions/height_cache';\n\nvar makeMapStateToProps = function makeMapStateToProps(state, props) {\n return {\n cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onHeightChange: function onHeightChange(key, id, height) {\n dispatch(setHeight(key, id, height));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(IntersectionObserverArticle);" + }, + { + "id": 264, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "name": "./app/javascript/mastodon/components/intersection_observer_article.js", + "index": 667, + "index2": 659, + "size": 5582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "issuerId": 263, + "issuerName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "../components/intersection_observer_article", + "loc": "2:0-86" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport scheduleIdleTask from '../features/ui/util/schedule_idle_task';\nimport getRectFromEntry from '../features/ui/util/get_rect_from_entry';\nimport { is } from 'immutable';\n\n// Diff these props in the \"rendered\" state\nvar updateOnPropsForRendered = ['id', 'index', 'listLength'];\n// Diff these props in the \"unrendered\" state\nvar updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];\n\nvar IntersectionObserverArticle = function (_React$Component) {\n _inherits(IntersectionObserverArticle, _React$Component);\n\n function IntersectionObserverArticle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, IntersectionObserverArticle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n isHidden: false // set to true in requestIdleCallback to trigger un-render\n }, _this.handleIntersection = function (entry) {\n _this.entry = entry;\n\n scheduleIdleTask(_this.calculateHeight);\n _this.setState(_this.updateStateAfterIntersection);\n }, _this.updateStateAfterIntersection = function (prevState) {\n if (prevState.isIntersecting && !_this.entry.isIntersecting) {\n scheduleIdleTask(_this.hideIfNotIntersecting);\n }\n return {\n isIntersecting: _this.entry.isIntersecting,\n isHidden: false\n };\n }, _this.calculateHeight = function () {\n var _this$props = _this.props,\n onHeightChange = _this$props.onHeightChange,\n saveHeightKey = _this$props.saveHeightKey,\n id = _this$props.id;\n // save the height of the fully-rendered element (this is expensive\n // on Chrome, where we need to fall back to getBoundingClientRect)\n\n _this.height = getRectFromEntry(_this.entry).height;\n\n if (onHeightChange && saveHeightKey) {\n onHeightChange(saveHeightKey, id, _this.height);\n }\n }, _this.hideIfNotIntersecting = function () {\n if (!_this.componentMounted) {\n return;\n }\n\n // When the browser gets a chance, test if we're still not intersecting,\n // and if so, set our isHidden to true to trigger an unrender. The point of\n // this is to save DOM nodes and avoid using up too much memory.\n // See: https://github.com/tootsuite/mastodon/issues/2900\n _this.setState(function (prevState) {\n return { isHidden: !prevState.isIntersecting };\n });\n }, _this.handleRef = function (node) {\n _this.node = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n IntersectionObserverArticle.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n var _this2 = this;\n\n var isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);\n var willBeUnrendered = !nextState.isIntersecting && (nextState.isHidden || nextProps.cachedHeight);\n if (!!isUnrendered !== !!willBeUnrendered) {\n // If we're going from rendered to unrendered (or vice versa) then update\n return true;\n }\n // Otherwise, diff based on props\n var propsToDiff = isUnrendered ? updateOnPropsForUnrendered : updateOnPropsForRendered;\n return !propsToDiff.every(function (prop) {\n return is(nextProps[prop], _this2.props[prop]);\n });\n };\n\n IntersectionObserverArticle.prototype.componentDidMount = function componentDidMount() {\n var _props = this.props,\n intersectionObserverWrapper = _props.intersectionObserverWrapper,\n id = _props.id;\n\n\n intersectionObserverWrapper.observe(id, this.node, this.handleIntersection);\n\n this.componentMounted = true;\n };\n\n IntersectionObserverArticle.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n intersectionObserverWrapper = _props2.intersectionObserverWrapper,\n id = _props2.id;\n\n intersectionObserverWrapper.unobserve(id, this.node);\n\n this.componentMounted = false;\n };\n\n IntersectionObserverArticle.prototype.render = function render() {\n var _props3 = this.props,\n children = _props3.children,\n id = _props3.id,\n index = _props3.index,\n listLength = _props3.listLength,\n cachedHeight = _props3.cachedHeight;\n var _state = this.state,\n isIntersecting = _state.isIntersecting,\n isHidden = _state.isHidden;\n\n\n if (!isIntersecting && (isHidden || cachedHeight)) {\n return React.createElement(\n 'article',\n {\n ref: this.handleRef,\n 'aria-posinset': index,\n 'aria-setsize': listLength,\n style: { height: (this.height || cachedHeight) + 'px', opacity: 0, overflow: 'hidden' },\n 'data-id': id,\n tabIndex: '0'\n },\n children && React.cloneElement(children, { hidden: true })\n );\n }\n\n return React.createElement(\n 'article',\n { ref: this.handleRef, 'aria-posinset': index, 'aria-setsize': listLength, 'data-id': id, tabIndex: '0' },\n children && React.cloneElement(children, { hidden: false })\n );\n };\n\n return IntersectionObserverArticle;\n}(React.Component);\n\nexport { IntersectionObserverArticle as default };" + }, + { + "id": 265, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "name": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "index": 668, + "index2": 657, + "size": 753, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/schedule_idle_task", + "loc": "6:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "// Wrapper to call requestIdleCallback() to schedule low-priority work.\n// See https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API\n// for a good breakdown of the concepts behind this.\n\nimport Queue from 'tiny-queue';\n\nvar taskQueue = new Queue();\nvar runningRequestIdleCallback = false;\n\nfunction runTasks(deadline) {\n while (taskQueue.length && deadline.timeRemaining() > 0) {\n taskQueue.shift()();\n }\n if (taskQueue.length) {\n requestIdleCallback(runTasks);\n } else {\n runningRequestIdleCallback = false;\n }\n}\n\nfunction scheduleIdleTask(task) {\n taskQueue.push(task);\n if (!runningRequestIdleCallback) {\n runningRequestIdleCallback = true;\n requestIdleCallback(runTasks);\n }\n}\n\nexport default scheduleIdleTask;" + }, + { + "id": 266, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/tiny-queue/index.js", + "name": "./node_modules/tiny-queue/index.js", + "index": 669, + "index2": 656, + "size": 941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "issuerId": 265, + "issuerName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 265, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "module": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "type": "harmony import", + "userRequest": "tiny-queue", + "loc": "5:0-31" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\n// Simple FIFO queue implementation to avoid having to do shift()\n// on an array, which is slow.\n\nfunction Queue() {\n this.length = 0;\n}\n\nQueue.prototype.push = function (item) {\n var node = { item: item };\n if (this.last) {\n this.last = this.last.next = node;\n } else {\n this.last = this.first = node;\n }\n this.length++;\n};\n\nQueue.prototype.shift = function () {\n var node = this.first;\n if (node) {\n this.first = node.next;\n if (! --this.length) {\n this.last = undefined;\n }\n return node.item;\n }\n};\n\nQueue.prototype.slice = function (start, end) {\n start = typeof start === 'undefined' ? 0 : start;\n end = typeof end === 'undefined' ? Infinity : end;\n\n var output = [];\n\n var i = 0;\n for (var node = this.first; node; node = node.next) {\n if (--end < 0) {\n break;\n } else if (++i > start) {\n output.push(node.item);\n }\n }\n return output;\n};\n\nmodule.exports = Queue;" + }, + { + "id": 267, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "name": "./app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "index": 670, + "index2": 658, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/get_rect_from_entry", + "loc": "7:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "\n// Get the bounding client rect from an IntersectionObserver entry.\n// This is to work around a bug in Chrome: https://crbug.com/737228\n\nvar hasBoundingRectBug = void 0;\n\nfunction getRectFromEntry(entry) {\n if (typeof hasBoundingRectBug !== 'boolean') {\n var boundingRect = entry.target.getBoundingClientRect();\n var observerRect = entry.boundingClientRect;\n hasBoundingRectBug = boundingRect.height !== observerRect.height || boundingRect.top !== observerRect.top || boundingRect.width !== observerRect.width || boundingRect.bottom !== observerRect.bottom || boundingRect.left !== observerRect.left || boundingRect.right !== observerRect.right;\n }\n return hasBoundingRectBug ? entry.target.getBoundingClientRect() : entry.boundingClientRect;\n}\n\nexport default getRectFromEntry;" + }, + { + "id": 268, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "name": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "index": 672, + "index2": 662, + "size": 2097, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../features/ui/util/intersection_observer_wrapper", + "loc": "14:0-92" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\n\n// Wrapper for IntersectionObserver in order to make working with it\n// a bit easier. We also follow this performance advice:\n// \"If you need to observe multiple elements, it is both possible and\n// advised to observe multiple elements using the same IntersectionObserver\n// instance by calling observe() multiple times.\"\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n\nvar IntersectionObserverWrapper = function () {\n function IntersectionObserverWrapper() {\n _classCallCheck(this, IntersectionObserverWrapper);\n\n this.callbacks = {};\n this.observerBacklog = [];\n this.observer = null;\n }\n\n IntersectionObserverWrapper.prototype.connect = function connect(options) {\n var _this = this;\n\n var onIntersection = function onIntersection(entries) {\n entries.forEach(function (entry) {\n var id = entry.target.getAttribute('data-id');\n if (_this.callbacks[id]) {\n _this.callbacks[id](entry);\n }\n });\n };\n\n this.observer = new IntersectionObserver(onIntersection, options);\n this.observerBacklog.forEach(function (_ref) {\n var id = _ref[0],\n node = _ref[1],\n callback = _ref[2];\n\n _this.observe(id, node, callback);\n });\n this.observerBacklog = null;\n };\n\n IntersectionObserverWrapper.prototype.observe = function observe(id, node, callback) {\n if (!this.observer) {\n this.observerBacklog.push([id, node, callback]);\n } else {\n this.callbacks[id] = callback;\n this.observer.observe(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.unobserve = function unobserve(id, node) {\n if (this.observer) {\n delete this.callbacks[id];\n this.observer.unobserve(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.disconnect = function disconnect() {\n if (this.observer) {\n this.callbacks = {};\n this.observer.disconnect();\n this.observer = null;\n }\n };\n\n return IntersectionObserverWrapper;\n}();\n\nexport default IntersectionObserverWrapper;" + }, + { + "id": 269, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "name": "./app/javascript/mastodon/components/status_list.js", + "index": 348, + "index2": 753, + "size": 3062, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "issuerId": 158, + "issuerName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "../../../components/status_list", + "loc": "3:0-57" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "15:0-54" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "14:0-54" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "16:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport StatusContainer from '../containers/status_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ScrollableList from './scrollable_list';\n\nvar StatusList = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(StatusList, _ImmutablePureCompone);\n\n function StatusList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StatusList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleMoveUp = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) - 1;\n _this._selectChild(elementIndex);\n }, _this.handleMoveDown = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) + 1;\n _this._selectChild(elementIndex);\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StatusList.prototype._selectChild = function _selectChild(index) {\n var element = this.node.node.querySelector('article:nth-of-type(' + (index + 1) + ') .focusable');\n\n if (element) {\n element.focus();\n }\n };\n\n StatusList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n statusIds = _props.statusIds,\n other = _objectWithoutProperties(_props, ['statusIds']);\n\n var isLoading = other.isLoading;\n\n\n var scrollableContent = isLoading || statusIds.size > 0 ? statusIds.map(function (statusId) {\n return _jsx(StatusContainer, {\n id: statusId,\n onMoveUp: _this2.handleMoveUp,\n onMoveDown: _this2.handleMoveDown\n }, statusId);\n }) : null;\n\n return React.createElement(\n ScrollableList,\n _extends({}, other, { ref: this.setRef }),\n scrollableContent\n );\n };\n\n return StatusList;\n}(ImmutablePureComponent), _class.propTypes = {\n scrollKey: PropTypes.string.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n onScrollToBottom: PropTypes.func,\n onScrollToTop: PropTypes.func,\n onScroll: PropTypes.func,\n trackScroll: PropTypes.bool,\n shouldUpdateScroll: PropTypes.func,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n prepend: PropTypes.node,\n emptyMessage: PropTypes.node\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { StatusList as default };" + }, + { + "id": 769, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "name": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "index": 734, + "index2": 726, + "size": 4025, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 12 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../favourited_statuses", + "loc": "74:9-99" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchFavouritedStatuses, expandFavouritedStatuses } from '../../actions/favourites';\nimport Column from '../ui/components/column';\nimport ColumnHeader from '../../components/column_header';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport StatusList from '../../components/status_list';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar messages = defineMessages({\n heading: {\n 'id': 'column.favourites',\n 'defaultMessage': 'Favourites'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n statusIds: state.getIn(['status_lists', 'favourites', 'items']),\n hasMore: !!state.getIn(['status_lists', 'favourites', 'next'])\n };\n};\n\nvar Favourites = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Favourites, _ImmutablePureCompone);\n\n function Favourites() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Favourites);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handlePin = function () {\n var _this$props = _this.props,\n columnId = _this$props.columnId,\n dispatch = _this$props.dispatch;\n\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('FAVOURITES', {}));\n }\n }, _this.handleMove = function (dir) {\n var _this$props2 = _this.props,\n columnId = _this$props2.columnId,\n dispatch = _this$props2.dispatch;\n\n dispatch(moveColumn(columnId, dir));\n }, _this.handleHeaderClick = function () {\n _this.column.scrollTop();\n }, _this.setRef = function (c) {\n _this.column = c;\n }, _this.handleScrollToBottom = function () {\n _this.props.dispatch(expandFavouritedStatuses());\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Favourites.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchFavouritedStatuses());\n };\n\n Favourites.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n statusIds = _props.statusIds,\n columnId = _props.columnId,\n multiColumn = _props.multiColumn,\n hasMore = _props.hasMore;\n\n var pinned = !!columnId;\n\n return React.createElement(\n Column,\n { ref: this.setRef },\n _jsx(ColumnHeader, {\n icon: 'star',\n title: intl.formatMessage(messages.heading),\n onPin: this.handlePin,\n onMove: this.handleMove,\n onClick: this.handleHeaderClick,\n pinned: pinned,\n multiColumn: multiColumn,\n showBackButton: true\n }),\n _jsx(StatusList, {\n trackScroll: !pinned,\n statusIds: statusIds,\n scrollKey: 'favourited_statuses-' + columnId,\n hasMore: hasMore,\n onScrollToBottom: this.handleScrollToBottom\n })\n );\n };\n\n return Favourites;\n}(ImmutablePureComponent), _class2.propTypes = {\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n intl: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool\n}, _temp2)) || _class) || _class);\nexport { Favourites as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "74:9-99", + "name": "features/favourited_statuses", + "reasons": [] + } + ] + }, + { + "id": 13, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 65214, + "names": [ + "features/status" + ], + "files": [ + "features/status-1f1807fdb4d1fd6daf40.js", + "features/status-1f1807fdb4d1fd6daf40.js.map" + ], + "hash": "1f1807fdb4d1fd6daf40", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 159, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "name": "./app/javascript/mastodon/components/media_gallery.js", + "index": 703, + "index2": 693, + "size": 9703, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13, + 26, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "issuerId": 654, + "issuerName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../../components/media_gallery", + "loc": "94:9-99" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "../components/media_gallery", + "loc": "11:0-55" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "../../../components/media_gallery", + "loc": "14:0-61" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2, _class2, _class3, _temp4;\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { is } from 'immutable';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { isIOS } from '../is_mobile';\nimport classNames from 'classnames';\nimport { autoPlayGif } from '../initial_state';\n\nvar messages = defineMessages({\n toggle_visible: {\n 'id': 'media_gallery.toggle_visible',\n 'defaultMessage': 'Toggle visibility'\n }\n});\n\nvar Item = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(Item, _React$PureComponent);\n\n function Item() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Item);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleMouseEnter = function (e) {\n if (_this.hoverToPlay()) {\n e.target.play();\n }\n }, _this.handleMouseLeave = function (e) {\n if (_this.hoverToPlay()) {\n e.target.pause();\n e.target.currentTime = 0;\n }\n }, _this.handleClick = function (e) {\n var _this$props = _this.props,\n index = _this$props.index,\n onClick = _this$props.onClick;\n\n\n if (_this.context.router && e.button === 0) {\n e.preventDefault();\n onClick(index);\n }\n\n e.stopPropagation();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Item.prototype.hoverToPlay = function hoverToPlay() {\n var attachment = this.props.attachment;\n\n return !autoPlayGif && attachment.get('type') === 'gifv';\n };\n\n Item.prototype.render = function render() {\n var _props = this.props,\n attachment = _props.attachment,\n index = _props.index,\n size = _props.size,\n standalone = _props.standalone;\n\n\n var width = 50;\n var height = 100;\n var top = 'auto';\n var left = 'auto';\n var bottom = 'auto';\n var right = 'auto';\n\n if (size === 1) {\n width = 100;\n }\n\n if (size === 4 || size === 3 && index > 0) {\n height = 50;\n }\n\n if (size === 2) {\n if (index === 0) {\n right = '2px';\n } else {\n left = '2px';\n }\n } else if (size === 3) {\n if (index === 0) {\n right = '2px';\n } else if (index > 0) {\n left = '2px';\n }\n\n if (index === 1) {\n bottom = '2px';\n } else if (index > 1) {\n top = '2px';\n }\n } else if (size === 4) {\n if (index === 0 || index === 2) {\n right = '2px';\n }\n\n if (index === 1 || index === 3) {\n left = '2px';\n }\n\n if (index < 2) {\n bottom = '2px';\n } else {\n top = '2px';\n }\n }\n\n var thumbnail = '';\n\n if (attachment.get('type') === 'image') {\n var previewUrl = attachment.get('preview_url');\n var previewWidth = attachment.getIn(['meta', 'small', 'width']);\n\n var originalUrl = attachment.get('url');\n var originalWidth = attachment.getIn(['meta', 'original', 'width']);\n\n var hasSize = typeof originalWidth === 'number' && typeof previewWidth === 'number';\n\n var srcSet = hasSize ? originalUrl + ' ' + originalWidth + 'w, ' + previewUrl + ' ' + previewWidth + 'w' : null;\n var sizes = hasSize ? '(min-width: 1025px) ' + 320 * (width / 100) + 'px, ' + width + 'vw' : null;\n\n thumbnail = _jsx('a', {\n className: 'media-gallery__item-thumbnail',\n href: attachment.get('remote_url') || originalUrl,\n onClick: this.handleClick,\n target: '_blank'\n }, void 0, _jsx('img', {\n src: previewUrl,\n srcSet: srcSet,\n sizes: sizes,\n alt: attachment.get('description'),\n title: attachment.get('description')\n }));\n } else if (attachment.get('type') === 'gifv') {\n var autoPlay = !isIOS() && autoPlayGif;\n\n thumbnail = _jsx('div', {\n className: classNames('media-gallery__gifv', { autoplay: autoPlay })\n }, void 0, _jsx('video', {\n className: 'media-gallery__item-gifv-thumbnail',\n 'aria-label': attachment.get('description'),\n role: 'application',\n src: attachment.get('url'),\n onClick: this.handleClick,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n autoPlay: autoPlay,\n loop: true,\n muted: true\n }), _jsx('span', {\n className: 'media-gallery__gifv__label'\n }, void 0, 'GIF'));\n }\n\n return _jsx('div', {\n className: classNames('media-gallery__item', { standalone: standalone }),\n style: { left: left, top: top, right: right, bottom: bottom, width: width + '%', height: height + '%' }\n }, attachment.get('id'), thumbnail);\n };\n\n return Item;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n standalone: false,\n index: 0,\n size: 1\n}, _temp2);\n\nvar MediaGallery = injectIntl(_class2 = (_temp4 = _class3 = function (_React$PureComponent2) {\n _inherits(MediaGallery, _React$PureComponent2);\n\n function MediaGallery() {\n var _temp3, _this2, _ret2;\n\n _classCallCheck(this, MediaGallery);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp3 = (_this2 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n visible: !_this2.props.sensitive\n }, _this2.handleOpen = function () {\n _this2.setState({ visible: !_this2.state.visible });\n }, _this2.handleClick = function (index) {\n _this2.props.onOpenMedia(_this2.props.media, index);\n }, _this2.handleRef = function (node) {\n if (node && _this2.isStandaloneEligible()) {\n // offsetWidth triggers a layout, so only calculate when we need to\n _this2.setState({\n width: node.offsetWidth\n });\n }\n }, _temp3), _possibleConstructorReturn(_this2, _ret2);\n }\n\n MediaGallery.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!is(nextProps.media, this.props.media)) {\n this.setState({ visible: !nextProps.sensitive });\n }\n };\n\n MediaGallery.prototype.isStandaloneEligible = function isStandaloneEligible() {\n var _props2 = this.props,\n media = _props2.media,\n standalone = _props2.standalone;\n\n return standalone && media.size === 1 && media.getIn([0, 'meta', 'small', 'aspect']);\n };\n\n MediaGallery.prototype.render = function render() {\n var _this3 = this;\n\n var _props3 = this.props,\n media = _props3.media,\n intl = _props3.intl,\n sensitive = _props3.sensitive,\n height = _props3.height;\n var _state = this.state,\n width = _state.width,\n visible = _state.visible;\n\n\n var children = void 0;\n\n var style = {};\n\n if (this.isStandaloneEligible()) {\n if (!visible && width) {\n // only need to forcibly set the height in \"sensitive\" mode\n style.height = width / this.props.media.getIn([0, 'meta', 'small', 'aspect']);\n } else {\n // layout automatically, using image's natural aspect ratio\n style.height = '';\n }\n } else {\n // crop the image\n style.height = height;\n }\n\n if (!visible) {\n var warning = void 0;\n\n if (sensitive) {\n warning = _jsx(FormattedMessage, {\n id: 'status.sensitive_warning',\n defaultMessage: 'Sensitive content'\n });\n } else {\n warning = _jsx(FormattedMessage, {\n id: 'status.media_hidden',\n defaultMessage: 'Media hidden'\n });\n }\n\n children = React.createElement(\n 'button',\n { className: 'media-spoiler', onClick: this.handleOpen, style: style, ref: this.handleRef },\n _jsx('span', {\n className: 'media-spoiler__warning'\n }, void 0, warning),\n _jsx('span', {\n className: 'media-spoiler__trigger'\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.sensitive_toggle',\n defaultMessage: 'Click to view'\n }))\n );\n } else {\n var size = media.take(4).size;\n\n if (this.isStandaloneEligible()) {\n children = _jsx(Item, {\n standalone: true,\n onClick: this.handleClick,\n attachment: media.get(0)\n });\n } else {\n children = media.take(4).map(function (attachment, i) {\n return _jsx(Item, {\n onClick: _this3.handleClick,\n attachment: attachment,\n index: i,\n size: size\n }, attachment.get('id'));\n });\n }\n }\n\n return _jsx('div', {\n className: 'media-gallery',\n style: style\n }, void 0, _jsx('div', {\n className: classNames('spoiler-button', { 'spoiler-button--visible': visible })\n }, void 0, _jsx(IconButton, {\n title: intl.formatMessage(messages.toggle_visible),\n icon: visible ? 'eye' : 'eye-slash',\n overlay: true,\n onClick: this.handleOpen\n })), children);\n };\n\n return MediaGallery;\n}(React.PureComponent), _class3.defaultProps = {\n standalone: false\n}, _temp4)) || _class2;\n\nexport { MediaGallery as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 316, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "name": "./app/javascript/mastodon/features/status/components/card.js", + "index": 706, + "index2": 696, + "size": 4186, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "issuerId": 655, + "issuerName": "./app/javascript/mastodon/containers/card_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 655, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "module": "./app/javascript/mastodon/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/containers/card_container.js", + "type": "harmony import", + "userRequest": "../features/status/components/card", + "loc": "8:0-54" + }, + { + "moduleId": 894, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/containers/card_container.js", + "module": "./app/javascript/mastodon/features/status/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/features/status/containers/card_container.js", + "type": "harmony import", + "userRequest": "../components/card", + "loc": "2:0-38" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\n\nimport punycode from 'punycode';\nimport classnames from 'classnames';\n\nvar IDNA_PREFIX = 'xn--';\n\nvar decodeIDNA = function decodeIDNA(domain) {\n return domain.split('.').map(function (part) {\n return part.indexOf(IDNA_PREFIX) === 0 ? punycode.decode(part.slice(IDNA_PREFIX.length)) : part;\n }).join('.');\n};\n\nvar getHostname = function getHostname(url) {\n var parser = document.createElement('a');\n parser.href = url;\n return parser.hostname;\n};\n\nvar Card = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(Card, _React$PureComponent);\n\n function Card() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Card);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n width: 0\n }, _this.setRef = function (c) {\n if (c) {\n _this.setState({ width: c.offsetWidth });\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Card.prototype.renderLink = function renderLink() {\n var _props = this.props,\n card = _props.card,\n maxDescription = _props.maxDescription;\n\n\n var image = '';\n var provider = card.get('provider_name');\n\n if (card.get('image')) {\n image = _jsx('div', {\n className: 'status-card__image'\n }, void 0, _jsx('img', {\n src: card.get('image'),\n alt: card.get('title'),\n className: 'status-card__image-image',\n width: card.get('width'),\n height: card.get('height')\n }));\n }\n\n if (provider.length < 1) {\n provider = decodeIDNA(getHostname(card.get('url')));\n }\n\n var className = classnames('status-card', {\n 'horizontal': card.get('width') > card.get('height')\n });\n\n return _jsx('a', {\n href: card.get('url'),\n className: className,\n target: '_blank',\n rel: 'noopener'\n }, void 0, image, _jsx('div', {\n className: 'status-card__content'\n }, void 0, _jsx('strong', {\n className: 'status-card__title',\n title: card.get('title')\n }, void 0, card.get('title')), _jsx('p', {\n className: 'status-card__description'\n }, void 0, (card.get('description') || '').substring(0, maxDescription)), _jsx('span', {\n className: 'status-card__host'\n }, void 0, provider)));\n };\n\n Card.prototype.renderPhoto = function renderPhoto() {\n var card = this.props.card;\n\n\n return _jsx('a', {\n href: card.get('url'),\n className: 'status-card-photo',\n target: '_blank',\n rel: 'noopener'\n }, void 0, _jsx('img', {\n src: card.get('url'),\n alt: card.get('title'),\n width: card.get('width'),\n height: card.get('height')\n }));\n };\n\n Card.prototype.renderVideo = function renderVideo() {\n var card = this.props.card;\n\n var content = { __html: card.get('html') };\n var width = this.state.width;\n\n var ratio = card.get('width') / card.get('height');\n var height = card.get('width') > card.get('height') ? width / ratio : width * ratio;\n\n return React.createElement('div', {\n ref: this.setRef,\n className: 'status-card-video',\n dangerouslySetInnerHTML: content,\n style: { height: height }\n });\n };\n\n Card.prototype.render = function render() {\n var card = this.props.card;\n\n\n if (card === null) {\n return null;\n }\n\n switch (card.get('type')) {\n case 'link':\n return this.renderLink();\n case 'photo':\n return this.renderPhoto();\n case 'video':\n return this.renderVideo();\n case 'rich':\n default:\n return null;\n }\n };\n\n return Card;\n}(React.PureComponent), _class.defaultProps = {\n maxDescription: 50\n}, _temp2);\nexport { Card as default };" + }, + { + "id": 317, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "name": "./node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "index": 707, + "index2": 695, + "size": 14658, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "issuerId": 316, + "issuerName": "./app/javascript/mastodon/features/status/components/card.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 316, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "module": "./app/javascript/mastodon/features/status/components/card.js", + "moduleName": "./app/javascript/mastodon/features/status/components/card.js", + "type": "harmony import", + "userRequest": "punycode", + "loc": "10:0-32" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function (root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module && !module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n * The `punycode` object.\n * @name punycode\n * @type Object\n */\n\tvar punycode,\n\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647,\n\t // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\t tMin = 1,\n\t tMax = 26,\n\t skew = 38,\n\t damp = 700,\n\t initialBias = 72,\n\t initialN = 128,\n\t // 0x80\n\tdelimiter = '-',\n\t // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\t regexNonASCII = /[^\\x20-\\x7E]/,\n\t // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g,\n\t // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\t floor = Math.floor,\n\t stringFromCharCode = String.fromCharCode,\n\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t\t// low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function (value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\n\t\t/** Cached calculation results */\n\t\tbaseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\n\t\t/** `inputLength` will hold the number of code points in `input`. */\n\t\tinputLength,\n\n\t\t/** Cached calculation results */\n\t\thandledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t\t});\n\t}\n\n\t/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n * A string representing the current Punycode.js version number.\n * @memberOf punycode\n * @type String\n */\n\t\t'version': '1.4.1',\n\t\t/**\n * An object of methods to convert from JavaScript's internal character\n * representation (UCS-2) to Unicode code points, and back.\n * @see \n * @memberOf punycode\n * @type Object\n */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n\t\tdefine('punycode', function () {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n})(this);" + }, + { + "id": 758, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "name": "./app/javascript/mastodon/features/status/index.js", + "index": 700, + "index2": 704, + "size": 11552, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../status", + "loc": "30:9-73" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchStatus } from '../../actions/statuses';\nimport MissingIndicator from '../../components/missing_indicator';\nimport DetailedStatus from './components/detailed_status';\nimport ActionBar from './components/action_bar';\nimport Column from '../ui/components/column';\nimport { favourite, unfavourite, reblog, unreblog, pin, unpin } from '../../actions/interactions';\nimport { replyCompose, mentionCompose } from '../../actions/compose';\nimport { deleteStatus } from '../../actions/statuses';\nimport { initReport } from '../../actions/reports';\nimport { makeGetStatus } from '../../selectors';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport ColumnBackButton from '../../components/column_back_button';\nimport StatusContainer from '../../containers/status_container';\nimport { openModal } from '../../actions/modal';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\nimport { boostModal, deleteModal } from '../../initial_state';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../../features/ui/util/fullscreen';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.params.statusId),\n ancestorsIds: state.getIn(['contexts', 'ancestors', props.params.statusId]),\n descendantsIds: state.getIn(['contexts', 'descendants', props.params.statusId])\n };\n };\n\n return mapStateToProps;\n};\n\nvar Status = (_dec = connect(makeMapStateToProps), injectIntl(_class = _dec(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Status, _ImmutablePureCompone);\n\n function Status() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Status);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n fullscreen: false\n }, _this.handleFavouriteClick = function (status) {\n if (status.get('favourited')) {\n _this.props.dispatch(unfavourite(status));\n } else {\n _this.props.dispatch(favourite(status));\n }\n }, _this.handlePin = function (status) {\n if (status.get('pinned')) {\n _this.props.dispatch(unpin(status));\n } else {\n _this.props.dispatch(pin(status));\n }\n }, _this.handleReplyClick = function (status) {\n _this.props.dispatch(replyCompose(status, _this.context.router.history));\n }, _this.handleModalReblog = function (status) {\n _this.props.dispatch(reblog(status));\n }, _this.handleReblogClick = function (status, e) {\n if (status.get('reblogged')) {\n _this.props.dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n _this.handleModalReblog(status);\n } else {\n _this.props.dispatch(openModal('BOOST', { status: status, onReblog: _this.handleModalReblog }));\n }\n }\n }, _this.handleDeleteClick = function (status) {\n var _this$props = _this.props,\n dispatch = _this$props.dispatch,\n intl = _this$props.intl;\n\n\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n }, _this.handleMentionClick = function (account, router) {\n _this.props.dispatch(mentionCompose(account, router));\n }, _this.handleOpenMedia = function (media, index) {\n _this.props.dispatch(openModal('MEDIA', { media: media, index: index }));\n }, _this.handleOpenVideo = function (media, time) {\n _this.props.dispatch(openModal('VIDEO', { media: media, time: time }));\n }, _this.handleReport = function (status) {\n _this.props.dispatch(initReport(status.get('account'), status));\n }, _this.handleEmbed = function (status) {\n _this.props.dispatch(openModal('EMBED', { url: status.get('url') }));\n }, _this.handleHotkeyMoveUp = function () {\n _this.handleMoveUp(_this.props.status.get('id'));\n }, _this.handleHotkeyMoveDown = function () {\n _this.handleMoveDown(_this.props.status.get('id'));\n }, _this.handleHotkeyReply = function (e) {\n e.preventDefault();\n _this.handleReplyClick(_this.props.status);\n }, _this.handleHotkeyFavourite = function () {\n _this.handleFavouriteClick(_this.props.status);\n }, _this.handleHotkeyBoost = function () {\n _this.handleReblogClick(_this.props.status);\n }, _this.handleHotkeyMention = function (e) {\n e.preventDefault();\n _this.handleMentionClick(_this.props.status);\n }, _this.handleHotkeyOpenProfile = function () {\n _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n }, _this.handleMoveUp = function (id) {\n var _this$props2 = _this.props,\n status = _this$props2.status,\n ancestorsIds = _this$props2.ancestorsIds,\n descendantsIds = _this$props2.descendantsIds;\n\n\n if (id === status.get('id')) {\n _this._selectChild(ancestorsIds.size - 1);\n } else {\n var index = ancestorsIds.indexOf(id);\n\n if (index === -1) {\n index = descendantsIds.indexOf(id);\n _this._selectChild(ancestorsIds.size + index);\n } else {\n _this._selectChild(index - 1);\n }\n }\n }, _this.handleMoveDown = function (id) {\n var _this$props3 = _this.props,\n status = _this$props3.status,\n ancestorsIds = _this$props3.ancestorsIds,\n descendantsIds = _this$props3.descendantsIds;\n\n\n if (id === status.get('id')) {\n _this._selectChild(ancestorsIds.size + 1);\n } else {\n var index = ancestorsIds.indexOf(id);\n\n if (index === -1) {\n index = descendantsIds.indexOf(id);\n _this._selectChild(ancestorsIds.size + index + 2);\n } else {\n _this._selectChild(index + 1);\n }\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.onFullScreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Status.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchStatus(this.props.params.statusId));\n };\n\n Status.prototype.componentDidMount = function componentDidMount() {\n attachFullscreenListener(this.onFullScreenChange);\n };\n\n Status.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n this._scrolledIntoView = false;\n this.props.dispatch(fetchStatus(nextProps.params.statusId));\n }\n };\n\n Status.prototype._selectChild = function _selectChild(index) {\n var element = this.node.querySelectorAll('.focusable')[index];\n\n if (element) {\n element.focus();\n }\n };\n\n Status.prototype.renderChildren = function renderChildren(list) {\n var _this2 = this;\n\n return list.map(function (id) {\n return _jsx(StatusContainer, {\n id: id,\n onMoveUp: _this2.handleMoveUp,\n onMoveDown: _this2.handleMoveDown\n }, id);\n });\n };\n\n Status.prototype.componentDidUpdate = function componentDidUpdate() {\n if (this._scrolledIntoView) {\n return;\n }\n\n var _props = this.props,\n status = _props.status,\n ancestorsIds = _props.ancestorsIds;\n\n\n if (status && ancestorsIds && ancestorsIds.size > 0) {\n var element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];\n\n element.scrollIntoView(true);\n this._scrolledIntoView = true;\n }\n };\n\n Status.prototype.componentWillUnmount = function componentWillUnmount() {\n detachFullscreenListener(this.onFullScreenChange);\n };\n\n Status.prototype.render = function render() {\n var ancestors = void 0,\n descendants = void 0;\n var _props2 = this.props,\n status = _props2.status,\n ancestorsIds = _props2.ancestorsIds,\n descendantsIds = _props2.descendantsIds;\n var fullscreen = this.state.fullscreen;\n\n\n if (status === null) {\n return _jsx(Column, {}, void 0, _jsx(ColumnBackButton, {}), _jsx(MissingIndicator, {}));\n }\n\n if (ancestorsIds && ancestorsIds.size > 0) {\n ancestors = _jsx('div', {}, void 0, this.renderChildren(ancestorsIds));\n }\n\n if (descendantsIds && descendantsIds.size > 0) {\n descendants = _jsx('div', {}, void 0, this.renderChildren(descendantsIds));\n }\n\n var handlers = {\n moveUp: this.handleHotkeyMoveUp,\n moveDown: this.handleHotkeyMoveDown,\n reply: this.handleHotkeyReply,\n favourite: this.handleHotkeyFavourite,\n boost: this.handleHotkeyBoost,\n mention: this.handleHotkeyMention,\n openProfile: this.handleHotkeyOpenProfile\n };\n\n return _jsx(Column, {}, void 0, _jsx(ColumnBackButton, {}), _jsx(ScrollContainer, {\n scrollKey: 'thread'\n }, void 0, React.createElement(\n 'div',\n { className: classNames('scrollable', 'detailed-status__wrapper', { fullscreen: fullscreen }), ref: this.setRef },\n ancestors,\n _jsx(HotKeys, {\n handlers: handlers\n }, void 0, _jsx('div', {\n className: 'focusable',\n tabIndex: '0'\n }, void 0, _jsx(DetailedStatus, {\n status: status,\n onOpenVideo: this.handleOpenVideo,\n onOpenMedia: this.handleOpenMedia\n }), _jsx(ActionBar, {\n status: status,\n onReply: this.handleReplyClick,\n onFavourite: this.handleFavouriteClick,\n onReblog: this.handleReblogClick,\n onDelete: this.handleDeleteClick,\n onMention: this.handleMentionClick,\n onReport: this.handleReport,\n onPin: this.handlePin,\n onEmbed: this.handleEmbed\n }))),\n descendants\n )));\n };\n\n return Status;\n}(ImmutablePureComponent), _class2.contextTypes = {\n router: PropTypes.object\n}, _class2.propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n status: ImmutablePropTypes.map,\n ancestorsIds: ImmutablePropTypes.list,\n descendantsIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class) || _class);\nexport { Status as default };" + }, + { + "id": 779, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "name": "./app/javascript/mastodon/components/column_back_button.js", + "index": 712, + "index2": 703, + "size": 1711, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "issuerId": 766, + "issuerName": "./app/javascript/mastodon/features/favourites/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "24:0-67" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "18:0-67" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "16:0-67" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButton = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButton, _React$PureComponent);\n\n function ColumnBackButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) {\n _this.context.router.history.push('/');\n } else {\n _this.context.router.history.goBack();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButton.prototype.render = function render() {\n return _jsx('button', {\n onClick: this.handleClick,\n className: 'column-back-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n }));\n };\n\n return ColumnBackButton;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButton as default };" + }, + { + "id": 780, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "name": "./app/javascript/mastodon/components/missing_indicator.js", + "index": 701, + "index2": 692, + "size": 405, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 24 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "issuerId": 768, + "issuerName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "14:0-66" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "4:0-66" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../../components/missing_indicator", + "loc": "13:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nvar MissingIndicator = function MissingIndicator() {\n return _jsx('div', {\n className: 'missing-indicator'\n }, void 0, _jsx('div', {}, void 0, _jsx(FormattedMessage, {\n id: 'missing_indicator.label',\n defaultMessage: 'Not found'\n })));\n};\n\nexport default MissingIndicator;" + }, + { + "id": 892, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "name": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "index": 702, + "index2": 699, + "size": 5956, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "issuerId": 758, + "issuerName": "./app/javascript/mastodon/features/status/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "./components/detailed_status", + "loc": "15:0-58" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport StatusContent from '../../../components/status_content';\nimport MediaGallery from '../../../components/media_gallery';\nimport AttachmentList from '../../../components/attachment_list';\nimport { Link } from 'react-router-dom';\nimport { FormattedDate, FormattedNumber } from 'react-intl';\nimport CardContainer from '../containers/card_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Video from '../../video';\n\nvar DetailedStatus = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(DetailedStatus, _ImmutablePureCompone);\n\n function DetailedStatus() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, DetailedStatus);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleAccountClick = function (e) {\n if (e.button === 0) {\n e.preventDefault();\n _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n }\n\n e.stopPropagation();\n }, _this.handleOpenVideo = function (startTime) {\n _this.props.onOpenVideo(_this.props.status.getIn(['media_attachments', 0]), startTime);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n DetailedStatus.prototype.render = function render() {\n var status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;\n\n var media = '';\n var applicationLink = '';\n var reblogLink = '';\n var reblogIcon = 'retweet';\n\n if (status.get('media_attachments').size > 0) {\n if (status.get('media_attachments').some(function (item) {\n return item.get('type') === 'unknown';\n })) {\n media = _jsx(AttachmentList, {\n media: status.get('media_attachments')\n });\n } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n var video = status.getIn(['media_attachments', 0]);\n\n media = _jsx(Video, {\n preview: video.get('preview_url'),\n src: video.get('url'),\n width: 300,\n height: 150,\n onOpenVideo: this.handleOpenVideo,\n sensitive: status.get('sensitive')\n });\n } else {\n media = _jsx(MediaGallery, {\n standalone: true,\n sensitive: status.get('sensitive'),\n media: status.get('media_attachments'),\n height: 300,\n onOpenMedia: this.props.onOpenMedia\n });\n }\n } else if (status.get('spoiler_text').length === 0) {\n media = _jsx(CardContainer, {\n statusId: status.get('id')\n });\n }\n\n if (status.get('application')) {\n applicationLink = _jsx('span', {}, void 0, ' \\xB7 ', _jsx('a', {\n className: 'detailed-status__application',\n href: status.getIn(['application', 'website']),\n target: '_blank',\n rel: 'noopener'\n }, void 0, status.getIn(['application', 'name'])));\n }\n\n if (status.get('visibility') === 'direct') {\n reblogIcon = 'envelope';\n } else if (status.get('visibility') === 'private') {\n reblogIcon = 'lock';\n }\n\n if (status.get('visibility') === 'private') {\n reblogLink = _jsx('i', {\n className: 'fa fa-' + reblogIcon\n });\n } else {\n reblogLink = _jsx(Link, {\n to: '/statuses/' + status.get('id') + '/reblogs',\n className: 'detailed-status__link'\n }, void 0, _jsx('i', {\n className: 'fa fa-' + reblogIcon\n }), _jsx('span', {\n className: 'detailed-status__reblogs'\n }, void 0, _jsx(FormattedNumber, {\n value: status.get('reblogs_count')\n })));\n }\n\n return _jsx('div', {\n className: 'detailed-status'\n }, void 0, _jsx('a', {\n href: status.getIn(['account', 'url']),\n onClick: this.handleAccountClick,\n className: 'detailed-status__display-name'\n }, void 0, _jsx('div', {\n className: 'detailed-status__display-avatar'\n }, void 0, _jsx(Avatar, {\n account: status.get('account'),\n size: 48\n })), _jsx(DisplayName, {\n account: status.get('account')\n })), _jsx(StatusContent, {\n status: status\n }), media, _jsx('div', {\n className: 'detailed-status__meta'\n }, void 0, _jsx('a', {\n className: 'detailed-status__datetime',\n href: status.get('url'),\n target: '_blank',\n rel: 'noopener'\n }, void 0, _jsx(FormattedDate, {\n value: new Date(status.get('created_at')),\n hour12: false,\n year: 'numeric',\n month: 'short',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit'\n })), applicationLink, ' \\xB7 ', reblogLink, ' \\xB7 ', _jsx(Link, {\n to: '/statuses/' + status.get('id') + '/favourites',\n className: 'detailed-status__link'\n }, void 0, _jsx('i', {\n className: 'fa fa-star'\n }), _jsx('span', {\n className: 'detailed-status__favorites'\n }, void 0, _jsx(FormattedNumber, {\n value: status.get('favourites_count')\n })))));\n };\n\n return DetailedStatus;\n}(ImmutablePureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.propTypes = {\n status: ImmutablePropTypes.map.isRequired,\n onOpenMedia: PropTypes.func.isRequired,\n onOpenVideo: PropTypes.func.isRequired\n}, _temp2);\nexport { DetailedStatus as default };" + }, + { + "id": 893, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/attachment_list.js", + "name": "./app/javascript/mastodon/components/attachment_list.js", + "index": 704, + "index2": 694, + "size": 1625, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "issuerId": 892, + "issuerName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "../../../components/attachment_list", + "loc": "15:0-65" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar filename = function filename(url) {\n return url.split('/').pop().split('#')[0].split('?')[0];\n};\n\nvar AttachmentList = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(AttachmentList, _ImmutablePureCompone);\n\n function AttachmentList() {\n _classCallCheck(this, AttachmentList);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n AttachmentList.prototype.render = function render() {\n var media = this.props.media;\n\n\n return _jsx('div', {\n className: 'attachment-list'\n }, void 0, _jsx('div', {\n className: 'attachment-list__icon'\n }, void 0, _jsx('i', {\n className: 'fa fa-link'\n })), _jsx('ul', {\n className: 'attachment-list__list'\n }, void 0, media.map(function (attachment) {\n return _jsx('li', {}, attachment.get('id'), _jsx('a', {\n href: attachment.get('remote_url'),\n target: '_blank',\n rel: 'noopener'\n }, void 0, filename(attachment.get('remote_url'))));\n })));\n };\n\n return AttachmentList;\n}(ImmutablePureComponent), _class.propTypes = {\n media: ImmutablePropTypes.list.isRequired\n}, _temp);\nexport { AttachmentList as default };" + }, + { + "id": 894, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/containers/card_container.js", + "name": "./app/javascript/mastodon/features/status/containers/card_container.js", + "index": 705, + "index2": 697, + "size": 288, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "issuerId": 892, + "issuerName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "../containers/card_container", + "loc": "18:0-57" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import { connect } from 'react-redux';\nimport Card from '../components/card';\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var statusId = _ref.statusId;\n return {\n card: state.getIn(['cards', statusId], null)\n };\n};\n\nexport default connect(mapStateToProps)(Card);" + }, + { + "id": 895, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "name": "./app/javascript/mastodon/features/status/components/action_bar.js", + "index": 709, + "index2": 700, + "size": 6071, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "issuerId": 758, + "issuerName": "./app/javascript/mastodon/features/status/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "./components/action_bar", + "loc": "16:0-48" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport IconButton from '../../../components/icon_button';\n\nimport DropdownMenuContainer from '../../../containers/dropdown_menu_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nvar messages = defineMessages({\n delete: {\n 'id': 'status.delete',\n 'defaultMessage': 'Delete'\n },\n mention: {\n 'id': 'status.mention',\n 'defaultMessage': 'Mention @{name}'\n },\n reply: {\n 'id': 'status.reply',\n 'defaultMessage': 'Reply'\n },\n reblog: {\n 'id': 'status.reblog',\n 'defaultMessage': 'Boost'\n },\n cannot_reblog: {\n 'id': 'status.cannot_reblog',\n 'defaultMessage': 'This post cannot be boosted'\n },\n favourite: {\n 'id': 'status.favourite',\n 'defaultMessage': 'Favourite'\n },\n report: {\n 'id': 'status.report',\n 'defaultMessage': 'Report @{name}'\n },\n share: {\n 'id': 'status.share',\n 'defaultMessage': 'Share'\n },\n pin: {\n 'id': 'status.pin',\n 'defaultMessage': 'Pin on profile'\n },\n unpin: {\n 'id': 'status.unpin',\n 'defaultMessage': 'Unpin from profile'\n },\n embed: {\n 'id': 'status.embed',\n 'defaultMessage': 'Embed'\n }\n});\n\nvar ActionBar = injectIntl(_class = (_temp2 = _class2 = function (_React$PureComponent) {\n _inherits(ActionBar, _React$PureComponent);\n\n function ActionBar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ActionBar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleReplyClick = function () {\n _this.props.onReply(_this.props.status);\n }, _this.handleReblogClick = function (e) {\n _this.props.onReblog(_this.props.status, e);\n }, _this.handleFavouriteClick = function () {\n _this.props.onFavourite(_this.props.status);\n }, _this.handleDeleteClick = function () {\n _this.props.onDelete(_this.props.status);\n }, _this.handleMentionClick = function () {\n _this.props.onMention(_this.props.status.get('account'), _this.context.router.history);\n }, _this.handleReport = function () {\n _this.props.onReport(_this.props.status);\n }, _this.handlePinClick = function () {\n _this.props.onPin(_this.props.status);\n }, _this.handleShare = function () {\n navigator.share({\n text: _this.props.status.get('search_index'),\n url: _this.props.status.get('url')\n });\n }, _this.handleEmbed = function () {\n _this.props.onEmbed(_this.props.status);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ActionBar.prototype.render = function render() {\n var _props = this.props,\n status = _props.status,\n intl = _props.intl;\n\n\n var publicStatus = ['public', 'unlisted'].includes(status.get('visibility'));\n\n var menu = [];\n\n if (publicStatus) {\n menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });\n }\n\n if (me === status.getIn(['account', 'id'])) {\n if (publicStatus) {\n menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick });\n }\n\n menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick });\n } else {\n menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick });\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport });\n }\n\n var shareButton = 'share' in navigator && status.get('visibility') === 'public' && _jsx('div', {\n className: 'detailed-status__button'\n }, void 0, _jsx(IconButton, {\n title: intl.formatMessage(messages.share),\n icon: 'share-alt',\n onClick: this.handleShare\n }));\n\n var reblogIcon = 'retweet';\n if (status.get('visibility') === 'direct') reblogIcon = 'envelope';else if (status.get('visibility') === 'private') reblogIcon = 'lock';\n\n var reblog_disabled = status.get('visibility') === 'direct' || status.get('visibility') === 'private';\n\n return _jsx('div', {\n className: 'detailed-status__action-bar'\n }, void 0, _jsx('div', {\n className: 'detailed-status__button'\n }, void 0, _jsx(IconButton, {\n title: intl.formatMessage(messages.reply),\n icon: status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all',\n onClick: this.handleReplyClick\n })), _jsx('div', {\n className: 'detailed-status__button'\n }, void 0, _jsx(IconButton, {\n disabled: reblog_disabled,\n active: status.get('reblogged'),\n title: reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog),\n icon: reblogIcon,\n onClick: this.handleReblogClick\n })), _jsx('div', {\n className: 'detailed-status__button'\n }, void 0, _jsx(IconButton, {\n animate: true,\n active: status.get('favourited'),\n title: intl.formatMessage(messages.favourite),\n icon: 'star',\n onClick: this.handleFavouriteClick,\n activeStyle: { color: '#ca8f04' }\n })), shareButton, _jsx('div', {\n className: 'detailed-status__action-bar-dropdown'\n }, void 0, _jsx(DropdownMenuContainer, {\n size: 18,\n icon: 'ellipsis-h',\n items: menu,\n direction: 'left',\n ariaLabel: 'More'\n })));\n };\n\n return ActionBar;\n}(React.PureComponent), _class2.contextTypes = {\n router: PropTypes.object\n}, _temp2)) || _class;\n\nexport { ActionBar as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "30:9-73", + "name": "features/status", + "reasons": [] + } + ] + }, + { + "id": 14, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 39201, + "names": [ + "features/following" + ], + "files": [ + "features/following-9060b3726e6ad25f3621.js", + "features/following-9060b3726e6ad25f3621.js.map" + ], + "hash": "9060b3726e6ad25f3621", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 764, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "name": "./app/javascript/mastodon/features/following/index.js", + "index": 727, + "index2": 719, + "size": 4180, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 14 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../following", + "loc": "54:9-79" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport { fetchAccount, fetchFollowing, expandFollowing } from '../../actions/accounts';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from '../../containers/account_container';\nimport Column from '../ui/components/column';\nimport HeaderContainer from '../account_timeline/containers/header_container';\nimport LoadMore from '../../components/load_more';\nimport ColumnBackButton from '../../components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar mapStateToProps = function mapStateToProps(state, props) {\n return {\n accountIds: state.getIn(['user_lists', 'following', props.params.accountId, 'items']),\n hasMore: !!state.getIn(['user_lists', 'following', props.params.accountId, 'next'])\n };\n};\n\nvar Following = (_dec = connect(mapStateToProps), _dec(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Following, _ImmutablePureCompone);\n\n function Following() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Following);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleScroll = function (e) {\n var _e$target = e.target,\n scrollTop = _e$target.scrollTop,\n scrollHeight = _e$target.scrollHeight,\n clientHeight = _e$target.clientHeight;\n\n\n if (scrollTop === scrollHeight - clientHeight && _this.props.hasMore) {\n _this.props.dispatch(expandFollowing(_this.props.params.accountId));\n }\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.dispatch(expandFollowing(_this.props.params.accountId));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Following.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(fetchFollowing(this.props.params.accountId));\n };\n\n Following.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(fetchFollowing(nextProps.params.accountId));\n }\n };\n\n Following.prototype.render = function render() {\n var _props = this.props,\n accountIds = _props.accountIds,\n hasMore = _props.hasMore;\n\n\n var loadMore = null;\n\n if (!accountIds) {\n return _jsx(Column, {}, void 0, _jsx(LoadingIndicator, {}));\n }\n\n if (hasMore) {\n loadMore = _jsx(LoadMore, {\n onClick: this.handleLoadMore\n });\n }\n\n return _jsx(Column, {}, void 0, _jsx(ColumnBackButton, {}), _jsx(ScrollContainer, {\n scrollKey: 'following'\n }, void 0, _jsx('div', {\n className: 'scrollable',\n onScroll: this.handleScroll\n }, void 0, _jsx('div', {\n className: 'following'\n }, void 0, _jsx(HeaderContainer, {\n accountId: this.props.params.accountId\n }), accountIds.map(function (id) {\n return _jsx(AccountContainer, {\n id: id,\n withNote: false\n }, id);\n }), loadMore))));\n };\n\n return Following;\n}(ImmutablePureComponent), _class2.propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n hasMore: PropTypes.bool\n}, _temp2)) || _class);\nexport { Following as default };" + }, + { + "id": 777, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "name": "./app/javascript/mastodon/containers/account_container.js", + "index": 534, + "index2": 524, + "size": 2429, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "issuerId": 882, + "issuerName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "11:0-69" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "12:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));" + }, + { + "id": 778, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "name": "./app/javascript/mastodon/components/account.js", + "index": 535, + "index2": 523, + "size": 4637, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "issuerId": 777, + "issuerName": "./app/javascript/mastodon/containers/account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../components/account", + "loc": "6:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nvar messages = defineMessages({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Account);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return _jsx('div', {});\n }\n\n if (hidden) {\n return _jsx('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = _jsx(IconButton, {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = _jsx(IconButton, {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return _jsx('div', {\n className: 'account'\n }, void 0, _jsx('div', {\n className: 'account__wrapper'\n }, void 0, _jsx(Permalink, {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), _jsx('div', {\n className: 'account__avatar-wrapper'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 36\n })), _jsx(DisplayName, {\n account: account\n })), _jsx('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(ImmutablePureComponent), _class2.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool\n}, _temp2)) || _class;\n\nexport { Account as default };" + }, + { + "id": 779, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "name": "./app/javascript/mastodon/components/column_back_button.js", + "index": 712, + "index2": 703, + "size": 1711, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "issuerId": 766, + "issuerName": "./app/javascript/mastodon/features/favourites/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "24:0-67" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "18:0-67" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "16:0-67" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButton = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButton, _React$PureComponent);\n\n function ColumnBackButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) {\n _this.context.router.history.push('/');\n } else {\n _this.context.router.history.goBack();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButton.prototype.render = function render() {\n return _jsx('button', {\n onClick: this.handleClick,\n className: 'column-back-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n }));\n };\n\n return ColumnBackButton;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButton as default };" + }, + { + "id": 780, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "name": "./app/javascript/mastodon/components/missing_indicator.js", + "index": 701, + "index2": 692, + "size": 405, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 24 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "issuerId": 768, + "issuerName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "14:0-66" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "4:0-66" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../../components/missing_indicator", + "loc": "13:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nvar MissingIndicator = function MissingIndicator() {\n return _jsx('div', {\n className: 'missing-indicator'\n }, void 0, _jsx('div', {}, void 0, _jsx(FormattedMessage, {\n id: 'missing_indicator.label',\n defaultMessage: 'Not found'\n })));\n};\n\nexport default MissingIndicator;" + }, + { + "id": 781, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "name": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "index": 720, + "index2": 714, + "size": 4820, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "issuerId": 761, + "issuerName": "./app/javascript/mastodon/features/account_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "./containers/header_container", + "loc": "17:0-60" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "20:0-78" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "17:0-78" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "17:0-78" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { makeGetAccount } from '../../../selectors';\nimport Header from '../components/header';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../../../actions/accounts';\nimport { mentionCompose } from '../../../actions/compose';\nimport { initReport } from '../../../actions/reports';\nimport { openModal } from '../../../actions/modal';\nimport { blockDomain, unblockDomain } from '../../../actions/domain_blocks';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { unfollowModal } from '../../../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n },\n blockDomainConfirm: {\n 'id': 'confirmations.domain_block.confirm',\n 'defaultMessage': 'Hide entire domain'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, _ref) {\n var accountId = _ref.accountId;\n return {\n account: getAccount(state, accountId)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref2) {\n var intl = _ref2.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onReport: function onReport(account) {\n dispatch(initReport(account));\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n }\n },\n onBlockDomain: function onBlockDomain(domain, accountId) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.domain_block.message',\n defaultMessage: 'Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.',\n values: { domain: _jsx('strong', {}, void 0, domain) }\n }),\n confirm: intl.formatMessage(messages.blockDomainConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockDomain(domain, accountId));\n }\n }));\n },\n onUnblockDomain: function onUnblockDomain(domain, accountId) {\n dispatch(unblockDomain(domain, accountId));\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Header));" + }, + { + "id": 782, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "name": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "index": 721, + "index2": 713, + "size": 3218, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "issuerId": 781, + "issuerName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../components/header", + "loc": "5:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport InnerHeader from '../../account/components/header';\nimport ActionBar from '../../account/components/action_bar';\nimport MissingIndicator from '../../../components/missing_indicator';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar Header = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(Header, _ImmutablePureCompone);\n\n function Header() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Header);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMention = function () {\n _this.props.onMention(_this.props.account, _this.context.router.history);\n }, _this.handleReport = function () {\n _this.props.onReport(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _this.handleBlockDomain = function () {\n var domain = _this.props.account.get('acct').split('@')[1];\n\n if (!domain) return;\n\n _this.props.onBlockDomain(domain, _this.props.account.get('id'));\n }, _this.handleUnblockDomain = function () {\n var domain = _this.props.account.get('acct').split('@')[1];\n\n if (!domain) return;\n\n _this.props.onUnblockDomain(domain, _this.props.account.get('id'));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Header.prototype.render = function render() {\n var account = this.props.account;\n\n\n if (account === null) {\n return _jsx(MissingIndicator, {});\n }\n\n return _jsx('div', {\n className: 'account-timeline__header'\n }, void 0, _jsx(InnerHeader, {\n account: account,\n onFollow: this.handleFollow\n }), _jsx(ActionBar, {\n account: account,\n onBlock: this.handleBlock,\n onMention: this.handleMention,\n onReport: this.handleReport,\n onMute: this.handleMute,\n onBlockDomain: this.handleBlockDomain,\n onUnblockDomain: this.handleUnblockDomain\n }));\n };\n\n return Header;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n onReport: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n onBlockDomain: PropTypes.func.isRequired,\n onUnblockDomain: PropTypes.func.isRequired\n}, _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { Header as default };" + }, + { + "id": 783, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "name": "./app/javascript/mastodon/features/account/components/header.js", + "index": 722, + "index2": 711, + "size": 5925, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "issuerId": 782, + "issuerName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../account/components/header", + "loc": "11:0-58" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2, _class2, _class3, _temp3;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { autoPlayGif, me } from '../../../initial_state';\n\nvar messages = defineMessages({\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval. Click to cancel follow request'\n }\n});\n\nvar Avatar = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(Avatar, _ImmutablePureCompone);\n\n function Avatar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Avatar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n isHovered: false\n }, _this.handleMouseOver = function () {\n if (_this.state.isHovered) return;\n _this.setState({ isHovered: true });\n }, _this.handleMouseOut = function () {\n if (!_this.state.isHovered) return;\n _this.setState({ isHovered: false });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Avatar.prototype.render = function render() {\n var _this2 = this;\n\n var account = this.props.account;\n var isHovered = this.state.isHovered;\n\n\n return _jsx(Motion, {\n defaultStyle: { radius: 90 },\n style: { radius: spring(isHovered ? 30 : 90, { stiffness: 180, damping: 12 }) }\n }, void 0, function (_ref) {\n var radius = _ref.radius;\n return _jsx('a', {\n href: account.get('url'),\n className: 'account__header__avatar',\n role: 'presentation',\n target: '_blank',\n rel: 'noopener',\n style: { borderRadius: radius + 'px', backgroundImage: 'url(' + (autoPlayGif || isHovered ? account.get('avatar') : account.get('avatar_static')) + ')' },\n onMouseOver: _this2.handleMouseOver,\n onMouseOut: _this2.handleMouseOut,\n onFocus: _this2.handleMouseOver,\n onBlur: _this2.handleMouseOut\n }, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, account.get('acct')));\n });\n };\n\n return Avatar;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map.isRequired\n}, _temp2);\n\nvar Header = injectIntl(_class2 = (_temp3 = _class3 = function (_ImmutablePureCompone2) {\n _inherits(Header, _ImmutablePureCompone2);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone2.apply(this, arguments));\n }\n\n Header.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl;\n\n\n if (!account) {\n return null;\n }\n\n var info = '';\n var actionBtn = '';\n var lockedIcon = '';\n\n if (me !== account.get('id') && account.getIn(['relationship', 'followed_by'])) {\n info = _jsx('span', {\n className: 'account--follows-info'\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.follows_you',\n defaultMessage: 'Follows you'\n }));\n }\n\n if (me !== account.get('id')) {\n if (account.getIn(['relationship', 'requested'])) {\n actionBtn = _jsx('div', {\n className: 'account--action-button'\n }, void 0, _jsx(IconButton, {\n size: 26,\n active: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested),\n onClick: this.props.onFollow\n }));\n } else if (!account.getIn(['relationship', 'blocking'])) {\n actionBtn = _jsx('div', {\n className: 'account--action-button'\n }, void 0, _jsx(IconButton, {\n size: 26,\n icon: account.getIn(['relationship', 'following']) ? 'user-times' : 'user-plus',\n active: account.getIn(['relationship', 'following']),\n title: intl.formatMessage(account.getIn(['relationship', 'following']) ? messages.unfollow : messages.follow),\n onClick: this.props.onFollow\n }));\n }\n }\n\n if (account.get('locked')) {\n lockedIcon = _jsx('i', {\n className: 'fa fa-lock'\n });\n }\n\n var content = { __html: account.get('note_emojified') };\n var displayNameHtml = { __html: account.get('display_name_html') };\n\n return _jsx('div', {\n className: 'account__header',\n style: { backgroundImage: 'url(' + account.get('header') + ')' }\n }, void 0, _jsx('div', {}, void 0, _jsx(Avatar, {\n account: account\n }), _jsx('span', {\n className: 'account__header__display-name',\n dangerouslySetInnerHTML: displayNameHtml\n }), _jsx('span', {\n className: 'account__header__username'\n }, void 0, '@', account.get('acct'), ' ', lockedIcon), _jsx('div', {\n className: 'account__header__content',\n dangerouslySetInnerHTML: content\n }), info, actionBtn));\n };\n\n return Header;\n}(ImmutablePureComponent), _class3.propTypes = {\n account: ImmutablePropTypes.map,\n onFollow: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp3)) || _class2;\n\nexport { Header as default };" + }, + { + "id": 784, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "name": "./app/javascript/mastodon/features/account/components/action_bar.js", + "index": 723, + "index2": 712, + "size": 6495, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "issuerId": 782, + "issuerName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../account/components/action_bar", + "loc": "12:0-60" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\n\nimport DropdownMenuContainer from '../../../containers/dropdown_menu_container';\nimport { Link } from 'react-router-dom';\nimport { defineMessages, injectIntl, FormattedMessage, FormattedNumber } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nvar messages = defineMessages({\n mention: {\n 'id': 'account.mention',\n 'defaultMessage': 'Mention @{name}'\n },\n edit_profile: {\n 'id': 'account.edit_profile',\n 'defaultMessage': 'Edit profile'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n },\n block: {\n 'id': 'account.block',\n 'defaultMessage': 'Block @{name}'\n },\n mute: {\n 'id': 'account.mute',\n 'defaultMessage': 'Mute @{name}'\n },\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n report: {\n 'id': 'account.report',\n 'defaultMessage': 'Report @{name}'\n },\n share: {\n 'id': 'account.share',\n 'defaultMessage': 'Share @{name}\\'s profile'\n },\n media: {\n 'id': 'account.media',\n 'defaultMessage': 'Media'\n },\n blockDomain: {\n 'id': 'account.block_domain',\n 'defaultMessage': 'Hide everything from {domain}'\n },\n unblockDomain: {\n 'id': 'account.unblock_domain',\n 'defaultMessage': 'Unhide {domain}'\n }\n});\n\nvar ActionBar = injectIntl(_class = function (_React$PureComponent) {\n _inherits(ActionBar, _React$PureComponent);\n\n function ActionBar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ActionBar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleShare = function () {\n navigator.share({\n url: _this.props.account.get('url')\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ActionBar.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl;\n\n\n var menu = [];\n var extraInfo = '';\n\n menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.props.onMention });\n if ('share' in navigator) {\n menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare });\n }\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.media), to: '/accounts/' + account.get('id') + '/media' });\n menu.push(null);\n\n if (account.get('id') === me) {\n menu.push({ text: intl.formatMessage(messages.edit_profile), href: '/settings/profile' });\n } else {\n if (account.getIn(['relationship', 'muting'])) {\n menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.props.onMute });\n } else {\n menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.props.onMute });\n }\n\n if (account.getIn(['relationship', 'blocking'])) {\n menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.props.onBlock });\n } else {\n menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.props.onBlock });\n }\n\n menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport });\n }\n\n if (account.get('acct') !== account.get('username')) {\n var domain = account.get('acct').split('@')[1];\n\n extraInfo = _jsx('div', {\n className: 'account__disclaimer'\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.disclaimer_full',\n defaultMessage: 'Information below may reflect the user\\'s profile incompletely.'\n }), ' ', _jsx('a', {\n target: '_blank',\n rel: 'noopener',\n href: account.get('url')\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.view_full_profile',\n defaultMessage: 'View full profile'\n })));\n\n menu.push(null);\n\n if (account.getIn(['relationship', 'domain_blocking'])) {\n menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain: domain }), action: this.props.onUnblockDomain });\n } else {\n menu.push({ text: intl.formatMessage(messages.blockDomain, { domain: domain }), action: this.props.onBlockDomain });\n }\n }\n\n return _jsx('div', {}, void 0, extraInfo, _jsx('div', {\n className: 'account__action-bar'\n }, void 0, _jsx('div', {\n className: 'account__action-bar-dropdown'\n }, void 0, _jsx(DropdownMenuContainer, {\n items: menu,\n icon: 'bars',\n size: 24,\n direction: 'right'\n })), _jsx('div', {\n className: 'account__action-bar-links'\n }, void 0, _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id')\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.posts',\n defaultMessage: 'Posts'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('statuses_count')\n }))), _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id') + '/following'\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.follows',\n defaultMessage: 'Follows'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('following_count')\n }))), _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id') + '/followers'\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.followers',\n defaultMessage: 'Followers'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('followers_count')\n }))))));\n };\n\n return ActionBar;\n}(React.PureComponent)) || _class;\n\nexport { ActionBar as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "54:9-79", + "name": "features/following", + "reasons": [] + } + ] + }, + { + "id": 15, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 39201, + "names": [ + "features/followers" + ], + "files": [ + "features/followers-6716b8606f70dfa12ed7.js", + "features/followers-6716b8606f70dfa12ed7.js.map" + ], + "hash": "6716b8606f70dfa12ed7", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 763, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "name": "./app/javascript/mastodon/features/followers/index.js", + "index": 726, + "index2": 718, + "size": 4180, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 15 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../followers", + "loc": "50:9-79" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport { fetchAccount, fetchFollowers, expandFollowers } from '../../actions/accounts';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from '../../containers/account_container';\nimport Column from '../ui/components/column';\nimport HeaderContainer from '../account_timeline/containers/header_container';\nimport LoadMore from '../../components/load_more';\nimport ColumnBackButton from '../../components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar mapStateToProps = function mapStateToProps(state, props) {\n return {\n accountIds: state.getIn(['user_lists', 'followers', props.params.accountId, 'items']),\n hasMore: !!state.getIn(['user_lists', 'followers', props.params.accountId, 'next'])\n };\n};\n\nvar Followers = (_dec = connect(mapStateToProps), _dec(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Followers, _ImmutablePureCompone);\n\n function Followers() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Followers);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleScroll = function (e) {\n var _e$target = e.target,\n scrollTop = _e$target.scrollTop,\n scrollHeight = _e$target.scrollHeight,\n clientHeight = _e$target.clientHeight;\n\n\n if (scrollTop === scrollHeight - clientHeight && _this.props.hasMore) {\n _this.props.dispatch(expandFollowers(_this.props.params.accountId));\n }\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.dispatch(expandFollowers(_this.props.params.accountId));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Followers.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(fetchFollowers(this.props.params.accountId));\n };\n\n Followers.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(fetchFollowers(nextProps.params.accountId));\n }\n };\n\n Followers.prototype.render = function render() {\n var _props = this.props,\n accountIds = _props.accountIds,\n hasMore = _props.hasMore;\n\n\n var loadMore = null;\n\n if (!accountIds) {\n return _jsx(Column, {}, void 0, _jsx(LoadingIndicator, {}));\n }\n\n if (hasMore) {\n loadMore = _jsx(LoadMore, {\n onClick: this.handleLoadMore\n });\n }\n\n return _jsx(Column, {}, void 0, _jsx(ColumnBackButton, {}), _jsx(ScrollContainer, {\n scrollKey: 'followers'\n }, void 0, _jsx('div', {\n className: 'scrollable',\n onScroll: this.handleScroll\n }, void 0, _jsx('div', {\n className: 'followers'\n }, void 0, _jsx(HeaderContainer, {\n accountId: this.props.params.accountId\n }), accountIds.map(function (id) {\n return _jsx(AccountContainer, {\n id: id,\n withNote: false\n }, id);\n }), loadMore))));\n };\n\n return Followers;\n}(ImmutablePureComponent), _class2.propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n hasMore: PropTypes.bool\n}, _temp2)) || _class);\nexport { Followers as default };" + }, + { + "id": 777, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "name": "./app/javascript/mastodon/containers/account_container.js", + "index": 534, + "index2": 524, + "size": 2429, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "issuerId": 882, + "issuerName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "11:0-69" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "12:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));" + }, + { + "id": 778, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "name": "./app/javascript/mastodon/components/account.js", + "index": 535, + "index2": 523, + "size": 4637, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "issuerId": 777, + "issuerName": "./app/javascript/mastodon/containers/account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../components/account", + "loc": "6:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nvar messages = defineMessages({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Account);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return _jsx('div', {});\n }\n\n if (hidden) {\n return _jsx('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = _jsx(IconButton, {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = _jsx(IconButton, {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return _jsx('div', {\n className: 'account'\n }, void 0, _jsx('div', {\n className: 'account__wrapper'\n }, void 0, _jsx(Permalink, {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), _jsx('div', {\n className: 'account__avatar-wrapper'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 36\n })), _jsx(DisplayName, {\n account: account\n })), _jsx('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(ImmutablePureComponent), _class2.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool\n}, _temp2)) || _class;\n\nexport { Account as default };" + }, + { + "id": 779, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "name": "./app/javascript/mastodon/components/column_back_button.js", + "index": 712, + "index2": 703, + "size": 1711, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "issuerId": 766, + "issuerName": "./app/javascript/mastodon/features/favourites/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "24:0-67" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "18:0-67" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "16:0-67" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButton = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButton, _React$PureComponent);\n\n function ColumnBackButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) {\n _this.context.router.history.push('/');\n } else {\n _this.context.router.history.goBack();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButton.prototype.render = function render() {\n return _jsx('button', {\n onClick: this.handleClick,\n className: 'column-back-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n }));\n };\n\n return ColumnBackButton;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButton as default };" + }, + { + "id": 780, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "name": "./app/javascript/mastodon/components/missing_indicator.js", + "index": 701, + "index2": 692, + "size": 405, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 24 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "issuerId": 768, + "issuerName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "14:0-66" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "4:0-66" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../../components/missing_indicator", + "loc": "13:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nvar MissingIndicator = function MissingIndicator() {\n return _jsx('div', {\n className: 'missing-indicator'\n }, void 0, _jsx('div', {}, void 0, _jsx(FormattedMessage, {\n id: 'missing_indicator.label',\n defaultMessage: 'Not found'\n })));\n};\n\nexport default MissingIndicator;" + }, + { + "id": 781, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "name": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "index": 720, + "index2": 714, + "size": 4820, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "issuerId": 761, + "issuerName": "./app/javascript/mastodon/features/account_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "./containers/header_container", + "loc": "17:0-60" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "20:0-78" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "17:0-78" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "17:0-78" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { makeGetAccount } from '../../../selectors';\nimport Header from '../components/header';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../../../actions/accounts';\nimport { mentionCompose } from '../../../actions/compose';\nimport { initReport } from '../../../actions/reports';\nimport { openModal } from '../../../actions/modal';\nimport { blockDomain, unblockDomain } from '../../../actions/domain_blocks';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { unfollowModal } from '../../../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n },\n blockDomainConfirm: {\n 'id': 'confirmations.domain_block.confirm',\n 'defaultMessage': 'Hide entire domain'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, _ref) {\n var accountId = _ref.accountId;\n return {\n account: getAccount(state, accountId)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref2) {\n var intl = _ref2.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onReport: function onReport(account) {\n dispatch(initReport(account));\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n }\n },\n onBlockDomain: function onBlockDomain(domain, accountId) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.domain_block.message',\n defaultMessage: 'Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.',\n values: { domain: _jsx('strong', {}, void 0, domain) }\n }),\n confirm: intl.formatMessage(messages.blockDomainConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockDomain(domain, accountId));\n }\n }));\n },\n onUnblockDomain: function onUnblockDomain(domain, accountId) {\n dispatch(unblockDomain(domain, accountId));\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Header));" + }, + { + "id": 782, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "name": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "index": 721, + "index2": 713, + "size": 3218, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "issuerId": 781, + "issuerName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../components/header", + "loc": "5:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport InnerHeader from '../../account/components/header';\nimport ActionBar from '../../account/components/action_bar';\nimport MissingIndicator from '../../../components/missing_indicator';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar Header = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(Header, _ImmutablePureCompone);\n\n function Header() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Header);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMention = function () {\n _this.props.onMention(_this.props.account, _this.context.router.history);\n }, _this.handleReport = function () {\n _this.props.onReport(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _this.handleBlockDomain = function () {\n var domain = _this.props.account.get('acct').split('@')[1];\n\n if (!domain) return;\n\n _this.props.onBlockDomain(domain, _this.props.account.get('id'));\n }, _this.handleUnblockDomain = function () {\n var domain = _this.props.account.get('acct').split('@')[1];\n\n if (!domain) return;\n\n _this.props.onUnblockDomain(domain, _this.props.account.get('id'));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Header.prototype.render = function render() {\n var account = this.props.account;\n\n\n if (account === null) {\n return _jsx(MissingIndicator, {});\n }\n\n return _jsx('div', {\n className: 'account-timeline__header'\n }, void 0, _jsx(InnerHeader, {\n account: account,\n onFollow: this.handleFollow\n }), _jsx(ActionBar, {\n account: account,\n onBlock: this.handleBlock,\n onMention: this.handleMention,\n onReport: this.handleReport,\n onMute: this.handleMute,\n onBlockDomain: this.handleBlockDomain,\n onUnblockDomain: this.handleUnblockDomain\n }));\n };\n\n return Header;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n onReport: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n onBlockDomain: PropTypes.func.isRequired,\n onUnblockDomain: PropTypes.func.isRequired\n}, _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { Header as default };" + }, + { + "id": 783, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "name": "./app/javascript/mastodon/features/account/components/header.js", + "index": 722, + "index2": 711, + "size": 5925, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "issuerId": 782, + "issuerName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../account/components/header", + "loc": "11:0-58" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2, _class2, _class3, _temp3;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { autoPlayGif, me } from '../../../initial_state';\n\nvar messages = defineMessages({\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval. Click to cancel follow request'\n }\n});\n\nvar Avatar = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(Avatar, _ImmutablePureCompone);\n\n function Avatar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Avatar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n isHovered: false\n }, _this.handleMouseOver = function () {\n if (_this.state.isHovered) return;\n _this.setState({ isHovered: true });\n }, _this.handleMouseOut = function () {\n if (!_this.state.isHovered) return;\n _this.setState({ isHovered: false });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Avatar.prototype.render = function render() {\n var _this2 = this;\n\n var account = this.props.account;\n var isHovered = this.state.isHovered;\n\n\n return _jsx(Motion, {\n defaultStyle: { radius: 90 },\n style: { radius: spring(isHovered ? 30 : 90, { stiffness: 180, damping: 12 }) }\n }, void 0, function (_ref) {\n var radius = _ref.radius;\n return _jsx('a', {\n href: account.get('url'),\n className: 'account__header__avatar',\n role: 'presentation',\n target: '_blank',\n rel: 'noopener',\n style: { borderRadius: radius + 'px', backgroundImage: 'url(' + (autoPlayGif || isHovered ? account.get('avatar') : account.get('avatar_static')) + ')' },\n onMouseOver: _this2.handleMouseOver,\n onMouseOut: _this2.handleMouseOut,\n onFocus: _this2.handleMouseOver,\n onBlur: _this2.handleMouseOut\n }, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, account.get('acct')));\n });\n };\n\n return Avatar;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map.isRequired\n}, _temp2);\n\nvar Header = injectIntl(_class2 = (_temp3 = _class3 = function (_ImmutablePureCompone2) {\n _inherits(Header, _ImmutablePureCompone2);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone2.apply(this, arguments));\n }\n\n Header.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl;\n\n\n if (!account) {\n return null;\n }\n\n var info = '';\n var actionBtn = '';\n var lockedIcon = '';\n\n if (me !== account.get('id') && account.getIn(['relationship', 'followed_by'])) {\n info = _jsx('span', {\n className: 'account--follows-info'\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.follows_you',\n defaultMessage: 'Follows you'\n }));\n }\n\n if (me !== account.get('id')) {\n if (account.getIn(['relationship', 'requested'])) {\n actionBtn = _jsx('div', {\n className: 'account--action-button'\n }, void 0, _jsx(IconButton, {\n size: 26,\n active: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested),\n onClick: this.props.onFollow\n }));\n } else if (!account.getIn(['relationship', 'blocking'])) {\n actionBtn = _jsx('div', {\n className: 'account--action-button'\n }, void 0, _jsx(IconButton, {\n size: 26,\n icon: account.getIn(['relationship', 'following']) ? 'user-times' : 'user-plus',\n active: account.getIn(['relationship', 'following']),\n title: intl.formatMessage(account.getIn(['relationship', 'following']) ? messages.unfollow : messages.follow),\n onClick: this.props.onFollow\n }));\n }\n }\n\n if (account.get('locked')) {\n lockedIcon = _jsx('i', {\n className: 'fa fa-lock'\n });\n }\n\n var content = { __html: account.get('note_emojified') };\n var displayNameHtml = { __html: account.get('display_name_html') };\n\n return _jsx('div', {\n className: 'account__header',\n style: { backgroundImage: 'url(' + account.get('header') + ')' }\n }, void 0, _jsx('div', {}, void 0, _jsx(Avatar, {\n account: account\n }), _jsx('span', {\n className: 'account__header__display-name',\n dangerouslySetInnerHTML: displayNameHtml\n }), _jsx('span', {\n className: 'account__header__username'\n }, void 0, '@', account.get('acct'), ' ', lockedIcon), _jsx('div', {\n className: 'account__header__content',\n dangerouslySetInnerHTML: content\n }), info, actionBtn));\n };\n\n return Header;\n}(ImmutablePureComponent), _class3.propTypes = {\n account: ImmutablePropTypes.map,\n onFollow: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp3)) || _class2;\n\nexport { Header as default };" + }, + { + "id": 784, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "name": "./app/javascript/mastodon/features/account/components/action_bar.js", + "index": 723, + "index2": 712, + "size": 6495, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "issuerId": 782, + "issuerName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../account/components/action_bar", + "loc": "12:0-60" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\n\nimport DropdownMenuContainer from '../../../containers/dropdown_menu_container';\nimport { Link } from 'react-router-dom';\nimport { defineMessages, injectIntl, FormattedMessage, FormattedNumber } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nvar messages = defineMessages({\n mention: {\n 'id': 'account.mention',\n 'defaultMessage': 'Mention @{name}'\n },\n edit_profile: {\n 'id': 'account.edit_profile',\n 'defaultMessage': 'Edit profile'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n },\n block: {\n 'id': 'account.block',\n 'defaultMessage': 'Block @{name}'\n },\n mute: {\n 'id': 'account.mute',\n 'defaultMessage': 'Mute @{name}'\n },\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n report: {\n 'id': 'account.report',\n 'defaultMessage': 'Report @{name}'\n },\n share: {\n 'id': 'account.share',\n 'defaultMessage': 'Share @{name}\\'s profile'\n },\n media: {\n 'id': 'account.media',\n 'defaultMessage': 'Media'\n },\n blockDomain: {\n 'id': 'account.block_domain',\n 'defaultMessage': 'Hide everything from {domain}'\n },\n unblockDomain: {\n 'id': 'account.unblock_domain',\n 'defaultMessage': 'Unhide {domain}'\n }\n});\n\nvar ActionBar = injectIntl(_class = function (_React$PureComponent) {\n _inherits(ActionBar, _React$PureComponent);\n\n function ActionBar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ActionBar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleShare = function () {\n navigator.share({\n url: _this.props.account.get('url')\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ActionBar.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl;\n\n\n var menu = [];\n var extraInfo = '';\n\n menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.props.onMention });\n if ('share' in navigator) {\n menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare });\n }\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.media), to: '/accounts/' + account.get('id') + '/media' });\n menu.push(null);\n\n if (account.get('id') === me) {\n menu.push({ text: intl.formatMessage(messages.edit_profile), href: '/settings/profile' });\n } else {\n if (account.getIn(['relationship', 'muting'])) {\n menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.props.onMute });\n } else {\n menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.props.onMute });\n }\n\n if (account.getIn(['relationship', 'blocking'])) {\n menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.props.onBlock });\n } else {\n menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.props.onBlock });\n }\n\n menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport });\n }\n\n if (account.get('acct') !== account.get('username')) {\n var domain = account.get('acct').split('@')[1];\n\n extraInfo = _jsx('div', {\n className: 'account__disclaimer'\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.disclaimer_full',\n defaultMessage: 'Information below may reflect the user\\'s profile incompletely.'\n }), ' ', _jsx('a', {\n target: '_blank',\n rel: 'noopener',\n href: account.get('url')\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.view_full_profile',\n defaultMessage: 'View full profile'\n })));\n\n menu.push(null);\n\n if (account.getIn(['relationship', 'domain_blocking'])) {\n menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain: domain }), action: this.props.onUnblockDomain });\n } else {\n menu.push({ text: intl.formatMessage(messages.blockDomain, { domain: domain }), action: this.props.onBlockDomain });\n }\n }\n\n return _jsx('div', {}, void 0, extraInfo, _jsx('div', {\n className: 'account__action-bar'\n }, void 0, _jsx('div', {\n className: 'account__action-bar-dropdown'\n }, void 0, _jsx(DropdownMenuContainer, {\n items: menu,\n icon: 'bars',\n size: 24,\n direction: 'right'\n })), _jsx('div', {\n className: 'account__action-bar-links'\n }, void 0, _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id')\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.posts',\n defaultMessage: 'Posts'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('statuses_count')\n }))), _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id') + '/following'\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.follows',\n defaultMessage: 'Follows'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('following_count')\n }))), _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id') + '/followers'\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.followers',\n defaultMessage: 'Followers'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('followers_count')\n }))))));\n };\n\n return ActionBar;\n}(React.PureComponent)) || _class;\n\nexport { ActionBar as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "50:9-79", + "name": "features/followers", + "reasons": [] + } + ] + }, + { + "id": 16, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 34448, + "names": [ + "features/account_gallery" + ], + "files": [ + "features/account_gallery-b13924812f8dd47200c2.js", + "features/account_gallery-b13924812f8dd47200c2.js.map" + ], + "hash": "b13924812f8dd47200c2", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 762, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "name": "./app/javascript/mastodon/features/account_gallery/index.js", + "index": 724, + "index2": 717, + "size": 4899, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../account_gallery", + "loc": "46:9-91" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { fetchAccount } from '../../actions/accounts';\nimport { refreshAccountMediaTimeline, expandAccountMediaTimeline } from '../../actions/timelines';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport ColumnBackButton from '../../components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { getAccountGallery } from '../../selectors';\nimport MediaItem from './components/media_item';\nimport HeaderContainer from '../account_timeline/containers/header_container';\nimport { FormattedMessage } from 'react-intl';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport LoadMore from '../../components/load_more';\n\nvar mapStateToProps = function mapStateToProps(state, props) {\n return {\n medias: getAccountGallery(state, props.params.accountId),\n isLoading: state.getIn(['timelines', 'account:' + props.params.accountId + ':media', 'isLoading']),\n hasMore: !!state.getIn(['timelines', 'account:' + props.params.accountId + ':media', 'next'])\n };\n};\n\nvar AccountGallery = (_dec = connect(mapStateToProps), _dec(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(AccountGallery, _ImmutablePureCompone);\n\n function AccountGallery() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, AccountGallery);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleScrollToBottom = function () {\n if (_this.props.hasMore) {\n _this.props.dispatch(expandAccountMediaTimeline(_this.props.params.accountId));\n }\n }, _this.handleScroll = function (e) {\n var _e$target = e.target,\n scrollTop = _e$target.scrollTop,\n scrollHeight = _e$target.scrollHeight,\n clientHeight = _e$target.clientHeight;\n\n var offset = scrollHeight - scrollTop - clientHeight;\n\n if (150 > offset && !_this.props.isLoading) {\n _this.handleScrollToBottom();\n }\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.handleScrollToBottom();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n AccountGallery.prototype.componentDidMount = function componentDidMount() {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(refreshAccountMediaTimeline(this.props.params.accountId));\n };\n\n AccountGallery.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(refreshAccountMediaTimeline(this.props.params.accountId));\n }\n };\n\n AccountGallery.prototype.render = function render() {\n var _props = this.props,\n medias = _props.medias,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore;\n\n\n var loadMore = null;\n\n if (!medias && isLoading) {\n return _jsx(Column, {}, void 0, _jsx(LoadingIndicator, {}));\n }\n\n if (!isLoading && medias.size > 0 && hasMore) {\n loadMore = _jsx(LoadMore, {\n onClick: this.handleLoadMore\n });\n }\n\n return _jsx(Column, {}, void 0, _jsx(ColumnBackButton, {}), _jsx(ScrollContainer, {\n scrollKey: 'account_gallery'\n }, void 0, _jsx('div', {\n className: 'scrollable',\n onScroll: this.handleScroll\n }, void 0, _jsx(HeaderContainer, {\n accountId: this.props.params.accountId\n }), _jsx('div', {\n className: 'account-section-headline'\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.media',\n defaultMessage: 'Media'\n })), _jsx('div', {\n className: 'account-gallery__container'\n }, void 0, medias.map(function (media) {\n return _jsx(MediaItem, {\n media: media\n }, media.get('id'));\n }), loadMore))));\n };\n\n return AccountGallery;\n}(ImmutablePureComponent), _class2.propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n medias: ImmutablePropTypes.list.isRequired,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool\n}, _temp2)) || _class);\nexport { AccountGallery as default };" + }, + { + "id": 779, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "name": "./app/javascript/mastodon/components/column_back_button.js", + "index": 712, + "index2": 703, + "size": 1711, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "issuerId": 766, + "issuerName": "./app/javascript/mastodon/features/favourites/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "24:0-67" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "18:0-67" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "16:0-67" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButton = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButton, _React$PureComponent);\n\n function ColumnBackButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) {\n _this.context.router.history.push('/');\n } else {\n _this.context.router.history.goBack();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButton.prototype.render = function render() {\n return _jsx('button', {\n onClick: this.handleClick,\n className: 'column-back-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n }));\n };\n\n return ColumnBackButton;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButton as default };" + }, + { + "id": 780, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "name": "./app/javascript/mastodon/components/missing_indicator.js", + "index": 701, + "index2": 692, + "size": 405, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 24 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "issuerId": 768, + "issuerName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "14:0-66" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "4:0-66" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../../components/missing_indicator", + "loc": "13:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nvar MissingIndicator = function MissingIndicator() {\n return _jsx('div', {\n className: 'missing-indicator'\n }, void 0, _jsx('div', {}, void 0, _jsx(FormattedMessage, {\n id: 'missing_indicator.label',\n defaultMessage: 'Not found'\n })));\n};\n\nexport default MissingIndicator;" + }, + { + "id": 781, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "name": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "index": 720, + "index2": 714, + "size": 4820, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "issuerId": 761, + "issuerName": "./app/javascript/mastodon/features/account_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "./containers/header_container", + "loc": "17:0-60" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "20:0-78" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "17:0-78" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../account_timeline/containers/header_container", + "loc": "17:0-78" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { makeGetAccount } from '../../../selectors';\nimport Header from '../components/header';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../../../actions/accounts';\nimport { mentionCompose } from '../../../actions/compose';\nimport { initReport } from '../../../actions/reports';\nimport { openModal } from '../../../actions/modal';\nimport { blockDomain, unblockDomain } from '../../../actions/domain_blocks';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { unfollowModal } from '../../../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n },\n blockDomainConfirm: {\n 'id': 'confirmations.domain_block.confirm',\n 'defaultMessage': 'Hide entire domain'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, _ref) {\n var accountId = _ref.accountId;\n return {\n account: getAccount(state, accountId)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref2) {\n var intl = _ref2.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onReport: function onReport(account) {\n dispatch(initReport(account));\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n }\n },\n onBlockDomain: function onBlockDomain(domain, accountId) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.domain_block.message',\n defaultMessage: 'Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.',\n values: { domain: _jsx('strong', {}, void 0, domain) }\n }),\n confirm: intl.formatMessage(messages.blockDomainConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockDomain(domain, accountId));\n }\n }));\n },\n onUnblockDomain: function onUnblockDomain(domain, accountId) {\n dispatch(unblockDomain(domain, accountId));\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Header));" + }, + { + "id": 782, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "name": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "index": 721, + "index2": 713, + "size": 3218, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "issuerId": 781, + "issuerName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../components/header", + "loc": "5:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport InnerHeader from '../../account/components/header';\nimport ActionBar from '../../account/components/action_bar';\nimport MissingIndicator from '../../../components/missing_indicator';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar Header = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(Header, _ImmutablePureCompone);\n\n function Header() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Header);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMention = function () {\n _this.props.onMention(_this.props.account, _this.context.router.history);\n }, _this.handleReport = function () {\n _this.props.onReport(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _this.handleBlockDomain = function () {\n var domain = _this.props.account.get('acct').split('@')[1];\n\n if (!domain) return;\n\n _this.props.onBlockDomain(domain, _this.props.account.get('id'));\n }, _this.handleUnblockDomain = function () {\n var domain = _this.props.account.get('acct').split('@')[1];\n\n if (!domain) return;\n\n _this.props.onUnblockDomain(domain, _this.props.account.get('id'));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Header.prototype.render = function render() {\n var account = this.props.account;\n\n\n if (account === null) {\n return _jsx(MissingIndicator, {});\n }\n\n return _jsx('div', {\n className: 'account-timeline__header'\n }, void 0, _jsx(InnerHeader, {\n account: account,\n onFollow: this.handleFollow\n }), _jsx(ActionBar, {\n account: account,\n onBlock: this.handleBlock,\n onMention: this.handleMention,\n onReport: this.handleReport,\n onMute: this.handleMute,\n onBlockDomain: this.handleBlockDomain,\n onUnblockDomain: this.handleUnblockDomain\n }));\n };\n\n return Header;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n onReport: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n onBlockDomain: PropTypes.func.isRequired,\n onUnblockDomain: PropTypes.func.isRequired\n}, _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { Header as default };" + }, + { + "id": 783, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "name": "./app/javascript/mastodon/features/account/components/header.js", + "index": 722, + "index2": 711, + "size": 5925, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "issuerId": 782, + "issuerName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../account/components/header", + "loc": "11:0-58" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2, _class2, _class3, _temp3;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { autoPlayGif, me } from '../../../initial_state';\n\nvar messages = defineMessages({\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval. Click to cancel follow request'\n }\n});\n\nvar Avatar = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(Avatar, _ImmutablePureCompone);\n\n function Avatar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Avatar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n isHovered: false\n }, _this.handleMouseOver = function () {\n if (_this.state.isHovered) return;\n _this.setState({ isHovered: true });\n }, _this.handleMouseOut = function () {\n if (!_this.state.isHovered) return;\n _this.setState({ isHovered: false });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Avatar.prototype.render = function render() {\n var _this2 = this;\n\n var account = this.props.account;\n var isHovered = this.state.isHovered;\n\n\n return _jsx(Motion, {\n defaultStyle: { radius: 90 },\n style: { radius: spring(isHovered ? 30 : 90, { stiffness: 180, damping: 12 }) }\n }, void 0, function (_ref) {\n var radius = _ref.radius;\n return _jsx('a', {\n href: account.get('url'),\n className: 'account__header__avatar',\n role: 'presentation',\n target: '_blank',\n rel: 'noopener',\n style: { borderRadius: radius + 'px', backgroundImage: 'url(' + (autoPlayGif || isHovered ? account.get('avatar') : account.get('avatar_static')) + ')' },\n onMouseOver: _this2.handleMouseOver,\n onMouseOut: _this2.handleMouseOut,\n onFocus: _this2.handleMouseOver,\n onBlur: _this2.handleMouseOut\n }, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, account.get('acct')));\n });\n };\n\n return Avatar;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map.isRequired\n}, _temp2);\n\nvar Header = injectIntl(_class2 = (_temp3 = _class3 = function (_ImmutablePureCompone2) {\n _inherits(Header, _ImmutablePureCompone2);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone2.apply(this, arguments));\n }\n\n Header.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl;\n\n\n if (!account) {\n return null;\n }\n\n var info = '';\n var actionBtn = '';\n var lockedIcon = '';\n\n if (me !== account.get('id') && account.getIn(['relationship', 'followed_by'])) {\n info = _jsx('span', {\n className: 'account--follows-info'\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.follows_you',\n defaultMessage: 'Follows you'\n }));\n }\n\n if (me !== account.get('id')) {\n if (account.getIn(['relationship', 'requested'])) {\n actionBtn = _jsx('div', {\n className: 'account--action-button'\n }, void 0, _jsx(IconButton, {\n size: 26,\n active: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested),\n onClick: this.props.onFollow\n }));\n } else if (!account.getIn(['relationship', 'blocking'])) {\n actionBtn = _jsx('div', {\n className: 'account--action-button'\n }, void 0, _jsx(IconButton, {\n size: 26,\n icon: account.getIn(['relationship', 'following']) ? 'user-times' : 'user-plus',\n active: account.getIn(['relationship', 'following']),\n title: intl.formatMessage(account.getIn(['relationship', 'following']) ? messages.unfollow : messages.follow),\n onClick: this.props.onFollow\n }));\n }\n }\n\n if (account.get('locked')) {\n lockedIcon = _jsx('i', {\n className: 'fa fa-lock'\n });\n }\n\n var content = { __html: account.get('note_emojified') };\n var displayNameHtml = { __html: account.get('display_name_html') };\n\n return _jsx('div', {\n className: 'account__header',\n style: { backgroundImage: 'url(' + account.get('header') + ')' }\n }, void 0, _jsx('div', {}, void 0, _jsx(Avatar, {\n account: account\n }), _jsx('span', {\n className: 'account__header__display-name',\n dangerouslySetInnerHTML: displayNameHtml\n }), _jsx('span', {\n className: 'account__header__username'\n }, void 0, '@', account.get('acct'), ' ', lockedIcon), _jsx('div', {\n className: 'account__header__content',\n dangerouslySetInnerHTML: content\n }), info, actionBtn));\n };\n\n return Header;\n}(ImmutablePureComponent), _class3.propTypes = {\n account: ImmutablePropTypes.map,\n onFollow: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp3)) || _class2;\n\nexport { Header as default };" + }, + { + "id": 784, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "name": "./app/javascript/mastodon/features/account/components/action_bar.js", + "index": 723, + "index2": 712, + "size": 6495, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 14, + 15, + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "issuerId": 782, + "issuerName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../account/components/action_bar", + "loc": "12:0-60" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\n\nimport DropdownMenuContainer from '../../../containers/dropdown_menu_container';\nimport { Link } from 'react-router-dom';\nimport { defineMessages, injectIntl, FormattedMessage, FormattedNumber } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nvar messages = defineMessages({\n mention: {\n 'id': 'account.mention',\n 'defaultMessage': 'Mention @{name}'\n },\n edit_profile: {\n 'id': 'account.edit_profile',\n 'defaultMessage': 'Edit profile'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n },\n block: {\n 'id': 'account.block',\n 'defaultMessage': 'Block @{name}'\n },\n mute: {\n 'id': 'account.mute',\n 'defaultMessage': 'Mute @{name}'\n },\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n report: {\n 'id': 'account.report',\n 'defaultMessage': 'Report @{name}'\n },\n share: {\n 'id': 'account.share',\n 'defaultMessage': 'Share @{name}\\'s profile'\n },\n media: {\n 'id': 'account.media',\n 'defaultMessage': 'Media'\n },\n blockDomain: {\n 'id': 'account.block_domain',\n 'defaultMessage': 'Hide everything from {domain}'\n },\n unblockDomain: {\n 'id': 'account.unblock_domain',\n 'defaultMessage': 'Unhide {domain}'\n }\n});\n\nvar ActionBar = injectIntl(_class = function (_React$PureComponent) {\n _inherits(ActionBar, _React$PureComponent);\n\n function ActionBar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ActionBar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleShare = function () {\n navigator.share({\n url: _this.props.account.get('url')\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ActionBar.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl;\n\n\n var menu = [];\n var extraInfo = '';\n\n menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.props.onMention });\n if ('share' in navigator) {\n menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare });\n }\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.media), to: '/accounts/' + account.get('id') + '/media' });\n menu.push(null);\n\n if (account.get('id') === me) {\n menu.push({ text: intl.formatMessage(messages.edit_profile), href: '/settings/profile' });\n } else {\n if (account.getIn(['relationship', 'muting'])) {\n menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.props.onMute });\n } else {\n menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.props.onMute });\n }\n\n if (account.getIn(['relationship', 'blocking'])) {\n menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.props.onBlock });\n } else {\n menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.props.onBlock });\n }\n\n menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport });\n }\n\n if (account.get('acct') !== account.get('username')) {\n var domain = account.get('acct').split('@')[1];\n\n extraInfo = _jsx('div', {\n className: 'account__disclaimer'\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.disclaimer_full',\n defaultMessage: 'Information below may reflect the user\\'s profile incompletely.'\n }), ' ', _jsx('a', {\n target: '_blank',\n rel: 'noopener',\n href: account.get('url')\n }, void 0, _jsx(FormattedMessage, {\n id: 'account.view_full_profile',\n defaultMessage: 'View full profile'\n })));\n\n menu.push(null);\n\n if (account.getIn(['relationship', 'domain_blocking'])) {\n menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain: domain }), action: this.props.onUnblockDomain });\n } else {\n menu.push({ text: intl.formatMessage(messages.blockDomain, { domain: domain }), action: this.props.onBlockDomain });\n }\n }\n\n return _jsx('div', {}, void 0, extraInfo, _jsx('div', {\n className: 'account__action-bar'\n }, void 0, _jsx('div', {\n className: 'account__action-bar-dropdown'\n }, void 0, _jsx(DropdownMenuContainer, {\n items: menu,\n icon: 'bars',\n size: 24,\n direction: 'right'\n })), _jsx('div', {\n className: 'account__action-bar-links'\n }, void 0, _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id')\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.posts',\n defaultMessage: 'Posts'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('statuses_count')\n }))), _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id') + '/following'\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.follows',\n defaultMessage: 'Follows'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('following_count')\n }))), _jsx(Link, {\n className: 'account__action-bar__tab',\n to: '/accounts/' + account.get('id') + '/followers'\n }, void 0, _jsx('span', {}, void 0, _jsx(FormattedMessage, {\n id: 'account.followers',\n defaultMessage: 'Followers'\n })), _jsx('strong', {}, void 0, _jsx(FormattedNumber, {\n value: account.get('followers_count')\n }))))));\n };\n\n return ActionBar;\n}(React.PureComponent)) || _class;\n\nexport { ActionBar as default };" + }, + { + "id": 898, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/components/media_item.js", + "name": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "index": 725, + "index2": 716, + "size": 1594, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 16 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "issuerId": 762, + "issuerName": "./app/javascript/mastodon/features/account_gallery/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "./components/media_item", + "loc": "19:0-48" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Permalink from '../../../components/permalink';\n\nvar MediaItem = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(MediaItem, _ImmutablePureCompone);\n\n function MediaItem() {\n _classCallCheck(this, MediaItem);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n MediaItem.prototype.render = function render() {\n var media = this.props.media;\n\n var status = media.get('status');\n\n var content = void 0,\n style = void 0;\n\n if (media.get('type') === 'gifv') {\n content = _jsx('span', {\n className: 'media-gallery__gifv__label'\n }, void 0, 'GIF');\n }\n\n if (!status.get('sensitive')) {\n style = { backgroundImage: 'url(' + media.get('preview_url') + ')' };\n }\n\n return _jsx('div', {\n className: 'account-gallery__item'\n }, void 0, _jsx(Permalink, {\n to: '/statuses/' + status.get('id'),\n href: status.get('url'),\n style: style\n }, void 0, content));\n };\n\n return MediaItem;\n}(ImmutablePureComponent), _class.propTypes = {\n media: ImmutablePropTypes.map.isRequired\n}, _temp);\nexport { MediaItem as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "46:9-91", + "name": "features/account_gallery", + "reasons": [] + } + ] + }, + { + "id": 17, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 17862, + "names": [ + "modals/report_modal" + ], + "files": [ + "modals/report_modal-7a2950f40d4867b9cbb0.js", + "modals/report_modal-7a2950f40d4867b9cbb0.js.map" + ], + "hash": "7a2950f40d4867b9cbb0", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 773, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "name": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "index": 753, + "index2": 747, + "size": 4889, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../components/report_modal", + "loc": "90:9-91" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { changeReportComment, submitReport } from '../../../actions/reports';\nimport { refreshAccountTimeline } from '../../../actions/timelines';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { makeGetAccount } from '../../../selectors';\nimport { defineMessages, FormattedMessage, injectIntl } from 'react-intl';\nimport StatusCheckBox from '../../report/containers/status_check_box_container';\nimport { OrderedSet } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Button from '../../../components/button';\n\nvar messages = defineMessages({\n placeholder: {\n 'id': 'report.placeholder',\n 'defaultMessage': 'Additional comments'\n },\n submit: {\n 'id': 'report.submit',\n 'defaultMessage': 'Submit'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state) {\n var accountId = state.getIn(['reports', 'new', 'account_id']);\n\n return {\n isSubmitting: state.getIn(['reports', 'new', 'isSubmitting']),\n account: getAccount(state, accountId),\n comment: state.getIn(['reports', 'new', 'comment']),\n statusIds: OrderedSet(state.getIn(['timelines', 'account:' + accountId, 'items'])).union(state.getIn(['reports', 'new', 'status_ids']))\n };\n };\n\n return mapStateToProps;\n};\n\nvar ReportModal = (_dec = connect(makeMapStateToProps), _dec(_class = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(ReportModal, _ImmutablePureCompone);\n\n function ReportModal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ReportModal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleCommentChange = function (e) {\n _this.props.dispatch(changeReportComment(e.target.value));\n }, _this.handleSubmit = function () {\n _this.props.dispatch(submitReport());\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ReportModal.prototype.componentDidMount = function componentDidMount() {\n this.props.dispatch(refreshAccountTimeline(this.props.account.get('id')));\n };\n\n ReportModal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.account !== nextProps.account && nextProps.account) {\n this.props.dispatch(refreshAccountTimeline(nextProps.account.get('id')));\n }\n };\n\n ReportModal.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n comment = _props.comment,\n intl = _props.intl,\n statusIds = _props.statusIds,\n isSubmitting = _props.isSubmitting;\n\n\n if (!account) {\n return null;\n }\n\n return _jsx('div', {\n className: 'modal-root__modal report-modal'\n }, void 0, _jsx('div', {\n className: 'report-modal__target'\n }, void 0, _jsx(FormattedMessage, {\n id: 'report.target',\n defaultMessage: 'Report {target}',\n values: { target: _jsx('strong', {}, void 0, account.get('acct')) }\n })), _jsx('div', {\n className: 'report-modal__container'\n }, void 0, _jsx('div', {\n className: 'report-modal__statuses'\n }, void 0, _jsx('div', {}, void 0, statusIds.map(function (statusId) {\n return _jsx(StatusCheckBox, {\n id: statusId,\n disabled: isSubmitting\n }, statusId);\n }))), _jsx('div', {\n className: 'report-modal__comment'\n }, void 0, _jsx('textarea', {\n className: 'setting-text light',\n placeholder: intl.formatMessage(messages.placeholder),\n value: comment,\n onChange: this.handleCommentChange,\n disabled: isSubmitting\n }))), _jsx('div', {\n className: 'report-modal__action-bar'\n }, void 0, _jsx(Button, {\n disabled: isSubmitting,\n text: intl.formatMessage(messages.submit),\n onClick: this.handleSubmit\n })));\n };\n\n return ReportModal;\n}(ImmutablePureComponent), _class2.propTypes = {\n isSubmitting: PropTypes.bool,\n account: ImmutablePropTypes.map,\n statusIds: ImmutablePropTypes.orderedSet.isRequired,\n comment: PropTypes.string.isRequired,\n dispatch: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class) || _class);\nexport { ReportModal as default };" + }, + { + "id": 790, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "name": "./node_modules/react-toggle/dist/component/index.js", + "index": 658, + "index2": 649, + "size": 8873, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "issuerId": 804, + "issuerName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 804, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "module": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "type": "harmony import", + "userRequest": "react-toggle", + "loc": "7:0-34" + }, + { + "moduleId": 902, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/components/status_check_box.js", + "module": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "moduleName": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "type": "harmony import", + "userRequest": "react-toggle", + "loc": "7:0-34" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _check = require('./check');\n\nvar _check2 = _interopRequireDefault(_check);\n\nvar _x = require('./x');\n\nvar _x2 = _interopRequireDefault(_x);\n\nvar _util = require('./util');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Toggle = function (_PureComponent) {\n _inherits(Toggle, _PureComponent);\n\n function Toggle(props) {\n _classCallCheck(this, Toggle);\n\n var _this = _possibleConstructorReturn(this, (Toggle.__proto__ || Object.getPrototypeOf(Toggle)).call(this, props));\n\n _this.handleClick = _this.handleClick.bind(_this);\n _this.handleTouchStart = _this.handleTouchStart.bind(_this);\n _this.handleTouchMove = _this.handleTouchMove.bind(_this);\n _this.handleTouchEnd = _this.handleTouchEnd.bind(_this);\n _this.handleFocus = _this.handleFocus.bind(_this);\n _this.handleBlur = _this.handleBlur.bind(_this);\n _this.previouslyChecked = !!(props.checked || props.defaultChecked);\n _this.state = {\n checked: !!(props.checked || props.defaultChecked),\n hasFocus: false\n };\n return _this;\n }\n\n _createClass(Toggle, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if ('checked' in nextProps) {\n this.setState({ checked: !!nextProps.checked });\n }\n }\n }, {\n key: 'handleClick',\n value: function handleClick(event) {\n var checkbox = this.input;\n if (event.target !== checkbox && !this.moved) {\n this.previouslyChecked = checkbox.checked;\n event.preventDefault();\n checkbox.focus();\n checkbox.click();\n return;\n }\n\n var checked = this.props.hasOwnProperty('checked') ? this.props.checked : checkbox.checked;\n\n this.setState({ checked: checked });\n }\n }, {\n key: 'handleTouchStart',\n value: function handleTouchStart(event) {\n this.startX = (0, _util.pointerCoord)(event).x;\n this.activated = true;\n }\n }, {\n key: 'handleTouchMove',\n value: function handleTouchMove(event) {\n if (!this.activated) return;\n this.moved = true;\n\n if (this.startX) {\n var currentX = (0, _util.pointerCoord)(event).x;\n if (this.state.checked && currentX + 15 < this.startX) {\n this.setState({ checked: false });\n this.startX = currentX;\n this.activated = true;\n } else if (currentX - 15 > this.startX) {\n this.setState({ checked: true });\n this.startX = currentX;\n this.activated = currentX < this.startX + 5;\n }\n }\n }\n }, {\n key: 'handleTouchEnd',\n value: function handleTouchEnd(event) {\n if (!this.moved) return;\n var checkbox = this.input;\n event.preventDefault();\n\n if (this.startX) {\n var endX = (0, _util.pointerCoord)(event).x;\n if (this.previouslyChecked === true && this.startX + 4 > endX) {\n if (this.previouslyChecked !== this.state.checked) {\n this.setState({ checked: false });\n this.previouslyChecked = this.state.checked;\n checkbox.click();\n }\n } else if (this.startX - 4 < endX) {\n if (this.previouslyChecked !== this.state.checked) {\n this.setState({ checked: true });\n this.previouslyChecked = this.state.checked;\n checkbox.click();\n }\n }\n\n this.activated = false;\n this.startX = null;\n this.moved = false;\n }\n }\n }, {\n key: 'handleFocus',\n value: function handleFocus(event) {\n var onFocus = this.props.onFocus;\n\n if (onFocus) {\n onFocus(event);\n }\n\n this.setState({ hasFocus: true });\n }\n }, {\n key: 'handleBlur',\n value: function handleBlur(event) {\n var onBlur = this.props.onBlur;\n\n if (onBlur) {\n onBlur(event);\n }\n\n this.setState({ hasFocus: false });\n }\n }, {\n key: 'getIcon',\n value: function getIcon(type) {\n var icons = this.props.icons;\n\n if (!icons) {\n return null;\n }\n return icons[type] === undefined ? Toggle.defaultProps.icons[type] : icons[type];\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n className = _props.className,\n _icons = _props.icons,\n inputProps = _objectWithoutProperties(_props, ['className', 'icons']);\n\n var classes = (0, _classnames2.default)('react-toggle', {\n 'react-toggle--checked': this.state.checked,\n 'react-toggle--focus': this.state.hasFocus,\n 'react-toggle--disabled': this.props.disabled\n }, className);\n\n return _react2.default.createElement('div', { className: classes,\n onClick: this.handleClick,\n onTouchStart: this.handleTouchStart,\n onTouchMove: this.handleTouchMove,\n onTouchEnd: this.handleTouchEnd }, _react2.default.createElement('div', { className: 'react-toggle-track' }, _react2.default.createElement('div', { className: 'react-toggle-track-check' }, this.getIcon('checked')), _react2.default.createElement('div', { className: 'react-toggle-track-x' }, this.getIcon('unchecked'))), _react2.default.createElement('div', { className: 'react-toggle-thumb' }), _react2.default.createElement('input', _extends({}, inputProps, {\n ref: function ref(_ref) {\n _this2.input = _ref;\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n className: 'react-toggle-screenreader-only',\n type: 'checkbox' })));\n }\n }]);\n\n return Toggle;\n}(_react.PureComponent);\n\nexports.default = Toggle;\n\nToggle.displayName = 'Toggle';\n\nToggle.defaultProps = {\n icons: {\n checked: _react2.default.createElement(_check2.default, null),\n unchecked: _react2.default.createElement(_x2.default, null)\n }\n};\n\nToggle.propTypes = {\n checked: _propTypes2.default.bool,\n disabled: _propTypes2.default.bool,\n defaultChecked: _propTypes2.default.bool,\n onChange: _propTypes2.default.func,\n onFocus: _propTypes2.default.func,\n onBlur: _propTypes2.default.func,\n className: _propTypes2.default.string,\n name: _propTypes2.default.string,\n value: _propTypes2.default.string,\n id: _propTypes2.default.string,\n 'aria-labelledby': _propTypes2.default.string,\n 'aria-label': _propTypes2.default.string,\n icons: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.shape({\n checked: _propTypes2.default.node,\n unchecked: _propTypes2.default.node\n })])\n};" + }, + { + "id": 791, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/check.js", + "name": "./node_modules/react-toggle/dist/component/check.js", + "index": 659, + "index2": 646, + "size": 610, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "issuerId": 790, + "issuerName": "./node_modules/react-toggle/dist/component/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "./check", + "loc": "39:13-31" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function () {\n return _react2.default.createElement('svg', { width: '14', height: '11', viewBox: '0 0 14 11' }, _react2.default.createElement('title', null, 'switch-check'), _react2.default.createElement('path', { d: 'M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0', fill: '#fff', fillRule: 'evenodd' }));\n};" + }, + { + "id": 792, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/x.js", + "name": "./node_modules/react-toggle/dist/component/x.js", + "index": 660, + "index2": 647, + "size": 654, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "issuerId": 790, + "issuerName": "./node_modules/react-toggle/dist/component/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "./x", + "loc": "43:9-23" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function () {\n return _react2.default.createElement('svg', { width: '10', height: '10', viewBox: '0 0 10 10' }, _react2.default.createElement('title', null, 'switch-x'), _react2.default.createElement('path', { d: 'M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12', fill: '#fff', fillRule: 'evenodd' }));\n};" + }, + { + "id": 793, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/util.js", + "name": "./node_modules/react-toggle/dist/component/util.js", + "index": 661, + "index2": 648, + "size": 722, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 8, + 9, + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "issuerId": 790, + "issuerName": "./node_modules/react-toggle/dist/component/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "./util", + "loc": "47:12-29" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.pointerCoord = pointerCoord;\n// Copyright 2015-present Drifty Co.\n// http://drifty.com/\n// from: https://github.com/driftyco/ionic/blob/master/src/util/dom.ts\n\nfunction pointerCoord(event) {\n // get coordinates for either a mouse click\n // or a touch depending on the given event\n if (event) {\n var changedTouches = event.changedTouches;\n if (changedTouches && changedTouches.length > 0) {\n var touch = changedTouches[0];\n return { x: touch.clientX, y: touch.clientY };\n }\n var pageX = event.pageX;\n if (pageX !== undefined) {\n return { x: pageX, y: event.pageY };\n }\n }\n return { x: 0, y: 0 };\n}" + }, + { + "id": 901, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "name": "./app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "index": 754, + "index2": 746, + "size": 736, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "issuerId": 773, + "issuerName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "../../report/containers/status_check_box_container", + "loc": "16:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport StatusCheckBox from '../components/status_check_box';\nimport { toggleStatusReport } from '../../../actions/reports';\nimport { Set as ImmutableSet } from 'immutable';\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n status: state.getIn(['statuses', id]),\n checked: state.getIn(['reports', 'new', 'status_ids'], ImmutableSet()).includes(id)\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref2) {\n var id = _ref2.id;\n return {\n onToggle: function onToggle(e) {\n dispatch(toggleStatusReport(id, e.target.checked));\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StatusCheckBox);" + }, + { + "id": 902, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/components/status_check_box.js", + "name": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "index": 755, + "index2": 745, + "size": 1378, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 17 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "issuerId": 901, + "issuerName": "./app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 901, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "module": "./app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "moduleName": "./app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "type": "harmony import", + "userRequest": "../components/status_check_box", + "loc": "2:0-60" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Toggle from 'react-toggle';\n\nvar StatusCheckBox = function (_React$PureComponent) {\n _inherits(StatusCheckBox, _React$PureComponent);\n\n function StatusCheckBox() {\n _classCallCheck(this, StatusCheckBox);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n StatusCheckBox.prototype.render = function render() {\n var _props = this.props,\n status = _props.status,\n checked = _props.checked,\n onToggle = _props.onToggle,\n disabled = _props.disabled;\n\n var content = { __html: status.get('contentHtml') };\n\n if (status.get('reblog')) {\n return null;\n }\n\n return _jsx('div', {\n className: 'status-check-box'\n }, void 0, _jsx('div', {\n className: 'status__content',\n dangerouslySetInnerHTML: content\n }), _jsx('div', {\n className: 'status-check-box-toggle'\n }, void 0, _jsx(Toggle, {\n checked: checked,\n onChange: onToggle,\n disabled: disabled\n })));\n };\n\n return StatusCheckBox;\n}(React.PureComponent);\n\nexport { StatusCheckBox as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "90:9-91", + "name": "modals/report_modal", + "reasons": [] + } + ] + }, + { + "id": 18, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 13307, + "names": [ + "features/follow_requests" + ], + "files": [ + "features/follow_requests-281e5b40331385149920.js", + "features/follow_requests-281e5b40331385149920.js.map" + ], + "hash": "281e5b40331385149920", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 272, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "name": "./app/javascript/mastodon/components/column_back_button_slim.js", + "index": 717, + "index2": 708, + "size": 1848, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 11, + 18, + 19, + 20, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "../../../components/column_back_button_slim", + "loc": "11:0-79" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "14:0-76" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButtonSlim = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButtonSlim, _React$PureComponent);\n\n function ColumnBackButtonSlim() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButtonSlim);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) _this.context.router.history.push('/');else _this.context.router.history.goBack();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButtonSlim.prototype.render = function render() {\n return _jsx('div', {\n className: 'column-back-button--slim'\n }, void 0, _jsx('div', {\n role: 'button',\n tabIndex: '0',\n onClick: this.handleClick,\n className: 'column-back-button column-back-button--slim-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n })));\n };\n\n return ColumnBackButtonSlim;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButtonSlim as default };" + }, + { + "id": 767, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "name": "./app/javascript/mastodon/features/follow_requests/index.js", + "index": 730, + "index2": 724, + "size": 3379, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 18 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../follow_requests", + "loc": "66:9-91" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport Column from '../ui/components/column';\nimport ColumnBackButtonSlim from '../../components/column_back_button_slim';\nimport AccountAuthorizeContainer from './containers/account_authorize_container';\nimport { fetchFollowRequests, expandFollowRequests } from '../../actions/accounts';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar messages = defineMessages({\n heading: {\n 'id': 'column.follow_requests',\n 'defaultMessage': 'Follow requests'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n accountIds: state.getIn(['user_lists', 'follow_requests', 'items'])\n };\n};\n\nvar FollowRequests = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(FollowRequests, _ImmutablePureCompone);\n\n function FollowRequests() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, FollowRequests);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleScroll = function (e) {\n var _e$target = e.target,\n scrollTop = _e$target.scrollTop,\n scrollHeight = _e$target.scrollHeight,\n clientHeight = _e$target.clientHeight;\n\n\n if (scrollTop === scrollHeight - clientHeight) {\n _this.props.dispatch(expandFollowRequests());\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n FollowRequests.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchFollowRequests());\n };\n\n FollowRequests.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n accountIds = _props.accountIds;\n\n\n if (!accountIds) {\n return _jsx(Column, {}, void 0, _jsx(LoadingIndicator, {}));\n }\n\n return _jsx(Column, {\n icon: 'users',\n heading: intl.formatMessage(messages.heading)\n }, void 0, _jsx(ColumnBackButtonSlim, {}), _jsx(ScrollContainer, {\n scrollKey: 'follow_requests'\n }, void 0, _jsx('div', {\n className: 'scrollable',\n onScroll: this.handleScroll\n }, void 0, accountIds.map(function (id) {\n return _jsx(AccountAuthorizeContainer, {\n id: id\n }, id);\n }))));\n };\n\n return FollowRequests;\n}(ImmutablePureComponent), _class2.propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class) || _class);\nexport { FollowRequests as default };" + }, + { + "id": 899, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "name": "./app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "index": 731, + "index2": 723, + "size": 876, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 18 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "issuerId": 767, + "issuerName": "./app/javascript/mastodon/features/follow_requests/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "./containers/account_authorize_container", + "loc": "16:0-81" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport { makeGetAccount } from '../../../selectors';\nimport AccountAuthorize from '../components/account_authorize';\nimport { authorizeFollowRequest, rejectFollowRequest } from '../../../actions/accounts';\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var id = _ref.id;\n return {\n onAuthorize: function onAuthorize() {\n dispatch(authorizeFollowRequest(id));\n },\n onReject: function onReject() {\n dispatch(rejectFollowRequest(id));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(AccountAuthorize);" + }, + { + "id": 900, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "name": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "index": 732, + "index2": 722, + "size": 2961, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 18 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "issuerId": 899, + "issuerName": "./app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 899, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "module": "./app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "type": "harmony import", + "userRequest": "../components/account_authorize", + "loc": "3:0-63" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Permalink from '../../../components/permalink';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport IconButton from '../../../components/icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar messages = defineMessages({\n authorize: {\n 'id': 'follow_request.authorize',\n 'defaultMessage': 'Authorize'\n },\n reject: {\n 'id': 'follow_request.reject',\n 'defaultMessage': 'Reject'\n }\n});\n\nvar AccountAuthorize = injectIntl(_class = (_temp = _class2 = function (_ImmutablePureCompone) {\n _inherits(AccountAuthorize, _ImmutablePureCompone);\n\n function AccountAuthorize() {\n _classCallCheck(this, AccountAuthorize);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n AccountAuthorize.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n account = _props.account,\n onAuthorize = _props.onAuthorize,\n onReject = _props.onReject;\n\n var content = { __html: account.get('note_emojified') };\n\n return _jsx('div', {\n className: 'account-authorize__wrapper'\n }, void 0, _jsx('div', {\n className: 'account-authorize'\n }, void 0, _jsx(Permalink, {\n href: account.get('url'),\n to: '/accounts/' + account.get('id'),\n className: 'detailed-status__display-name'\n }, void 0, _jsx('div', {\n className: 'account-authorize__avatar'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 48\n })), _jsx(DisplayName, {\n account: account\n })), _jsx('div', {\n className: 'account__header__content',\n dangerouslySetInnerHTML: content\n })), _jsx('div', {\n className: 'account--panel'\n }, void 0, _jsx('div', {\n className: 'account--panel__button'\n }, void 0, _jsx(IconButton, {\n title: intl.formatMessage(messages.authorize),\n icon: 'check',\n onClick: onAuthorize\n })), _jsx('div', {\n className: 'account--panel__button'\n }, void 0, _jsx(IconButton, {\n title: intl.formatMessage(messages.reject),\n icon: 'times',\n onClick: onReject\n }))));\n };\n\n return AccountAuthorize;\n}(ImmutablePureComponent), _class2.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onAuthorize: PropTypes.func.isRequired,\n onReject: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp)) || _class;\n\nexport { AccountAuthorize as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "66:9-91", + "name": "features/follow_requests", + "reasons": [] + } + ] + }, + { + "id": 19, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 16378, + "names": [ + "features/mutes" + ], + "files": [ + "features/mutes-60c139f123f8d11ed903.js", + "features/mutes-60c139f123f8d11ed903.js.map" + ], + "hash": "60c139f123f8d11ed903", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 272, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "name": "./app/javascript/mastodon/components/column_back_button_slim.js", + "index": 717, + "index2": 708, + "size": 1848, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 11, + 18, + 19, + 20, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "../../../components/column_back_button_slim", + "loc": "11:0-79" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "14:0-76" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButtonSlim = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButtonSlim, _React$PureComponent);\n\n function ColumnBackButtonSlim() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButtonSlim);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) _this.context.router.history.push('/');else _this.context.router.history.goBack();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButtonSlim.prototype.render = function render() {\n return _jsx('div', {\n className: 'column-back-button--slim'\n }, void 0, _jsx('div', {\n role: 'button',\n tabIndex: '0',\n onClick: this.handleClick,\n className: 'column-back-button column-back-button--slim-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n })));\n };\n\n return ColumnBackButtonSlim;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButtonSlim as default };" + }, + { + "id": 771, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "name": "./app/javascript/mastodon/features/mutes/index.js", + "index": 736, + "index2": 728, + "size": 3221, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 19 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../mutes", + "loc": "82:9-71" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport Column from '../ui/components/column';\nimport ColumnBackButtonSlim from '../../components/column_back_button_slim';\nimport AccountContainer from '../../containers/account_container';\nimport { fetchMutes, expandMutes } from '../../actions/mutes';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar messages = defineMessages({\n heading: {\n 'id': 'column.mutes',\n 'defaultMessage': 'Muted users'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n accountIds: state.getIn(['user_lists', 'mutes', 'items'])\n };\n};\n\nvar Mutes = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Mutes, _ImmutablePureCompone);\n\n function Mutes() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Mutes);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleScroll = function (e) {\n var _e$target = e.target,\n scrollTop = _e$target.scrollTop,\n scrollHeight = _e$target.scrollHeight,\n clientHeight = _e$target.clientHeight;\n\n\n if (scrollTop === scrollHeight - clientHeight) {\n _this.props.dispatch(expandMutes());\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Mutes.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchMutes());\n };\n\n Mutes.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n accountIds = _props.accountIds;\n\n\n if (!accountIds) {\n return _jsx(Column, {}, void 0, _jsx(LoadingIndicator, {}));\n }\n\n return _jsx(Column, {\n icon: 'volume-off',\n heading: intl.formatMessage(messages.heading)\n }, void 0, _jsx(ColumnBackButtonSlim, {}), _jsx(ScrollContainer, {\n scrollKey: 'mutes'\n }, void 0, _jsx('div', {\n className: 'scrollable mutes',\n onScroll: this.handleScroll\n }, void 0, accountIds.map(function (id) {\n return _jsx(AccountContainer, {\n id: id\n }, id);\n }))));\n };\n\n return Mutes;\n}(ImmutablePureComponent), _class2.propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class) || _class);\nexport { Mutes as default };" + }, + { + "id": 777, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "name": "./app/javascript/mastodon/containers/account_container.js", + "index": 534, + "index2": 524, + "size": 2429, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "issuerId": 882, + "issuerName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "11:0-69" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "12:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));" + }, + { + "id": 778, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "name": "./app/javascript/mastodon/components/account.js", + "index": 535, + "index2": 523, + "size": 4637, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "issuerId": 777, + "issuerName": "./app/javascript/mastodon/containers/account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../components/account", + "loc": "6:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nvar messages = defineMessages({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Account);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return _jsx('div', {});\n }\n\n if (hidden) {\n return _jsx('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = _jsx(IconButton, {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = _jsx(IconButton, {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return _jsx('div', {\n className: 'account'\n }, void 0, _jsx('div', {\n className: 'account__wrapper'\n }, void 0, _jsx(Permalink, {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), _jsx('div', {\n className: 'account__avatar-wrapper'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 36\n })), _jsx(DisplayName, {\n account: account\n })), _jsx('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(ImmutablePureComponent), _class2.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool\n}, _temp2)) || _class;\n\nexport { Account as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "82:9-71", + "name": "features/mutes", + "reasons": [] + } + ] + }, + { + "id": 20, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 16383, + "names": [ + "features/blocks" + ], + "files": [ + "features/blocks-e9605338ea941de78465.js", + "features/blocks-e9605338ea941de78465.js.map" + ], + "hash": "e9605338ea941de78465", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 272, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "name": "./app/javascript/mastodon/components/column_back_button_slim.js", + "index": 717, + "index2": 708, + "size": 1848, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 11, + 18, + 19, + 20, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "../../../components/column_back_button_slim", + "loc": "11:0-79" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "14:0-76" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButtonSlim = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButtonSlim, _React$PureComponent);\n\n function ColumnBackButtonSlim() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButtonSlim);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) _this.context.router.history.push('/');else _this.context.router.history.goBack();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButtonSlim.prototype.render = function render() {\n return _jsx('div', {\n className: 'column-back-button--slim'\n }, void 0, _jsx('div', {\n role: 'button',\n tabIndex: '0',\n onClick: this.handleClick,\n className: 'column-back-button column-back-button--slim-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n })));\n };\n\n return ColumnBackButtonSlim;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButtonSlim as default };" + }, + { + "id": 770, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "name": "./app/javascript/mastodon/features/blocks/index.js", + "index": 735, + "index2": 727, + "size": 3226, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 20 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../blocks", + "loc": "78:9-73" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport Column from '../ui/components/column';\nimport ColumnBackButtonSlim from '../../components/column_back_button_slim';\nimport AccountContainer from '../../containers/account_container';\nimport { fetchBlocks, expandBlocks } from '../../actions/blocks';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar messages = defineMessages({\n heading: {\n 'id': 'column.blocks',\n 'defaultMessage': 'Blocked users'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n accountIds: state.getIn(['user_lists', 'blocks', 'items'])\n };\n};\n\nvar Blocks = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Blocks, _ImmutablePureCompone);\n\n function Blocks() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Blocks);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleScroll = function (e) {\n var _e$target = e.target,\n scrollTop = _e$target.scrollTop,\n scrollHeight = _e$target.scrollHeight,\n clientHeight = _e$target.clientHeight;\n\n\n if (scrollTop === scrollHeight - clientHeight) {\n _this.props.dispatch(expandBlocks());\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Blocks.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchBlocks());\n };\n\n Blocks.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n accountIds = _props.accountIds;\n\n\n if (!accountIds) {\n return _jsx(Column, {}, void 0, _jsx(LoadingIndicator, {}));\n }\n\n return _jsx(Column, {\n icon: 'ban',\n heading: intl.formatMessage(messages.heading)\n }, void 0, _jsx(ColumnBackButtonSlim, {}), _jsx(ScrollContainer, {\n scrollKey: 'blocks'\n }, void 0, _jsx('div', {\n className: 'scrollable',\n onScroll: this.handleScroll\n }, void 0, accountIds.map(function (id) {\n return _jsx(AccountContainer, {\n id: id\n }, id);\n }))));\n };\n\n return Blocks;\n}(ImmutablePureComponent), _class2.propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class) || _class);\nexport { Blocks as default };" + }, + { + "id": 777, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "name": "./app/javascript/mastodon/containers/account_container.js", + "index": 534, + "index2": 524, + "size": 2429, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "issuerId": 882, + "issuerName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "11:0-69" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "12:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));" + }, + { + "id": 778, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "name": "./app/javascript/mastodon/components/account.js", + "index": 535, + "index2": 523, + "size": 4637, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "issuerId": 777, + "issuerName": "./app/javascript/mastodon/containers/account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../components/account", + "loc": "6:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nvar messages = defineMessages({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Account);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return _jsx('div', {});\n }\n\n if (hidden) {\n return _jsx('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = _jsx(IconButton, {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = _jsx(IconButton, {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return _jsx('div', {\n className: 'account'\n }, void 0, _jsx('div', {\n className: 'account__wrapper'\n }, void 0, _jsx(Permalink, {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), _jsx('div', {\n className: 'account__avatar-wrapper'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 36\n })), _jsx(DisplayName, {\n account: account\n })), _jsx('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(ImmutablePureComponent), _class2.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool\n}, _temp2)) || _class;\n\nexport { Account as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "78:9-73", + "name": "features/blocks", + "reasons": [] + } + ] + }, + { + "id": 21, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 15580, + "names": [ + "features/reblogs" + ], + "files": [ + "features/reblogs-e284a8647e830c151a40.js", + "features/reblogs-e284a8647e830c151a40.js.map" + ], + "hash": "e284a8647e830c151a40", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 765, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "name": "./app/javascript/mastodon/features/reblogs/index.js", + "index": 728, + "index2": 720, + "size": 2560, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 21 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../reblogs", + "loc": "58:9-75" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport { fetchReblogs } from '../../actions/interactions';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from '../../containers/account_container';\nimport Column from '../ui/components/column';\nimport ColumnBackButton from '../../components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar mapStateToProps = function mapStateToProps(state, props) {\n return {\n accountIds: state.getIn(['user_lists', 'reblogged_by', props.params.statusId])\n };\n};\n\nvar Reblogs = (_dec = connect(mapStateToProps), _dec(_class = (_temp = _class2 = function (_ImmutablePureCompone) {\n _inherits(Reblogs, _ImmutablePureCompone);\n\n function Reblogs() {\n _classCallCheck(this, Reblogs);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n Reblogs.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchReblogs(this.props.params.statusId));\n };\n\n Reblogs.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n this.props.dispatch(fetchReblogs(nextProps.params.statusId));\n }\n };\n\n Reblogs.prototype.render = function render() {\n var accountIds = this.props.accountIds;\n\n\n if (!accountIds) {\n return _jsx(Column, {}, void 0, _jsx(LoadingIndicator, {}));\n }\n\n return _jsx(Column, {}, void 0, _jsx(ColumnBackButton, {}), _jsx(ScrollContainer, {\n scrollKey: 'reblogs'\n }, void 0, _jsx('div', {\n className: 'scrollable reblogs'\n }, void 0, accountIds.map(function (id) {\n return _jsx(AccountContainer, {\n id: id,\n withNote: false\n }, id);\n }))));\n };\n\n return Reblogs;\n}(ImmutablePureComponent), _class2.propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list\n}, _temp)) || _class);\nexport { Reblogs as default };" + }, + { + "id": 777, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "name": "./app/javascript/mastodon/containers/account_container.js", + "index": 534, + "index2": 524, + "size": 2429, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "issuerId": 882, + "issuerName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "11:0-69" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "12:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));" + }, + { + "id": 778, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "name": "./app/javascript/mastodon/components/account.js", + "index": 535, + "index2": 523, + "size": 4637, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "issuerId": 777, + "issuerName": "./app/javascript/mastodon/containers/account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../components/account", + "loc": "6:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nvar messages = defineMessages({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Account);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return _jsx('div', {});\n }\n\n if (hidden) {\n return _jsx('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = _jsx(IconButton, {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = _jsx(IconButton, {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return _jsx('div', {\n className: 'account'\n }, void 0, _jsx('div', {\n className: 'account__wrapper'\n }, void 0, _jsx(Permalink, {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), _jsx('div', {\n className: 'account__avatar-wrapper'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 36\n })), _jsx(DisplayName, {\n account: account\n })), _jsx('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(ImmutablePureComponent), _class2.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool\n}, _temp2)) || _class;\n\nexport { Account as default };" + }, + { + "id": 779, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "name": "./app/javascript/mastodon/components/column_back_button.js", + "index": 712, + "index2": 703, + "size": 1711, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "issuerId": 766, + "issuerName": "./app/javascript/mastodon/features/favourites/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "24:0-67" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "18:0-67" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "16:0-67" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButton = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButton, _React$PureComponent);\n\n function ColumnBackButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) {\n _this.context.router.history.push('/');\n } else {\n _this.context.router.history.goBack();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButton.prototype.render = function render() {\n return _jsx('button', {\n onClick: this.handleClick,\n className: 'column-back-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n }));\n };\n\n return ColumnBackButton;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButton as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "58:9-75", + "name": "features/reblogs", + "reasons": [] + } + ] + }, + { + "id": 22, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 15612, + "names": [ + "features/favourites" + ], + "files": [ + "features/favourites-083fedd11007764f7fad.js", + "features/favourites-083fedd11007764f7fad.js.map" + ], + "hash": "083fedd11007764f7fad", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 766, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "name": "./app/javascript/mastodon/features/favourites/index.js", + "index": 729, + "index2": 721, + "size": 2592, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../favourites", + "loc": "62:9-81" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport { fetchFavourites } from '../../actions/interactions';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from '../../containers/account_container';\nimport Column from '../ui/components/column';\nimport ColumnBackButton from '../../components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar mapStateToProps = function mapStateToProps(state, props) {\n return {\n accountIds: state.getIn(['user_lists', 'favourited_by', props.params.statusId])\n };\n};\n\nvar Favourites = (_dec = connect(mapStateToProps), _dec(_class = (_temp = _class2 = function (_ImmutablePureCompone) {\n _inherits(Favourites, _ImmutablePureCompone);\n\n function Favourites() {\n _classCallCheck(this, Favourites);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n Favourites.prototype.componentWillMount = function componentWillMount() {\n this.props.dispatch(fetchFavourites(this.props.params.statusId));\n };\n\n Favourites.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n this.props.dispatch(fetchFavourites(nextProps.params.statusId));\n }\n };\n\n Favourites.prototype.render = function render() {\n var accountIds = this.props.accountIds;\n\n\n if (!accountIds) {\n return _jsx(Column, {}, void 0, _jsx(LoadingIndicator, {}));\n }\n\n return _jsx(Column, {}, void 0, _jsx(ColumnBackButton, {}), _jsx(ScrollContainer, {\n scrollKey: 'favourites'\n }, void 0, _jsx('div', {\n className: 'scrollable'\n }, void 0, accountIds.map(function (id) {\n return _jsx(AccountContainer, {\n id: id,\n withNote: false\n }, id);\n }))));\n };\n\n return Favourites;\n}(ImmutablePureComponent), _class2.propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list\n}, _temp)) || _class);\nexport { Favourites as default };" + }, + { + "id": 777, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "name": "./app/javascript/mastodon/containers/account_container.js", + "index": 534, + "index2": 524, + "size": 2429, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "issuerId": 882, + "issuerName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "15:0-66" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../containers/account_container", + "loc": "16:0-66" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "11:0-69" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/account_container", + "loc": "12:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport { followAccount, unfollowAccount, blockAccount, unblockAccount, muteAccount, unmuteAccount } from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nvar messages = defineMessages({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(unfollowAccount(account.get('id')));\n }\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));" + }, + { + "id": 778, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "name": "./app/javascript/mastodon/components/account.js", + "index": 535, + "index2": 523, + "size": 4637, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 8, + 14, + 15, + 19, + 20, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "issuerId": 777, + "issuerName": "./app/javascript/mastodon/containers/account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../components/account", + "loc": "6:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nvar messages = defineMessages({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Account);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return _jsx('div', {});\n }\n\n if (hidden) {\n return _jsx('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = _jsx(IconButton, {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = _jsx(IconButton, {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = _jsx(IconButton, {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return _jsx('div', {\n className: 'account'\n }, void 0, _jsx('div', {\n className: 'account__wrapper'\n }, void 0, _jsx(Permalink, {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), _jsx('div', {\n className: 'account__avatar-wrapper'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 36\n })), _jsx(DisplayName, {\n account: account\n })), _jsx('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(ImmutablePureComponent), _class2.propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool\n}, _temp2)) || _class;\n\nexport { Account as default };" + }, + { + "id": 779, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "name": "./app/javascript/mastodon/components/column_back_button.js", + "index": 712, + "index2": 703, + "size": 1711, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 21, + 22 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "issuerId": 766, + "issuerName": "./app/javascript/mastodon/features/favourites/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "24:0-67" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "18:0-67" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "16:0-67" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "19:0-67" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button", + "loc": "17:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButton = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButton, _React$PureComponent);\n\n function ColumnBackButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) {\n _this.context.router.history.push('/');\n } else {\n _this.context.router.history.goBack();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButton.prototype.render = function render() {\n return _jsx('button', {\n onClick: this.handleClick,\n className: 'column-back-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n }));\n };\n\n return ColumnBackButton;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButton as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "62:9-81", + "name": "features/favourites", + "reasons": [] + } + ] + }, + { + "id": 23, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 12882, + "names": [ + "features/getting_started" + ], + "files": [ + "features/getting_started-b65f1e917d66a972f2bf.js", + "features/getting_started-b65f1e917d66a972f2bf.js.map" + ], + "hash": "b65f1e917d66a972f2bf", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 759, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "name": "./app/javascript/mastodon/features/getting_started/index.js", + "index": 713, + "index2": 707, + "size": 7649, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 23 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../getting_started", + "loc": "34:9-91" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp;\n\nimport React from 'react';\nimport Column from '../ui/components/column';\nimport ColumnLink from '../ui/components/column_link';\nimport ColumnSubheading from '../ui/components/column_subheading';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../../initial_state';\n\nvar messages = defineMessages({\n heading: {\n 'id': 'getting_started.heading',\n 'defaultMessage': 'Getting started'\n },\n home_timeline: {\n 'id': 'tabs_bar.home',\n 'defaultMessage': 'Home'\n },\n notifications: {\n 'id': 'tabs_bar.notifications',\n 'defaultMessage': 'Notifications'\n },\n public_timeline: {\n 'id': 'navigation_bar.public_timeline',\n 'defaultMessage': 'Federated timeline'\n },\n navigation_subheading: {\n 'id': 'column_subheading.navigation',\n 'defaultMessage': 'Navigation'\n },\n settings_subheading: {\n 'id': 'column_subheading.settings',\n 'defaultMessage': 'Settings'\n },\n community_timeline: {\n 'id': 'navigation_bar.community_timeline',\n 'defaultMessage': 'Local timeline'\n },\n preferences: {\n 'id': 'navigation_bar.preferences',\n 'defaultMessage': 'Preferences'\n },\n follow_requests: {\n 'id': 'navigation_bar.follow_requests',\n 'defaultMessage': 'Follow requests'\n },\n sign_out: {\n 'id': 'navigation_bar.logout',\n 'defaultMessage': 'Logout'\n },\n favourites: {\n 'id': 'navigation_bar.favourites',\n 'defaultMessage': 'Favourites'\n },\n blocks: {\n 'id': 'navigation_bar.blocks',\n 'defaultMessage': 'Blocked users'\n },\n mutes: {\n 'id': 'navigation_bar.mutes',\n 'defaultMessage': 'Muted users'\n },\n info: {\n 'id': 'navigation_bar.info',\n 'defaultMessage': 'Extended information'\n },\n pins: {\n 'id': 'navigation_bar.pins',\n 'defaultMessage': 'Pinned toots'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n myAccount: state.getIn(['accounts', me]),\n columns: state.getIn(['settings', 'columns'])\n };\n};\n\nvar GettingStarted = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = (_temp = _class2 = function (_ImmutablePureCompone) {\n _inherits(GettingStarted, _ImmutablePureCompone);\n\n function GettingStarted() {\n _classCallCheck(this, GettingStarted);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n GettingStarted.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n myAccount = _props.myAccount,\n columns = _props.columns,\n multiColumn = _props.multiColumn;\n\n\n var navItems = [];\n\n if (multiColumn) {\n if (!columns.find(function (item) {\n return item.get('id') === 'HOME';\n })) {\n navItems.push(_jsx(ColumnLink, {\n icon: 'home',\n text: intl.formatMessage(messages.home_timeline),\n to: '/timelines/home'\n }, '0'));\n }\n\n if (!columns.find(function (item) {\n return item.get('id') === 'NOTIFICATIONS';\n })) {\n navItems.push(_jsx(ColumnLink, {\n icon: 'bell',\n text: intl.formatMessage(messages.notifications),\n to: '/notifications'\n }, '1'));\n }\n\n if (!columns.find(function (item) {\n return item.get('id') === 'COMMUNITY';\n })) {\n navItems.push(_jsx(ColumnLink, {\n icon: 'users',\n text: intl.formatMessage(messages.community_timeline),\n to: '/timelines/public/local'\n }, '2'));\n }\n\n if (!columns.find(function (item) {\n return item.get('id') === 'PUBLIC';\n })) {\n navItems.push(_jsx(ColumnLink, {\n icon: 'globe',\n text: intl.formatMessage(messages.public_timeline),\n to: '/timelines/public'\n }, '3'));\n }\n }\n\n navItems = navItems.concat([_jsx(ColumnLink, {\n icon: 'star',\n text: intl.formatMessage(messages.favourites),\n to: '/favourites'\n }, '4'), _jsx(ColumnLink, {\n icon: 'thumb-tack',\n text: intl.formatMessage(messages.pins),\n to: '/pinned'\n }, '5')]);\n\n if (myAccount.get('locked')) {\n navItems.push(_jsx(ColumnLink, {\n icon: 'users',\n text: intl.formatMessage(messages.follow_requests),\n to: '/follow_requests'\n }, '6'));\n }\n\n navItems = navItems.concat([_jsx(ColumnLink, {\n icon: 'volume-off',\n text: intl.formatMessage(messages.mutes),\n to: '/mutes'\n }, '7'), _jsx(ColumnLink, {\n icon: 'ban',\n text: intl.formatMessage(messages.blocks),\n to: '/blocks'\n }, '8')]);\n\n return _jsx(Column, {\n icon: 'asterisk',\n heading: intl.formatMessage(messages.heading),\n hideHeadingOnMobile: true\n }, void 0, _jsx('div', {\n className: 'getting-started__wrapper'\n }, void 0, _jsx(ColumnSubheading, {\n text: intl.formatMessage(messages.navigation_subheading)\n }), navItems, _jsx(ColumnSubheading, {\n text: intl.formatMessage(messages.settings_subheading)\n }), _jsx(ColumnLink, {\n icon: 'book',\n text: intl.formatMessage(messages.info),\n href: '/about/more'\n }), _jsx(ColumnLink, {\n icon: 'cog',\n text: intl.formatMessage(messages.preferences),\n href: '/settings/preferences'\n }), _jsx(ColumnLink, {\n icon: 'sign-out',\n text: intl.formatMessage(messages.sign_out),\n href: '/auth/sign_out',\n method: 'delete'\n })), _jsx('div', {\n className: 'getting-started__footer scrollable optionally-scrollable'\n }, void 0, _jsx('div', {\n className: 'static-content getting-started'\n }, void 0, _jsx('p', {}, void 0, _jsx('a', {\n href: 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/FAQ.md',\n rel: 'noopener',\n target: '_blank'\n }, void 0, _jsx(FormattedMessage, {\n id: 'getting_started.faq',\n defaultMessage: 'FAQ'\n })), ' \\u2022 ', _jsx('a', {\n href: 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/User-guide.md',\n rel: 'noopener',\n target: '_blank'\n }, void 0, _jsx(FormattedMessage, {\n id: 'getting_started.userguide',\n defaultMessage: 'User Guide'\n })), ' \\u2022 ', _jsx('a', {\n href: 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md',\n rel: 'noopener',\n target: '_blank'\n }, void 0, _jsx(FormattedMessage, {\n id: 'getting_started.appsshort',\n defaultMessage: 'Apps'\n }))), _jsx('p', {}, void 0, _jsx(FormattedMessage, {\n id: 'getting_started.open_source_notice',\n defaultMessage: 'Mastodon is open source software. You can contribute or report issues on GitHub at {github}.',\n values: { github: _jsx('a', {\n href: 'https://github.com/tootsuite/mastodon',\n rel: 'noopener',\n target: '_blank'\n }, void 0, 'tootsuite/mastodon') }\n })))));\n };\n\n return GettingStarted;\n}(ImmutablePureComponent), _class2.propTypes = {\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n columns: ImmutablePropTypes.list,\n multiColumn: PropTypes.bool\n}, _temp)) || _class) || _class);\nexport { GettingStarted as default };" + }, + { + "id": 896, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_link.js", + "name": "./app/javascript/mastodon/features/ui/components/column_link.js", + "index": 714, + "index2": 705, + "size": 719, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 23 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "issuerId": 759, + "issuerName": "./app/javascript/mastodon/features/getting_started/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column_link", + "loc": "10:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\n\nimport { Link } from 'react-router-dom';\n\nvar ColumnLink = function ColumnLink(_ref) {\n var icon = _ref.icon,\n text = _ref.text,\n to = _ref.to,\n href = _ref.href,\n method = _ref.method;\n\n if (href) {\n return _jsx('a', {\n href: href,\n className: 'column-link',\n 'data-method': method\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-' + icon + ' column-link__icon'\n }), text);\n } else {\n return _jsx(Link, {\n to: to,\n className: 'column-link'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-' + icon + ' column-link__icon'\n }), text);\n }\n};\n\nexport default ColumnLink;" + }, + { + "id": 897, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_subheading.js", + "name": "./app/javascript/mastodon/features/ui/components/column_subheading.js", + "index": 715, + "index2": 706, + "size": 271, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 23 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "issuerId": 759, + "issuerName": "./app/javascript/mastodon/features/getting_started/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column_subheading", + "loc": "11:0-66" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\n\n\nvar ColumnSubheading = function ColumnSubheading(_ref) {\n var text = _ref.text;\n\n return _jsx('div', {\n className: 'column-subheading'\n }, void 0, text);\n};\n\nexport default ColumnSubheading;" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "34:9-91", + "name": "features/getting_started", + "reasons": [] + } + ] + }, + { + "id": 24, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 4984, + "names": [ + "features/generic_not_found" + ], + "files": [ + "features/generic_not_found-dc757b4cfe00489a06fb.js", + "features/generic_not_found-dc757b4cfe00489a06fb.js.map" + ], + "hash": "dc757b4cfe00489a06fb", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 768, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "name": "./app/javascript/mastodon/features/generic_not_found/index.js", + "index": 733, + "index2": 725, + "size": 336, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 24 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../generic_not_found", + "loc": "70:9-95" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport Column from '../ui/components/column';\nimport MissingIndicator from '../../components/missing_indicator';\n\nvar GenericNotFound = function GenericNotFound() {\n return _jsx(Column, {}, void 0, _jsx(MissingIndicator, {}));\n};\n\nexport default GenericNotFound;" + }, + { + "id": 780, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "name": "./app/javascript/mastodon/components/missing_indicator.js", + "index": 701, + "index2": 692, + "size": 405, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 13, + 14, + 15, + 16, + 24 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "issuerId": 768, + "issuerName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "14:0-66" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../../components/missing_indicator", + "loc": "4:0-66" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "../../../components/missing_indicator", + "loc": "13:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nvar MissingIndicator = function MissingIndicator() {\n return _jsx('div', {\n className: 'missing-indicator'\n }, void 0, _jsx('div', {}, void 0, _jsx(FormattedMessage, {\n id: 'missing_indicator.label',\n defaultMessage: 'Not found'\n })));\n};\n\nexport default MissingIndicator;" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "70:9-95", + "name": "features/generic_not_found", + "reasons": [] + } + ] + }, + { + "id": 25, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 3268, + "names": [ + "modals/embed_modal" + ], + "files": [ + "modals/embed_modal-c776fd6a0ea581675783.js", + "modals/embed_modal-c776fd6a0ea581675783.js.map" + ], + "hash": "c776fd6a0ea581675783", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 774, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "name": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "index": 756, + "index2": 748, + "size": 3268, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 25 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "issuerId": 61, + "issuerName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../components/embed_modal", + "loc": "102:9-89" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport axios from 'axios';\n\nvar EmbedModal = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(EmbedModal, _ImmutablePureCompone);\n\n function EmbedModal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, EmbedModal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n loading: false,\n oembed: null\n }, _this.setIframeRef = function (c) {\n _this.iframe = c;\n }, _this.handleTextareaClick = function (e) {\n e.target.select();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n EmbedModal.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var url = this.props.url;\n\n\n this.setState({ loading: true });\n\n axios.post('/api/web/embed', { url: url }).then(function (res) {\n _this2.setState({ loading: false, oembed: res.data });\n\n var iframeDocument = _this2.iframe.contentWindow.document;\n\n iframeDocument.open();\n iframeDocument.write(res.data.html);\n iframeDocument.close();\n\n iframeDocument.body.style.margin = 0;\n _this2.iframe.width = iframeDocument.body.scrollWidth;\n _this2.iframe.height = iframeDocument.body.scrollHeight;\n });\n };\n\n EmbedModal.prototype.render = function render() {\n var oembed = this.state.oembed;\n\n\n return _jsx('div', {\n className: 'modal-root__modal embed-modal'\n }, void 0, _jsx('h4', {}, void 0, _jsx(FormattedMessage, {\n id: 'status.embed',\n defaultMessage: 'Embed'\n })), _jsx('div', {\n className: 'embed-modal__container'\n }, void 0, _jsx('p', {\n className: 'hint'\n }, void 0, _jsx(FormattedMessage, {\n id: 'embed.instructions',\n defaultMessage: 'Embed this status on your website by copying the code below.'\n })), _jsx('input', {\n type: 'text',\n className: 'embed-modal__html',\n readOnly: true,\n value: oembed && oembed.html || '',\n onClick: this.handleTextareaClick\n }), _jsx('p', {\n className: 'hint'\n }, void 0, _jsx(FormattedMessage, {\n id: 'embed.preview',\n defaultMessage: 'Here is what it will look like:'\n })), React.createElement('iframe', {\n className: 'embed-modal__iframe',\n frameBorder: '0',\n ref: this.setIframeRef,\n title: 'preview'\n })));\n };\n\n return EmbedModal;\n}(ImmutablePureComponent), _class2.propTypes = {\n url: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class;\n\nexport { EmbedModal as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "102:9-89", + "name": "modals/embed_modal", + "reasons": [] + } + ] + }, + { + "id": 26, + "rendered": true, + "initial": false, + "entry": false, + "extraAsync": false, + "size": 9703, + "names": [ + "status/media_gallery" + ], + "files": [ + "status/media_gallery-7642f779bf4243e58b78.js", + "status/media_gallery-7642f779bf4243e58b78.js.map" + ], + "hash": "7642f779bf4243e58b78", + "parents": [ + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 27, + 28, + 29 + ], + "modules": [ + { + "id": 159, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "name": "./app/javascript/mastodon/components/media_gallery.js", + "index": 703, + "index2": 693, + "size": 9703, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13, + 26, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "issuerId": 654, + "issuerName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../../components/media_gallery", + "loc": "94:9-99" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "../components/media_gallery", + "loc": "11:0-55" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "../../../components/media_gallery", + "loc": "14:0-61" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2, _class2, _class3, _temp4;\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { is } from 'immutable';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { isIOS } from '../is_mobile';\nimport classNames from 'classnames';\nimport { autoPlayGif } from '../initial_state';\n\nvar messages = defineMessages({\n toggle_visible: {\n 'id': 'media_gallery.toggle_visible',\n 'defaultMessage': 'Toggle visibility'\n }\n});\n\nvar Item = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(Item, _React$PureComponent);\n\n function Item() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Item);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleMouseEnter = function (e) {\n if (_this.hoverToPlay()) {\n e.target.play();\n }\n }, _this.handleMouseLeave = function (e) {\n if (_this.hoverToPlay()) {\n e.target.pause();\n e.target.currentTime = 0;\n }\n }, _this.handleClick = function (e) {\n var _this$props = _this.props,\n index = _this$props.index,\n onClick = _this$props.onClick;\n\n\n if (_this.context.router && e.button === 0) {\n e.preventDefault();\n onClick(index);\n }\n\n e.stopPropagation();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Item.prototype.hoverToPlay = function hoverToPlay() {\n var attachment = this.props.attachment;\n\n return !autoPlayGif && attachment.get('type') === 'gifv';\n };\n\n Item.prototype.render = function render() {\n var _props = this.props,\n attachment = _props.attachment,\n index = _props.index,\n size = _props.size,\n standalone = _props.standalone;\n\n\n var width = 50;\n var height = 100;\n var top = 'auto';\n var left = 'auto';\n var bottom = 'auto';\n var right = 'auto';\n\n if (size === 1) {\n width = 100;\n }\n\n if (size === 4 || size === 3 && index > 0) {\n height = 50;\n }\n\n if (size === 2) {\n if (index === 0) {\n right = '2px';\n } else {\n left = '2px';\n }\n } else if (size === 3) {\n if (index === 0) {\n right = '2px';\n } else if (index > 0) {\n left = '2px';\n }\n\n if (index === 1) {\n bottom = '2px';\n } else if (index > 1) {\n top = '2px';\n }\n } else if (size === 4) {\n if (index === 0 || index === 2) {\n right = '2px';\n }\n\n if (index === 1 || index === 3) {\n left = '2px';\n }\n\n if (index < 2) {\n bottom = '2px';\n } else {\n top = '2px';\n }\n }\n\n var thumbnail = '';\n\n if (attachment.get('type') === 'image') {\n var previewUrl = attachment.get('preview_url');\n var previewWidth = attachment.getIn(['meta', 'small', 'width']);\n\n var originalUrl = attachment.get('url');\n var originalWidth = attachment.getIn(['meta', 'original', 'width']);\n\n var hasSize = typeof originalWidth === 'number' && typeof previewWidth === 'number';\n\n var srcSet = hasSize ? originalUrl + ' ' + originalWidth + 'w, ' + previewUrl + ' ' + previewWidth + 'w' : null;\n var sizes = hasSize ? '(min-width: 1025px) ' + 320 * (width / 100) + 'px, ' + width + 'vw' : null;\n\n thumbnail = _jsx('a', {\n className: 'media-gallery__item-thumbnail',\n href: attachment.get('remote_url') || originalUrl,\n onClick: this.handleClick,\n target: '_blank'\n }, void 0, _jsx('img', {\n src: previewUrl,\n srcSet: srcSet,\n sizes: sizes,\n alt: attachment.get('description'),\n title: attachment.get('description')\n }));\n } else if (attachment.get('type') === 'gifv') {\n var autoPlay = !isIOS() && autoPlayGif;\n\n thumbnail = _jsx('div', {\n className: classNames('media-gallery__gifv', { autoplay: autoPlay })\n }, void 0, _jsx('video', {\n className: 'media-gallery__item-gifv-thumbnail',\n 'aria-label': attachment.get('description'),\n role: 'application',\n src: attachment.get('url'),\n onClick: this.handleClick,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n autoPlay: autoPlay,\n loop: true,\n muted: true\n }), _jsx('span', {\n className: 'media-gallery__gifv__label'\n }, void 0, 'GIF'));\n }\n\n return _jsx('div', {\n className: classNames('media-gallery__item', { standalone: standalone }),\n style: { left: left, top: top, right: right, bottom: bottom, width: width + '%', height: height + '%' }\n }, attachment.get('id'), thumbnail);\n };\n\n return Item;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n standalone: false,\n index: 0,\n size: 1\n}, _temp2);\n\nvar MediaGallery = injectIntl(_class2 = (_temp4 = _class3 = function (_React$PureComponent2) {\n _inherits(MediaGallery, _React$PureComponent2);\n\n function MediaGallery() {\n var _temp3, _this2, _ret2;\n\n _classCallCheck(this, MediaGallery);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp3 = (_this2 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n visible: !_this2.props.sensitive\n }, _this2.handleOpen = function () {\n _this2.setState({ visible: !_this2.state.visible });\n }, _this2.handleClick = function (index) {\n _this2.props.onOpenMedia(_this2.props.media, index);\n }, _this2.handleRef = function (node) {\n if (node && _this2.isStandaloneEligible()) {\n // offsetWidth triggers a layout, so only calculate when we need to\n _this2.setState({\n width: node.offsetWidth\n });\n }\n }, _temp3), _possibleConstructorReturn(_this2, _ret2);\n }\n\n MediaGallery.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!is(nextProps.media, this.props.media)) {\n this.setState({ visible: !nextProps.sensitive });\n }\n };\n\n MediaGallery.prototype.isStandaloneEligible = function isStandaloneEligible() {\n var _props2 = this.props,\n media = _props2.media,\n standalone = _props2.standalone;\n\n return standalone && media.size === 1 && media.getIn([0, 'meta', 'small', 'aspect']);\n };\n\n MediaGallery.prototype.render = function render() {\n var _this3 = this;\n\n var _props3 = this.props,\n media = _props3.media,\n intl = _props3.intl,\n sensitive = _props3.sensitive,\n height = _props3.height;\n var _state = this.state,\n width = _state.width,\n visible = _state.visible;\n\n\n var children = void 0;\n\n var style = {};\n\n if (this.isStandaloneEligible()) {\n if (!visible && width) {\n // only need to forcibly set the height in \"sensitive\" mode\n style.height = width / this.props.media.getIn([0, 'meta', 'small', 'aspect']);\n } else {\n // layout automatically, using image's natural aspect ratio\n style.height = '';\n }\n } else {\n // crop the image\n style.height = height;\n }\n\n if (!visible) {\n var warning = void 0;\n\n if (sensitive) {\n warning = _jsx(FormattedMessage, {\n id: 'status.sensitive_warning',\n defaultMessage: 'Sensitive content'\n });\n } else {\n warning = _jsx(FormattedMessage, {\n id: 'status.media_hidden',\n defaultMessage: 'Media hidden'\n });\n }\n\n children = React.createElement(\n 'button',\n { className: 'media-spoiler', onClick: this.handleOpen, style: style, ref: this.handleRef },\n _jsx('span', {\n className: 'media-spoiler__warning'\n }, void 0, warning),\n _jsx('span', {\n className: 'media-spoiler__trigger'\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.sensitive_toggle',\n defaultMessage: 'Click to view'\n }))\n );\n } else {\n var size = media.take(4).size;\n\n if (this.isStandaloneEligible()) {\n children = _jsx(Item, {\n standalone: true,\n onClick: this.handleClick,\n attachment: media.get(0)\n });\n } else {\n children = media.take(4).map(function (attachment, i) {\n return _jsx(Item, {\n onClick: _this3.handleClick,\n attachment: attachment,\n index: i,\n size: size\n }, attachment.get('id'));\n });\n }\n }\n\n return _jsx('div', {\n className: 'media-gallery',\n style: style\n }, void 0, _jsx('div', {\n className: classNames('spoiler-button', { 'spoiler-button--visible': visible })\n }, void 0, _jsx(IconButton, {\n title: intl.formatMessage(messages.toggle_visible),\n icon: visible ? 'eye' : 'eye-slash',\n overlay: true,\n onClick: this.handleOpen\n })), children);\n };\n\n return MediaGallery;\n}(React.PureComponent), _class3.defaultProps = {\n standalone: false\n}, _temp4)) || _class2;\n\nexport { MediaGallery as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 61, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "loc": "94:9-99", + "name": "status/media_gallery", + "reasons": [] + } + ] + }, + { + "id": 27, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 161711, + "names": [ + "application" + ], + "files": [ + "application-1b1f37dff2aac402336b.js", + "application-1b1f37dff2aac402336b.js.map" + ], + "hash": "1b1f37dff2aac402336b", + "parents": [ + 65 + ], + "modules": [ + { + "id": 6, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "name": "./node_modules/react-intl/lib/index.es.js", + "index": 301, + "index2": 306, + "size": 49880, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27, + 28, + 29, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "issuerId": 653, + "issuerName": "./app/javascript/mastodon/containers/video_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 45, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "module": "./app/javascript/mastodon/actions/notifications.js", + "moduleName": "./app/javascript/mastodon/actions/notifications.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "5:0-44" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-46" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 131, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/relative_timestamp.js", + "module": "./app/javascript/mastodon/components/relative_timestamp.js", + "moduleName": "./app/javascript/mastodon/components/relative_timestamp.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-56" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "20:0-46" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-74" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-57" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-58" + }, + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-56" + }, + { + "moduleId": 260, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "module": "./app/javascript/mastodon/components/load_more.js", + "moduleName": "./app/javascript/mastodon/components/load_more.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-74" + }, + { + "moduleId": 271, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/loading_indicator.js", + "module": "./app/javascript/mastodon/components/loading_indicator.js", + "moduleName": "./app/javascript/mastodon/components/loading_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "3:0-46" + }, + { + "moduleId": 272, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "module": "./app/javascript/mastodon/components/column_back_button_slim.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button_slim.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-56" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "14:0-56" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-56" + }, + { + "moduleId": 298, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "4:0-56" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-56" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-56" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "6:0-46" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-57" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "29:0-56" + }, + { + "moduleId": 633, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-56" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 641, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-58" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-40" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "8:0-57" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-57" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-57" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-74" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-46" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "27:0-56" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-74" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-56" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "21:0-46" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-56" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-74" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-58" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "4:0-74" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 779, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "module": "./app/javascript/mastodon/components/column_back_button.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 780, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "module": "./app/javascript/mastodon/components/missing_indicator.js", + "moduleName": "./app/javascript/mastodon/components/missing_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "3:0-46" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-91" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "14:0-46" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-46" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-46" + }, + { + "moduleId": 885, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "2:0-56" + }, + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-46" + }, + { + "moduleId": 887, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "module": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-46" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-60" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + } + ], + "usedExports": [ + "FormattedDate", + "FormattedMessage", + "FormattedNumber", + "IntlProvider", + "addLocaleData", + "defineMessages", + "injectIntl" + ], + "providedExports": [ + "addLocaleData", + "intlShape", + "injectIntl", + "defineMessages", + "IntlProvider", + "FormattedDate", + "FormattedTime", + "FormattedRelative", + "FormattedNumber", + "FormattedPlural", + "FormattedMessage", + "FormattedHTMLMessage" + ], + "optimizationBailout": [], + "depth": 2, + "source": "/*\n * Copyright 2017, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nimport allLocaleData from '../locale-data/index.js';\nimport IntlMessageFormat from 'intl-messageformat';\nimport IntlRelativeFormat from 'intl-relativeformat';\nimport PropTypes from 'prop-types';\nimport React, { Children, Component, createElement, isValidElement } from 'react';\nimport invariant from 'invariant';\nimport memoizeIntlConstructor from 'intl-format-cache';\n\n// GENERATED FILE\nvar defaultLocaleData = { \"locale\": \"en\", \"pluralRuleFunction\": function pluralRuleFunction(n, ord) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";return n == 1 && v0 ? \"one\" : \"other\";\n }, \"fields\": { \"year\": { \"displayName\": \"year\", \"relative\": { \"0\": \"this year\", \"1\": \"next year\", \"-1\": \"last year\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} year\", \"other\": \"in {0} years\" }, \"past\": { \"one\": \"{0} year ago\", \"other\": \"{0} years ago\" } } }, \"month\": { \"displayName\": \"month\", \"relative\": { \"0\": \"this month\", \"1\": \"next month\", \"-1\": \"last month\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} month\", \"other\": \"in {0} months\" }, \"past\": { \"one\": \"{0} month ago\", \"other\": \"{0} months ago\" } } }, \"day\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"hour\": { \"displayName\": \"hour\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hour\", \"other\": \"in {0} hours\" }, \"past\": { \"one\": \"{0} hour ago\", \"other\": \"{0} hours ago\" } } }, \"minute\": { \"displayName\": \"minute\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} minute\", \"other\": \"in {0} minutes\" }, \"past\": { \"one\": \"{0} minute ago\", \"other\": \"{0} minutes ago\" } } }, \"second\": { \"displayName\": \"second\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} second\", \"other\": \"in {0} seconds\" }, \"past\": { \"one\": \"{0} second ago\", \"other\": \"{0} seconds ago\" } } } } };\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction addLocaleData() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var locales = Array.isArray(data) ? data : [data];\n\n locales.forEach(function (localeData) {\n if (localeData && localeData.locale) {\n IntlMessageFormat.__addLocaleData(localeData);\n IntlRelativeFormat.__addLocaleData(localeData);\n }\n });\n}\n\nfunction hasLocaleData(locale) {\n var localeParts = (locale || '').split('-');\n\n while (localeParts.length > 0) {\n if (hasIMFAndIRFLocaleData(localeParts.join('-'))) {\n return true;\n }\n\n localeParts.pop();\n }\n\n return false;\n}\n\nfunction hasIMFAndIRFLocaleData(locale) {\n var normalizedLocale = locale && locale.toLowerCase();\n\n return !!(IntlMessageFormat.__localeData__[normalizedLocale] && IntlRelativeFormat.__localeData__[normalizedLocale]);\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function 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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar bool = PropTypes.bool;\nvar number = PropTypes.number;\nvar string = PropTypes.string;\nvar func = PropTypes.func;\nvar object = PropTypes.object;\nvar oneOf = PropTypes.oneOf;\nvar shape = PropTypes.shape;\nvar any = PropTypes.any;\nvar oneOfType = PropTypes.oneOfType;\n\nvar localeMatcher = oneOf(['best fit', 'lookup']);\nvar narrowShortLong = oneOf(['narrow', 'short', 'long']);\nvar numeric2digit = oneOf(['numeric', '2-digit']);\nvar funcReq = func.isRequired;\n\nvar intlConfigPropTypes = {\n locale: string,\n formats: object,\n messages: object,\n textComponent: any,\n\n defaultLocale: string,\n defaultFormats: object\n};\n\nvar intlFormatPropTypes = {\n formatDate: funcReq,\n formatTime: funcReq,\n formatRelative: funcReq,\n formatNumber: funcReq,\n formatPlural: funcReq,\n formatMessage: funcReq,\n formatHTMLMessage: funcReq\n};\n\nvar intlShape = shape(_extends({}, intlConfigPropTypes, intlFormatPropTypes, {\n formatters: object,\n now: funcReq\n}));\n\nvar messageDescriptorPropTypes = {\n id: string.isRequired,\n description: oneOfType([string, object]),\n defaultMessage: string\n};\n\nvar dateTimeFormatPropTypes = {\n localeMatcher: localeMatcher,\n formatMatcher: oneOf(['basic', 'best fit']),\n\n timeZone: string,\n hour12: bool,\n\n weekday: narrowShortLong,\n era: narrowShortLong,\n year: numeric2digit,\n month: oneOf(['numeric', '2-digit', 'narrow', 'short', 'long']),\n day: numeric2digit,\n hour: numeric2digit,\n minute: numeric2digit,\n second: numeric2digit,\n timeZoneName: oneOf(['short', 'long'])\n};\n\nvar numberFormatPropTypes = {\n localeMatcher: localeMatcher,\n\n style: oneOf(['decimal', 'currency', 'percent']),\n currency: string,\n currencyDisplay: oneOf(['symbol', 'code', 'name']),\n useGrouping: bool,\n\n minimumIntegerDigits: number,\n minimumFractionDigits: number,\n maximumFractionDigits: number,\n minimumSignificantDigits: number,\n maximumSignificantDigits: number\n};\n\nvar relativeFormatPropTypes = {\n style: oneOf(['best fit', 'numeric']),\n units: oneOf(['second', 'minute', 'hour', 'day', 'month', 'year'])\n};\n\nvar pluralFormatPropTypes = {\n style: oneOf(['cardinal', 'ordinal'])\n};\n\n/*\nHTML escaping and shallow-equals implementations are the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\n\nvar intlConfigPropNames = Object.keys(intlConfigPropTypes);\n\nvar ESCAPED_CHARS = {\n '&': '&',\n '>': '>',\n '<': '<',\n '\"': '"',\n \"'\": '''\n};\n\nvar UNSAFE_CHARS_REGEX = /[&><\"']/g;\n\nfunction escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) {\n return ESCAPED_CHARS[match];\n });\n}\n\nfunction filterProps(props, whitelist) {\n var defaults$$1 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return whitelist.reduce(function (filtered, name) {\n if (props.hasOwnProperty(name)) {\n filtered[name] = props[name];\n } else if (defaults$$1.hasOwnProperty(name)) {\n filtered[name] = defaults$$1[name];\n }\n\n return filtered;\n }, {});\n}\n\nfunction invariantIntlContext() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n intl = _ref.intl;\n\n invariant(intl, '[React Intl] Could not find required `intl` object. ' + ' needs to exist in the component ancestry.');\n}\n\nfunction shallowEquals(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n for (var i = 0; i < keysA.length; i++) {\n if (!bHasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shouldIntlComponentUpdate(_ref2, nextProps, nextState) {\n var props = _ref2.props,\n state = _ref2.state,\n _ref2$context = _ref2.context,\n context = _ref2$context === undefined ? {} : _ref2$context;\n var nextContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _context$intl = context.intl,\n intl = _context$intl === undefined ? {} : _context$intl;\n var _nextContext$intl = nextContext.intl,\n nextIntl = _nextContext$intl === undefined ? {} : _nextContext$intl;\n\n return !shallowEquals(nextProps, props) || !shallowEquals(nextState, state) || !(nextIntl === intl || shallowEquals(filterProps(nextIntl, intlConfigPropNames), filterProps(intl, intlConfigPropNames)));\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// Inspired by react-redux's `connect()` HOC factory function implementation:\n// https://github.com/rackt/react-redux\n\nfunction getDisplayName(Component$$1) {\n return Component$$1.displayName || Component$$1.name || 'Component';\n}\n\nfunction injectIntl(WrappedComponent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$intlPropName = options.intlPropName,\n intlPropName = _options$intlPropName === undefined ? 'intl' : _options$intlPropName,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var InjectIntl = function (_Component) {\n inherits(InjectIntl, _Component);\n\n function InjectIntl(props, context) {\n classCallCheck(this, InjectIntl);\n\n var _this = possibleConstructorReturn(this, (InjectIntl.__proto__ || Object.getPrototypeOf(InjectIntl)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(InjectIntl, [{\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n invariant(withRef, '[React Intl] To access the wrapped instance, ' + 'the `{withRef: true}` option must be set when calling: ' + '`injectIntl()`');\n\n return this.refs.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(WrappedComponent, _extends({}, this.props, defineProperty({}, intlPropName, this.context.intl), {\n ref: withRef ? 'wrappedInstance' : null\n }));\n }\n }]);\n return InjectIntl;\n }(Component);\n\n InjectIntl.displayName = 'InjectIntl(' + getDisplayName(WrappedComponent) + ')';\n InjectIntl.contextTypes = {\n intl: intlShape\n };\n InjectIntl.WrappedComponent = WrappedComponent;\n\n return InjectIntl;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction defineMessages(messageDescriptors) {\n // This simply returns what's passed-in because it's meant to be a hook for\n // babel-plugin-react-intl.\n return messageDescriptors;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// This is a \"hack\" until a proper `intl-pluralformat` package is created.\n\nfunction resolveLocale(locales) {\n // IntlMessageFormat#_resolveLocale() does not depend on `this`.\n return IntlMessageFormat.prototype._resolveLocale(locales);\n}\n\nfunction findPluralFunction(locale) {\n // IntlMessageFormat#_findPluralFunction() does not depend on `this`.\n return IntlMessageFormat.prototype._findPluralRuleFunction(locale);\n}\n\nvar IntlPluralFormat = function IntlPluralFormat(locales) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlPluralFormat);\n\n var useOrdinal = options.style === 'ordinal';\n var pluralFn = findPluralFunction(resolveLocale(locales));\n\n this.format = function (value) {\n return pluralFn(value, useOrdinal);\n };\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar DATE_TIME_FORMAT_OPTIONS = Object.keys(dateTimeFormatPropTypes);\nvar NUMBER_FORMAT_OPTIONS = Object.keys(numberFormatPropTypes);\nvar RELATIVE_FORMAT_OPTIONS = Object.keys(relativeFormatPropTypes);\nvar PLURAL_FORMAT_OPTIONS = Object.keys(pluralFormatPropTypes);\n\nvar RELATIVE_FORMAT_THRESHOLDS = {\n second: 60, // seconds to minute\n minute: 60, // minutes to hour\n hour: 24, // hours to day\n day: 30, // days to month\n month: 12 // months to year\n};\n\nfunction updateRelativeFormatThresholds(newThresholds) {\n var thresholds = IntlRelativeFormat.thresholds;\n thresholds.second = newThresholds.second;\n thresholds.minute = newThresholds.minute;\n thresholds.hour = newThresholds.hour;\n thresholds.day = newThresholds.day;\n thresholds.month = newThresholds.month;\n}\n\nfunction getNamedFormat(formats, type, name) {\n var format = formats && formats[type] && formats[type][name];\n if (format) {\n return format;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] No ' + type + ' format named: ' + name);\n }\n}\n\nfunction formatDate(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'date', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting date.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatTime(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'time', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n if (!filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = _extends({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting time.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatRelative(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var now = new Date(options.now);\n var defaults$$1 = format && getNamedFormat(formats, 'relative', format);\n var filteredOptions = filterProps(options, RELATIVE_FORMAT_OPTIONS, defaults$$1);\n\n // Capture the current threshold values, then temporarily override them with\n // specific values just for this render.\n var oldThresholds = _extends({}, IntlRelativeFormat.thresholds);\n updateRelativeFormatThresholds(RELATIVE_FORMAT_THRESHOLDS);\n\n try {\n return state.getRelativeFormat(locale, filteredOptions).format(date, {\n now: isFinite(now) ? now : state.now()\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting relative time.\\n' + e);\n }\n } finally {\n updateRelativeFormatThresholds(oldThresholds);\n }\n\n return String(date);\n}\n\nfunction formatNumber(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var defaults$$1 = format && getNamedFormat(formats, 'number', format);\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getNumberFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting number.\\n' + e);\n }\n }\n\n return String(value);\n}\n\nfunction formatPlural(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale;\n\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n\n try {\n return state.getPluralFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting plural.\\n' + e);\n }\n }\n\n return 'other';\n}\n\nfunction formatMessage(config, state) {\n var messageDescriptor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var values = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n messages = config.messages,\n defaultLocale = config.defaultLocale,\n defaultFormats = config.defaultFormats;\n var id = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage;\n\n // `id` is a required field of a Message Descriptor.\n\n invariant(id, '[React Intl] An `id` must be provided to format a message.');\n\n var message = messages && messages[id];\n var hasValues = Object.keys(values).length > 0;\n\n // Avoid expensive message formatting for simple messages without values. In\n // development messages will always be formatted in case of missing values.\n if (!hasValues && process.env.NODE_ENV === 'production') {\n return message || defaultMessage || id;\n }\n\n var formattedMessage = void 0;\n\n if (message) {\n try {\n var formatter = state.getMessageFormat(message, locale, formats);\n\n formattedMessage = formatter.format(values);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : '') + ('\\n' + e));\n }\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale, and a default message is in the source.\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n console.error('[React Intl] Missing message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : ''));\n }\n }\n }\n\n if (!formattedMessage && defaultMessage) {\n try {\n var _formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n\n formattedMessage = _formatter.format(values);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting the default message for: \"' + id + '\"' + ('\\n' + e));\n }\n }\n }\n\n if (!formattedMessage) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Cannot format message: \"' + id + '\", ' + ('using message ' + (message || defaultMessage ? 'source' : 'id') + ' as fallback.'));\n }\n }\n\n return formattedMessage || message || defaultMessage || id;\n}\n\nfunction formatHTMLMessage(config, state, messageDescriptor) {\n var rawValues = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) {\n var value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n\nvar format = Object.freeze({\n formatDate: formatDate,\n formatTime: formatTime,\n formatRelative: formatRelative,\n formatNumber: formatNumber,\n formatPlural: formatPlural,\n formatMessage: formatMessage,\n formatHTMLMessage: formatHTMLMessage\n});\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar intlConfigPropNames$1 = Object.keys(intlConfigPropTypes);\nvar intlFormatPropNames = Object.keys(intlFormatPropTypes);\n\n// These are not a static property on the `IntlProvider` class so the intl\n// config values can be inherited from an ancestor.\nvar defaultProps = {\n formats: {},\n messages: {},\n textComponent: 'span',\n\n defaultLocale: 'en',\n defaultFormats: {}\n};\n\nvar IntlProvider = function (_Component) {\n inherits(IntlProvider, _Component);\n\n function IntlProvider(props) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlProvider);\n\n var _this = possibleConstructorReturn(this, (IntlProvider.__proto__ || Object.getPrototypeOf(IntlProvider)).call(this, props, context));\n\n invariant(typeof Intl !== 'undefined', '[React Intl] The `Intl` APIs must be available in the runtime, ' + 'and do not appear to be built-in. An `Intl` polyfill should be loaded.\\n' + 'See: http://formatjs.io/guides/runtime-environments/');\n\n var intlContext = context.intl;\n\n // Used to stabilize time when performing an initial rendering so that\n // all relative times use the same reference \"now\" time.\n\n var initialNow = void 0;\n if (isFinite(props.initialNow)) {\n initialNow = Number(props.initialNow);\n } else {\n // When an `initialNow` isn't provided via `props`, look to see an\n // exists in the ancestry and call its `now()`\n // function to propagate its value for \"now\".\n initialNow = intlContext ? intlContext.now() : Date.now();\n }\n\n // Creating `Intl*` formatters is expensive. If there's a parent\n // ``, then its formatters will be used. Otherwise, this\n // memoize the `Intl*` constructors and cache them for the lifecycle of\n // this IntlProvider instance.\n\n var _ref = intlContext || {},\n _ref$formatters = _ref.formatters,\n formatters = _ref$formatters === undefined ? {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat),\n getRelativeFormat: memoizeIntlConstructor(IntlRelativeFormat),\n getPluralFormat: memoizeIntlConstructor(IntlPluralFormat)\n } : _ref$formatters;\n\n _this.state = _extends({}, formatters, {\n\n // Wrapper to provide stable \"now\" time for initial render.\n now: function now() {\n return _this._didDisplay ? Date.now() : initialNow;\n }\n });\n return _this;\n }\n\n createClass(IntlProvider, [{\n key: 'getConfig',\n value: function getConfig() {\n var intlContext = this.context.intl;\n\n // Build a whitelisted config object from `props`, defaults, and\n // `context.intl`, if an exists in the ancestry.\n\n var config = filterProps(this.props, intlConfigPropNames$1, intlContext);\n\n // Apply default props. This must be applied last after the props have\n // been resolved and inherited from any in the ancestry.\n // This matches how React resolves `defaultProps`.\n for (var propName in defaultProps) {\n if (config[propName] === undefined) {\n config[propName] = defaultProps[propName];\n }\n }\n\n if (!hasLocaleData(config.locale)) {\n var _config = config,\n locale = _config.locale,\n defaultLocale = _config.defaultLocale,\n defaultFormats = _config.defaultFormats;\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Missing locale data for locale: \"' + locale + '\". ' + ('Using default locale: \"' + defaultLocale + '\" as fallback.'));\n }\n\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n config = _extends({}, config, {\n locale: defaultLocale,\n formats: defaultFormats,\n messages: defaultProps.messages\n });\n }\n\n return config;\n }\n }, {\n key: 'getBoundFormatFns',\n value: function getBoundFormatFns(config, state) {\n return intlFormatPropNames.reduce(function (boundFormatFns, name) {\n boundFormatFns[name] = format[name].bind(null, config, state);\n return boundFormatFns;\n }, {});\n }\n }, {\n key: 'getChildContext',\n value: function getChildContext() {\n var config = this.getConfig();\n\n // Bind intl factories and current config to the format functions.\n var boundFormatFns = this.getBoundFormatFns(config, this.state);\n\n var _state = this.state,\n now = _state.now,\n formatters = objectWithoutProperties(_state, ['now']);\n\n return {\n intl: _extends({}, config, boundFormatFns, {\n formatters: formatters,\n now: now\n })\n };\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._didDisplay = true;\n }\n }, {\n key: 'render',\n value: function render() {\n return Children.only(this.props.children);\n }\n }]);\n return IntlProvider;\n}(Component);\n\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.contextTypes = {\n intl: intlShape\n};\nIntlProvider.childContextTypes = {\n intl: intlShape.isRequired\n};\nprocess.env.NODE_ENV !== \"production\" ? IntlProvider.propTypes = _extends({}, intlConfigPropTypes, {\n children: PropTypes.element.isRequired,\n initialNow: PropTypes.any\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedDate = function (_Component) {\n inherits(FormattedDate, _Component);\n\n function FormattedDate(props, context) {\n classCallCheck(this, FormattedDate);\n\n var _this = possibleConstructorReturn(this, (FormattedDate.__proto__ || Object.getPrototypeOf(FormattedDate)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedDate, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatDate = _context$intl.formatDate,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedDate = formatDate(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedDate);\n }\n\n return React.createElement(Text, null, formattedDate);\n }\n }]);\n return FormattedDate;\n}(Component);\n\nFormattedDate.displayName = 'FormattedDate';\nFormattedDate.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedTime = function (_Component) {\n inherits(FormattedTime, _Component);\n\n function FormattedTime(props, context) {\n classCallCheck(this, FormattedTime);\n\n var _this = possibleConstructorReturn(this, (FormattedTime.__proto__ || Object.getPrototypeOf(FormattedTime)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedTime, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatTime = _context$intl.formatTime,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedTime = formatTime(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedTime);\n }\n\n return React.createElement(Text, null, formattedTime);\n }\n }]);\n return FormattedTime;\n}(Component);\n\nFormattedTime.displayName = 'FormattedTime';\nFormattedTime.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar SECOND = 1000;\nvar MINUTE = 1000 * 60;\nvar HOUR = 1000 * 60 * 60;\nvar DAY = 1000 * 60 * 60 * 24;\n\n// The maximum timer delay value is a 32-bit signed integer.\n// See: https://mdn.io/setTimeout\nvar MAX_TIMER_DELAY = 2147483647;\n\nfunction selectUnits(delta) {\n var absDelta = Math.abs(delta);\n\n if (absDelta < MINUTE) {\n return 'second';\n }\n\n if (absDelta < HOUR) {\n return 'minute';\n }\n\n if (absDelta < DAY) {\n return 'hour';\n }\n\n // The maximum scheduled delay will be measured in days since the maximum\n // timer delay is less than the number of milliseconds in 25 days.\n return 'day';\n}\n\nfunction getUnitDelay(units) {\n switch (units) {\n case 'second':\n return SECOND;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n case 'day':\n return DAY;\n default:\n return MAX_TIMER_DELAY;\n }\n}\n\nfunction isSameDate(a, b) {\n if (a === b) {\n return true;\n }\n\n var aTime = new Date(a).getTime();\n var bTime = new Date(b).getTime();\n\n return isFinite(aTime) && isFinite(bTime) && aTime === bTime;\n}\n\nvar FormattedRelative = function (_Component) {\n inherits(FormattedRelative, _Component);\n\n function FormattedRelative(props, context) {\n classCallCheck(this, FormattedRelative);\n\n var _this = possibleConstructorReturn(this, (FormattedRelative.__proto__ || Object.getPrototypeOf(FormattedRelative)).call(this, props, context));\n\n invariantIntlContext(context);\n\n var now = isFinite(props.initialNow) ? Number(props.initialNow) : context.intl.now();\n\n // `now` is stored as state so that `render()` remains a function of\n // props + state, instead of accessing `Date.now()` inside `render()`.\n _this.state = { now: now };\n return _this;\n }\n\n createClass(FormattedRelative, [{\n key: 'scheduleNextUpdate',\n value: function scheduleNextUpdate(props, state) {\n var _this2 = this;\n\n // Cancel and pending update because we're scheduling a new update.\n clearTimeout(this._timer);\n\n var value = props.value,\n units = props.units,\n updateInterval = props.updateInterval;\n\n var time = new Date(value).getTime();\n\n // If the `updateInterval` is falsy, including `0` or we don't have a\n // valid date, then auto updates have been turned off, so we bail and\n // skip scheduling an update.\n if (!updateInterval || !isFinite(time)) {\n return;\n }\n\n var delta = time - state.now;\n var unitDelay = getUnitDelay(units || selectUnits(delta));\n var unitRemainder = Math.abs(delta % unitDelay);\n\n // We want the largest possible timer delay which will still display\n // accurate information while reducing unnecessary re-renders. The delay\n // should be until the next \"interesting\" moment, like a tick from\n // \"1 minute ago\" to \"2 minutes ago\" when the delta is 120,000ms.\n var delay = delta < 0 ? Math.max(updateInterval, unitDelay - unitRemainder) : Math.max(updateInterval, unitRemainder);\n\n this._timer = setTimeout(function () {\n _this2.setState({ now: _this2.context.intl.now() });\n }, delay);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(_ref) {\n var nextValue = _ref.value;\n\n // When the `props.value` date changes, `state.now` needs to be updated,\n // and the next update can be rescheduled.\n if (!isSameDate(nextValue, this.props.value)) {\n this.setState({ now: this.context.intl.now() });\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n this.scheduleNextUpdate(nextProps, nextState);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this._timer);\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatRelative = _context$intl.formatRelative,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedRelative = formatRelative(value, _extends({}, this.props, this.state));\n\n if (typeof children === 'function') {\n return children(formattedRelative);\n }\n\n return React.createElement(Text, null, formattedRelative);\n }\n }]);\n return FormattedRelative;\n}(Component);\n\nFormattedRelative.displayName = 'FormattedRelative';\nFormattedRelative.contextTypes = {\n intl: intlShape\n};\nFormattedRelative.defaultProps = {\n updateInterval: 1000 * 10\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedNumber = function (_Component) {\n inherits(FormattedNumber, _Component);\n\n function FormattedNumber(props, context) {\n classCallCheck(this, FormattedNumber);\n\n var _this = possibleConstructorReturn(this, (FormattedNumber.__proto__ || Object.getPrototypeOf(FormattedNumber)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedNumber, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatNumber = _context$intl.formatNumber,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedNumber = formatNumber(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedNumber);\n }\n\n return React.createElement(Text, null, formattedNumber);\n }\n }]);\n return FormattedNumber;\n}(Component);\n\nFormattedNumber.displayName = 'FormattedNumber';\nFormattedNumber.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedPlural = function (_Component) {\n inherits(FormattedPlural, _Component);\n\n function FormattedPlural(props, context) {\n classCallCheck(this, FormattedPlural);\n\n var _this = possibleConstructorReturn(this, (FormattedPlural.__proto__ || Object.getPrototypeOf(FormattedPlural)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedPlural, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatPlural = _context$intl.formatPlural,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n other = _props.other,\n children = _props.children;\n\n var pluralCategory = formatPlural(value, this.props);\n var formattedPlural = this.props[pluralCategory] || other;\n\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n\n return React.createElement(Text, null, formattedPlural);\n }\n }]);\n return FormattedPlural;\n}(Component);\n\nFormattedPlural.displayName = 'FormattedPlural';\nFormattedPlural.contextTypes = {\n intl: intlShape\n};\nFormattedPlural.defaultProps = {\n style: 'cardinal'\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedMessage = function (_Component) {\n inherits(FormattedMessage, _Component);\n\n function FormattedMessage(props, context) {\n classCallCheck(this, FormattedMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedMessage.__proto__ || Object.getPrototypeOf(FormattedMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatMessage = _context$intl.formatMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n values = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n var tokenDelimiter = void 0;\n var tokenizedValues = void 0;\n var elements = void 0;\n\n var hasValues = values && Object.keys(values).length > 0;\n if (hasValues) {\n // Creates a token with a random UID that should not be guessable or\n // conflict with other parts of the `message` string.\n var uid = Math.floor(Math.random() * 0x10000000000).toString(16);\n\n var generateToken = function () {\n var counter = 0;\n return function () {\n return 'ELEMENT-' + uid + '-' + (counter += 1);\n };\n }();\n\n // Splitting with a delimiter to support IE8. When using a regex\n // with a capture group IE8 does not include the capture group in\n // the resulting array.\n tokenDelimiter = '@__' + uid + '__@';\n tokenizedValues = {};\n elements = {};\n\n // Iterates over the `props` to keep track of any React Element\n // values so they can be represented by the `token` as a placeholder\n // when the `message` is formatted. This allows the formatted\n // message to then be broken-up into parts with references to the\n // React Elements inserted back in.\n Object.keys(values).forEach(function (name) {\n var value = values[name];\n\n if (isValidElement(value)) {\n var token = generateToken();\n tokenizedValues[name] = tokenDelimiter + token + tokenDelimiter;\n elements[token] = value;\n } else {\n tokenizedValues[name] = value;\n }\n });\n }\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedMessage = formatMessage(descriptor, tokenizedValues || values);\n\n var nodes = void 0;\n\n var hasElements = elements && Object.keys(elements).length > 0;\n if (hasElements) {\n // Split the message into parts so the React Element values captured\n // above can be inserted back into the rendered message. This\n // approach allows messages to render with React Elements while\n // keeping React's virtual diffing working properly.\n nodes = formattedMessage.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(function (part) {\n return elements[part] || part;\n });\n } else {\n nodes = [formattedMessage];\n }\n\n if (typeof children === 'function') {\n return children.apply(undefined, toConsumableArray(nodes));\n }\n\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return createElement.apply(undefined, [Component$$1, null].concat(toConsumableArray(nodes)));\n }\n }]);\n return FormattedMessage;\n}(Component);\n\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.contextTypes = {\n intl: intlShape\n};\nFormattedMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedHTMLMessage = function (_Component) {\n inherits(FormattedHTMLMessage, _Component);\n\n function FormattedHTMLMessage(props, context) {\n classCallCheck(this, FormattedHTMLMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedHTMLMessage.__proto__ || Object.getPrototypeOf(FormattedHTMLMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedHTMLMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatHTMLMessage = _context$intl.formatHTMLMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n rawValues = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n var html = { __html: formattedHTMLMessage };\n return React.createElement(Component$$1, { dangerouslySetInnerHTML: html });\n }\n }]);\n return FormattedHTMLMessage;\n}(Component);\n\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.contextTypes = {\n intl: intlShape\n};\nFormattedHTMLMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(defaultLocaleData);\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(allLocaleData);\n\nexport { addLocaleData, intlShape, injectIntl, defineMessages, IntlProvider, FormattedDate, FormattedTime, FormattedRelative, FormattedNumber, FormattedPlural, FormattedMessage, FormattedHTMLMessage };" + }, + { + "id": 32, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "name": "./node_modules/util/util.js", + "index": 689, + "index2": 675, + "size": 15214, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 156, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "module": "./node_modules/backoff/lib/strategy/strategy.js", + "moduleName": "./node_modules/backoff/lib/strategy/strategy.js", + "type": "cjs require", + "userRequest": "util", + "loc": "5:11-26" + }, + { + "moduleId": 157, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "module": "./node_modules/backoff/lib/strategy/fibonacci.js", + "moduleName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "type": "cjs require", + "userRequest": "util", + "loc": "4:11-26" + }, + { + "moduleId": 278, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "module": "./node_modules/precond/lib/checks.js", + "moduleName": "./node_modules/precond/lib/checks.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 281, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/errors.js", + "module": "./node_modules/precond/lib/errors.js", + "moduleName": "./node_modules/precond/lib/errors.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "util", + "loc": "4:11-26" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "util", + "loc": "6:11-26" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function (f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function (fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function () {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function (set) {\n if (isUndefined(debugEnviron)) debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function () {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function () {};\n }\n }\n return debugs[set];\n};\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold': [1, 22],\n 'italic': [3, 23],\n 'underline': [4, 24],\n 'inverse': [7, 27],\n 'white': [37, 39],\n 'grey': [90, 39],\n 'black': [30, 39],\n 'blue': [34, 39],\n 'cyan': [36, 39],\n 'green': [32, 39],\n 'magenta': [35, 39],\n 'red': [31, 39],\n 'yellow': [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str + '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function (val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect && value && isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '',\n array = false,\n braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function (key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '').replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value)) return ctx.stylize('' + value, 'number');\n if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value)) return ctx.stylize('null', 'null');\n}\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function (key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n }\n });\n return output;\n}\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function (prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] + (base === '' ? '' : base + '\\n ') + ' ' + output.join(',\\n ') + ' ' + braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function () {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function (origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}" + }, + { + "id": 92, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/events/events.js", + "name": "./node_modules/events/events.js", + "index": 686, + "index2": 672, + "size": 8089, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + }, + { + "moduleId": 156, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "module": "./node_modules/backoff/lib/strategy/strategy.js", + "moduleName": "./node_modules/backoff/lib/strategy/strategy.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "events", + "loc": "4:13-30" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function (n) {\n if (!isNumber(n) || n < 0 || isNaN(n)) throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function (type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events) this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error || isObject(this._events.error) && !this._events.error.length) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler)) return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n args = Array.prototype.slice.call(arguments, 1);\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n args = Array.prototype.slice.call(arguments, 1);\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++) listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function (type, listener) {\n var m;\n\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n if (!this._events) this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener) this.emit('newListener', type, isFunction(listener.listener) ? listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' + 'leak detected. %d listeners added. ' + 'Use emitter.setMaxListeners() to increase limit.', this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function (type, listener) {\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function (type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener)) throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type]) return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener || isFunction(list.listener) && list.listener === listener) {\n delete this._events[type];\n if (this._events.removeListener) this.emit('removeListener', type, listener);\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener || list[i].listener && list[i].listener === listener) {\n position = i;\n break;\n }\n }\n\n if (position < 0) return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener) this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function (type) {\n var key, listeners;\n\n if (!this._events) return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0) this._events = {};else if (this._events[type]) delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n while (listeners.length) this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function (type) {\n var ret;\n if (!this._events || !this._events[type]) ret = [];else if (isFunction(this._events[type])) ret = [this._events[type]];else ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.prototype.listenerCount = function (type) {\n if (this._events) {\n var evlistener = this._events[type];\n\n if (isFunction(evlistener)) return 1;else if (evlistener) return evlistener.length;\n }\n return 0;\n};\n\nEventEmitter.listenerCount = function (emitter, type) {\n return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}" + }, + { + "id": 93, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "name": "./node_modules/precond/index.js", + "index": 687, + "index2": 678, + "size": 123, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "issuerId": 283, + "issuerName": "./node_modules/backoff/lib/function_call.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 155, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "module": "./node_modules/backoff/lib/backoff.js", + "moduleName": "./node_modules/backoff/lib/backoff.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "precond", + "loc": "5:14-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nmodule.exports = require('./lib/checks');" + }, + { + "id": 150, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "name": "./app/javascript/mastodon/features/ui/components/column_header.js", + "index": 711, + "index2": 701, + "size": 1575, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 3, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "10:0-43" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "7:0-43" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "./column_header", + "loc": "18:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ColumnHeader = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n\n var icon = '';\n\n if (this.props.icon) {\n icon = _jsx('i', {\n className: 'fa fa-fw fa-' + this.props.icon + ' column-header__icon'\n });\n }\n\n return _jsx('div', {\n role: 'heading',\n tabIndex: '0',\n className: 'column-header ' + (active ? 'active' : ''),\n onClick: this.handleClick,\n id: columnHeaderId || null\n }, void 0, icon, type);\n };\n\n return ColumnHeader;\n}(React.PureComponent);\n\nexport { ColumnHeader as default };" + }, + { + "id": 155, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/backoff.js", + "name": "./node_modules/backoff/lib/backoff.js", + "index": 685, + "index2": 679, + "size": 2107, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/backoff", + "loc": "4:14-38" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "./backoff", + "loc": "8:14-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar precond = require('precond');\nvar util = require('util');\n\n// A class to hold the state of a backoff operation. Accepts a backoff strategy\n// to generate the backoff delays.\nfunction Backoff(backoffStrategy) {\n events.EventEmitter.call(this);\n\n this.backoffStrategy_ = backoffStrategy;\n this.maxNumberOfRetry_ = -1;\n this.backoffNumber_ = 0;\n this.backoffDelay_ = 0;\n this.timeoutID_ = -1;\n\n this.handlers = {\n backoff: this.onBackoff_.bind(this)\n };\n}\nutil.inherits(Backoff, events.EventEmitter);\n\n// Sets a limit, greater than 0, on the maximum number of backoffs. A 'fail'\n// event will be emitted when the limit is reached.\nBackoff.prototype.failAfter = function (maxNumberOfRetry) {\n precond.checkArgument(maxNumberOfRetry > 0, 'Expected a maximum number of retry greater than 0 but got %s.', maxNumberOfRetry);\n\n this.maxNumberOfRetry_ = maxNumberOfRetry;\n};\n\n// Starts a backoff operation. Accepts an optional parameter to let the\n// listeners know why the backoff operation was started.\nBackoff.prototype.backoff = function (err) {\n precond.checkState(this.timeoutID_ === -1, 'Backoff in progress.');\n\n if (this.backoffNumber_ === this.maxNumberOfRetry_) {\n this.emit('fail', err);\n this.reset();\n } else {\n this.backoffDelay_ = this.backoffStrategy_.next();\n this.timeoutID_ = setTimeout(this.handlers.backoff, this.backoffDelay_);\n this.emit('backoff', this.backoffNumber_, this.backoffDelay_, err);\n }\n};\n\n// Handles the backoff timeout completion.\nBackoff.prototype.onBackoff_ = function () {\n this.timeoutID_ = -1;\n this.emit('ready', this.backoffNumber_, this.backoffDelay_);\n this.backoffNumber_++;\n};\n\n// Stops any backoff operation and resets the backoff delay to its inital value.\nBackoff.prototype.reset = function () {\n this.backoffNumber_ = 0;\n this.backoffStrategy_.reset();\n clearTimeout(this.timeoutID_);\n this.timeoutID_ = -1;\n};\n\nmodule.exports = Backoff;" + }, + { + "id": 156, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/strategy.js", + "name": "./node_modules/backoff/lib/strategy/strategy.js", + "index": 694, + "index2": 680, + "size": 2749, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "issuerId": 157, + "issuerName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 157, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "module": "./node_modules/backoff/lib/strategy/fibonacci.js", + "moduleName": "./node_modules/backoff/lib/strategy/fibonacci.js", + "type": "cjs require", + "userRequest": "./strategy", + "loc": "6:22-43" + }, + { + "moduleId": 282, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "module": "./node_modules/backoff/lib/strategy/exponential.js", + "moduleName": "./node_modules/backoff/lib/strategy/exponential.js", + "type": "cjs require", + "userRequest": "./strategy", + "loc": "7:22-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar util = require('util');\n\nfunction isDef(value) {\n return value !== undefined && value !== null;\n}\n\n// Abstract class defining the skeleton for the backoff strategies. Accepts an\n// object holding the options for the backoff strategy:\n//\n// * `randomisationFactor`: The randomisation factor which must be between 0\n// and 1 where 1 equates to a randomization factor of 100% and 0 to no\n// randomization.\n// * `initialDelay`: The backoff initial delay in milliseconds.\n// * `maxDelay`: The backoff maximal delay in milliseconds.\nfunction BackoffStrategy(options) {\n options = options || {};\n\n if (isDef(options.initialDelay) && options.initialDelay < 1) {\n throw new Error('The initial timeout must be greater than 0.');\n } else if (isDef(options.maxDelay) && options.maxDelay < 1) {\n throw new Error('The maximal timeout must be greater than 0.');\n }\n\n this.initialDelay_ = options.initialDelay || 100;\n this.maxDelay_ = options.maxDelay || 10000;\n\n if (this.maxDelay_ <= this.initialDelay_) {\n throw new Error('The maximal backoff delay must be ' + 'greater than the initial backoff delay.');\n }\n\n if (isDef(options.randomisationFactor) && (options.randomisationFactor < 0 || options.randomisationFactor > 1)) {\n throw new Error('The randomisation factor must be between 0 and 1.');\n }\n\n this.randomisationFactor_ = options.randomisationFactor || 0;\n}\n\n// Gets the maximal backoff delay.\nBackoffStrategy.prototype.getMaxDelay = function () {\n return this.maxDelay_;\n};\n\n// Gets the initial backoff delay.\nBackoffStrategy.prototype.getInitialDelay = function () {\n return this.initialDelay_;\n};\n\n// Template method that computes and returns the next backoff delay in\n// milliseconds.\nBackoffStrategy.prototype.next = function () {\n var backoffDelay = this.next_();\n var randomisationMultiple = 1 + Math.random() * this.randomisationFactor_;\n var randomizedDelay = Math.round(backoffDelay * randomisationMultiple);\n return randomizedDelay;\n};\n\n// Computes and returns the next backoff delay. Intended to be overridden by\n// subclasses.\nBackoffStrategy.prototype.next_ = function () {\n throw new Error('BackoffStrategy.next_() unimplemented.');\n};\n\n// Template method that resets the backoff delay to its initial value.\nBackoffStrategy.prototype.reset = function () {\n this.reset_();\n};\n\n// Resets the backoff delay to its initial value. Intended to be overridden by\n// subclasses.\nBackoffStrategy.prototype.reset_ = function () {\n throw new Error('BackoffStrategy.reset_() unimplemented.');\n};\n\nmodule.exports = BackoffStrategy;" + }, + { + "id": 157, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/fibonacci.js", + "name": "./node_modules/backoff/lib/strategy/fibonacci.js", + "index": 695, + "index2": 682, + "size": 856, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/strategy/fibonacci", + "loc": "6:31-66" + }, + { + "moduleId": 283, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "module": "./node_modules/backoff/lib/function_call.js", + "moduleName": "./node_modules/backoff/lib/function_call.js", + "type": "cjs require", + "userRequest": "./strategy/fibonacci", + "loc": "9:31-62" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar util = require('util');\n\nvar BackoffStrategy = require('./strategy');\n\n// Fibonacci backoff strategy.\nfunction FibonacciBackoffStrategy(options) {\n BackoffStrategy.call(this, options);\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n}\nutil.inherits(FibonacciBackoffStrategy, BackoffStrategy);\n\nFibonacciBackoffStrategy.prototype.next_ = function () {\n var backoffDelay = Math.min(this.nextBackoffDelay_, this.getMaxDelay());\n this.nextBackoffDelay_ += this.backoffDelay_;\n this.backoffDelay_ = backoffDelay;\n return backoffDelay;\n};\n\nFibonacciBackoffStrategy.prototype.reset_ = function () {\n this.nextBackoffDelay_ = this.getInitialDelay();\n this.backoffDelay_ = 0;\n};\n\nmodule.exports = FibonacciBackoffStrategy;" + }, + { + "id": 250, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "name": "./app/javascript/mastodon/containers/mastodon.js", + "index": 765, + "index2": 792, + "size": 2805, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "issuerId": 624, + "issuerName": "./app/javascript/mastodon/main.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 624, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "module": "./app/javascript/mastodon/main.js", + "moduleName": "./app/javascript/mastodon/main.js", + "type": "harmony import", + "userRequest": "./containers/mastodon", + "loc": "2:0-45" + }, + { + "moduleId": 625, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/web_push_subscription.js", + "module": "./app/javascript/mastodon/web_push_subscription.js", + "moduleName": "./app/javascript/mastodon/web_push_subscription.js", + "type": "harmony import", + "userRequest": "./containers/mastodon", + "loc": "2:0-46" + } + ], + "usedExports": [ + "default", + "store" + ], + "providedExports": [ + "store", + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport { Provider } from 'react-redux';\n\nimport configureStore from '../store/configureStore';\nimport { showOnboardingOnce } from '../actions/onboarding';\nimport { BrowserRouter, Route } from 'react-router-dom';\nimport { ScrollContext } from 'react-router-scroll-4';\nimport UI from '../features/ui';\nimport { hydrateStore } from '../actions/store';\nimport { connectUserStream } from '../actions/streaming';\nimport { IntlProvider, addLocaleData } from 'react-intl';\nimport { getLocale } from '../locales';\nimport initialState from '../initial_state';\n\nvar _getLocale = getLocale(),\n localeData = _getLocale.localeData,\n messages = _getLocale.messages;\n\naddLocaleData(localeData);\n\nexport var store = configureStore();\nvar hydrateAction = hydrateStore(initialState);\nstore.dispatch(hydrateAction);\n\nvar Mastodon = function (_React$PureComponent) {\n _inherits(Mastodon, _React$PureComponent);\n\n function Mastodon() {\n _classCallCheck(this, Mastodon);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n Mastodon.prototype.componentDidMount = function componentDidMount() {\n this.disconnect = store.dispatch(connectUserStream());\n\n // Desktop notifications\n // Ask after 1 minute\n if (typeof window.Notification !== 'undefined' && Notification.permission === 'default') {\n window.setTimeout(function () {\n return Notification.requestPermission();\n }, 60 * 1000);\n }\n\n // Protocol handler\n // Ask after 5 minutes\n if (typeof navigator.registerProtocolHandler !== 'undefined') {\n var handlerUrl = window.location.protocol + '//' + window.location.host + '/intent?uri=%s';\n window.setTimeout(function () {\n return navigator.registerProtocolHandler('web+mastodon', handlerUrl, 'Mastodon');\n }, 5 * 60 * 1000);\n }\n\n store.dispatch(showOnboardingOnce());\n };\n\n Mastodon.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n };\n\n Mastodon.prototype.render = function render() {\n var locale = this.props.locale;\n\n\n return _jsx(IntlProvider, {\n locale: locale,\n messages: messages\n }, void 0, _jsx(Provider, {\n store: store\n }, void 0, _jsx(BrowserRouter, {\n basename: '/web'\n }, void 0, _jsx(ScrollContext, {}, void 0, _jsx(Route, {\n path: '/',\n component: UI\n })))));\n };\n\n return Mastodon;\n}(React.PureComponent);\n\nexport { Mastodon as default };" + }, + { + "id": 255, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "name": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "index": 775, + "index2": 770, + "size": 5047, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "./components/tabs_bar", + "loc": "13:0-44" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "./tabs_bar", + "loc": "15:0-54" + } + ], + "usedExports": [ + "default", + "getIndex", + "getLink", + "links" + ], + "providedExports": [ + "links", + "getIndex", + "getLink", + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _debounce from 'lodash/debounce';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { NavLink } from 'react-router-dom';\nimport { FormattedMessage, injectIntl } from 'react-intl';\n\nimport { isUserTouching } from '../../../is_mobile';\n\nexport var links = [_jsx(NavLink, {\n className: 'tabs-bar__link primary',\n to: '/statuses/new',\n 'data-preview-title-id': 'tabs_bar.compose',\n 'data-preview-icon': 'pencil'\n}, void 0, _jsx('i', {\n className: 'fa fa-fw fa-pencil'\n}), _jsx(FormattedMessage, {\n id: 'tabs_bar.compose',\n defaultMessage: 'Compose'\n})), _jsx(NavLink, {\n className: 'tabs-bar__link primary',\n to: '/timelines/home',\n 'data-preview-title-id': 'column.home',\n 'data-preview-icon': 'home'\n}, void 0, _jsx('i', {\n className: 'fa fa-fw fa-home'\n}), _jsx(FormattedMessage, {\n id: 'tabs_bar.home',\n defaultMessage: 'Home'\n})), _jsx(NavLink, {\n className: 'tabs-bar__link primary',\n to: '/notifications',\n 'data-preview-title-id': 'column.notifications',\n 'data-preview-icon': 'bell'\n}, void 0, _jsx('i', {\n className: 'fa fa-fw fa-bell'\n}), _jsx(FormattedMessage, {\n id: 'tabs_bar.notifications',\n defaultMessage: 'Notifications'\n})), _jsx(NavLink, {\n className: 'tabs-bar__link secondary',\n to: '/timelines/public/local',\n 'data-preview-title-id': 'column.community',\n 'data-preview-icon': 'users'\n}, void 0, _jsx('i', {\n className: 'fa fa-fw fa-users'\n}), _jsx(FormattedMessage, {\n id: 'tabs_bar.local_timeline',\n defaultMessage: 'Local'\n})), _jsx(NavLink, {\n className: 'tabs-bar__link secondary',\n exact: true,\n to: '/timelines/public',\n 'data-preview-title-id': 'column.public',\n 'data-preview-icon': 'globe'\n}, void 0, _jsx('i', {\n className: 'fa fa-fw fa-globe'\n}), _jsx(FormattedMessage, {\n id: 'tabs_bar.federated_timeline',\n defaultMessage: 'Federated'\n})), _jsx(NavLink, {\n className: 'tabs-bar__link primary',\n style: { flexGrow: '0', flexBasis: '30px' },\n to: '/getting-started',\n 'data-preview-title-id': 'getting_started.heading',\n 'data-preview-icon': 'asterisk'\n}, void 0, _jsx('i', {\n className: 'fa fa-fw fa-asterisk'\n}))];\n\nexport function getIndex(path) {\n return links.findIndex(function (link) {\n return link.props.to === path;\n });\n}\n\nexport function getLink(index) {\n return links[index].props.to;\n}\n\nvar TabsBar = injectIntl(_class = (_temp2 = _class2 = function (_React$Component) {\n _inherits(TabsBar, _React$Component);\n\n function TabsBar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, TabsBar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.setRef = function (ref) {\n _this.node = ref;\n }, _this.handleClick = function (e) {\n // Only apply optimization for touch devices, which we assume are slower\n // We thus avoid the 250ms delay for non-touch devices and the lag for touch devices\n if (isUserTouching()) {\n e.preventDefault();\n e.persist();\n\n requestAnimationFrame(function () {\n var tabs = Array.apply(undefined, _this.node.querySelectorAll('.tabs-bar__link'));\n var currentTab = tabs.find(function (tab) {\n return tab.classList.contains('active');\n });\n var nextTab = tabs.find(function (tab) {\n return tab.contains(e.target);\n });\n var to = links[Array.apply(undefined, _this.node.childNodes).indexOf(nextTab)].props.to;\n\n\n if (currentTab !== nextTab) {\n if (currentTab) {\n currentTab.classList.remove('active');\n }\n\n var listener = _debounce(function () {\n nextTab.removeEventListener('transitionend', listener);\n _this.context.router.history.push(to);\n }, 50);\n\n nextTab.addEventListener('transitionend', listener);\n nextTab.classList.add('active');\n }\n });\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n TabsBar.prototype.render = function render() {\n var _this2 = this;\n\n var formatMessage = this.props.intl.formatMessage;\n\n\n return React.createElement(\n 'nav',\n { className: 'tabs-bar', ref: this.setRef },\n links.map(function (link) {\n return React.cloneElement(link, { key: link.props.to, onClick: _this2.handleClick, 'aria-label': formatMessage({ id: link.props['data-preview-title-id'] }) });\n })\n );\n };\n\n return TabsBar;\n}(React.Component), _class2.contextTypes = {\n router: PropTypes.object.isRequired\n}, _temp2)) || _class;\n\nexport { TabsBar as default };" + }, + { + "id": 257, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_loading.js", + "name": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "index": 790, + "index2": 784, + "size": 1434, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "issuerId": 642, + "issuerName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "../components/column_loading", + "loc": "11:0-57" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "./column_loading", + "loc": "18:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Column from '../../../components/column';\nimport ColumnHeader from '../../../components/column_header';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar ColumnLoading = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(ColumnLoading, _ImmutablePureCompone);\n\n function ColumnLoading() {\n _classCallCheck(this, ColumnLoading);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n ColumnLoading.prototype.render = function render() {\n var _props = this.props,\n title = _props.title,\n icon = _props.icon;\n\n return _jsx(Column, {}, void 0, _jsx(ColumnHeader, {\n icon: icon,\n title: title,\n multiColumn: false,\n focusable: false\n }), _jsx('div', {\n className: 'scrollable'\n }));\n };\n\n return ColumnLoading;\n}(ImmutablePureComponent), _class.propTypes = {\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n icon: PropTypes.string\n}, _class.defaultProps = {\n title: '',\n icon: ''\n}, _temp);\nexport { ColumnLoading as default };" + }, + { + "id": 258, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "name": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "index": 791, + "index2": 785, + "size": 2148, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "issuerId": 642, + "issuerName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "../components/bundle_column_error", + "loc": "12:0-66" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "./bundle_column_error", + "loc": "20:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport { defineMessages, injectIntl } from 'react-intl';\n\nimport Column from './column';\nimport ColumnHeader from './column_header';\nimport ColumnBackButtonSlim from '../../../components/column_back_button_slim';\nimport IconButton from '../../../components/icon_button';\n\nvar messages = defineMessages({\n title: {\n 'id': 'bundle_column_error.title',\n 'defaultMessage': 'Network error'\n },\n body: {\n 'id': 'bundle_column_error.body',\n 'defaultMessage': 'Something went wrong while loading this component.'\n },\n retry: {\n 'id': 'bundle_column_error.retry',\n 'defaultMessage': 'Try again'\n }\n});\n\nvar BundleColumnError = function (_React$Component) {\n _inherits(BundleColumnError, _React$Component);\n\n function BundleColumnError() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, BundleColumnError);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleRetry = function () {\n _this.props.onRetry();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n BundleColumnError.prototype.render = function render() {\n var formatMessage = this.props.intl.formatMessage;\n\n\n return _jsx(Column, {}, void 0, _jsx(ColumnHeader, {\n icon: 'exclamation-circle',\n type: formatMessage(messages.title)\n }), _jsx(ColumnBackButtonSlim, {}), _jsx('div', {\n className: 'error-column'\n }, void 0, _jsx(IconButton, {\n title: formatMessage(messages.retry),\n icon: 'refresh',\n onClick: this.handleRetry,\n size: 64\n }), formatMessage(messages.body)));\n };\n\n return BundleColumnError;\n}(React.Component);\n\nexport default injectIntl(BundleColumnError);" + }, + { + "id": 259, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "name": "./app/javascript/mastodon/features/ui/components/column.js", + "index": 710, + "index2": 702, + "size": 2668, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "./column", + "loc": "9:0-30" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "17:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "9:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "15:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "16:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "3:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "13:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../ui/components/column", + "loc": "14:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\nimport React from 'react';\nimport ColumnHeader from './column_header';\n\nimport { scrollTop as _scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = _scrollTop(scrollable);\n }, _this.handleScroll = _debounce(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !isMobile(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && _jsx(ColumnHeader, {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return React.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 272, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "name": "./app/javascript/mastodon/components/column_back_button_slim.js", + "index": 717, + "index2": 708, + "size": 1848, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 11, + 18, + 19, + 20, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "issuerId": 258, + "issuerName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "../../../components/column_back_button_slim", + "loc": "11:0-79" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "14:0-76" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../components/column_back_button_slim", + "loc": "15:0-76" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nvar ColumnBackButtonSlim = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ColumnBackButtonSlim, _React$PureComponent);\n\n function ColumnBackButtonSlim() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnBackButtonSlim);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) _this.context.router.history.push('/');else _this.context.router.history.goBack();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnBackButtonSlim.prototype.render = function render() {\n return _jsx('div', {\n className: 'column-back-button--slim'\n }, void 0, _jsx('div', {\n role: 'button',\n tabIndex: '0',\n onClick: this.handleClick,\n className: 'column-back-button column-back-button--slim-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n })));\n };\n\n return ColumnBackButtonSlim;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { ColumnBackButtonSlim as default };" + }, + { + "id": 274, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "name": "./app/javascript/mastodon/actions/streaming.js", + "index": 681, + "index2": 687, + "size": 3116, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "../actions/streaming", + "loc": "14:0-57" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "18:0-62" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "18:0-65" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/streaming", + "loc": "17:0-63" + } + ], + "usedExports": [ + "connectCommunityStream", + "connectHashtagStream", + "connectPublicStream", + "connectUserStream" + ], + "providedExports": [ + "connectTimelineStream", + "connectUserStream", + "connectCommunityStream", + "connectMediaStream", + "connectPublicStream", + "connectHashtagStream" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import createStream from '../stream';\nimport { updateTimeline, deleteFromTimelines, refreshHomeTimeline, connectTimeline, disconnectTimeline } from './timelines';\nimport { updateNotifications, refreshNotifications } from './notifications';\nimport { getLocale } from '../locales';\n\nvar _getLocale = getLocale(),\n messages = _getLocale.messages;\n\nexport function connectTimelineStream(timelineId, path) {\n var pollingRefresh = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n return function (dispatch, getState) {\n var streamingAPIBaseURL = getState().getIn(['meta', 'streaming_api_base_url']);\n var accessToken = getState().getIn(['meta', 'access_token']);\n var locale = getState().getIn(['meta', 'locale']);\n var polling = null;\n\n var setupPolling = function setupPolling() {\n polling = setInterval(function () {\n pollingRefresh(dispatch);\n }, 20000);\n };\n\n var clearPolling = function clearPolling() {\n if (polling) {\n clearInterval(polling);\n polling = null;\n }\n };\n\n var subscription = createStream(streamingAPIBaseURL, accessToken, path, {\n connected: function connected() {\n if (pollingRefresh) {\n clearPolling();\n }\n dispatch(connectTimeline(timelineId));\n },\n disconnected: function disconnected() {\n if (pollingRefresh) {\n setupPolling();\n }\n dispatch(disconnectTimeline(timelineId));\n },\n received: function received(data) {\n switch (data.event) {\n case 'update':\n dispatch(updateTimeline(timelineId, JSON.parse(data.payload)));\n break;\n case 'delete':\n dispatch(deleteFromTimelines(data.payload));\n break;\n case 'notification':\n dispatch(updateNotifications(JSON.parse(data.payload), messages, locale));\n break;\n }\n },\n reconnected: function reconnected() {\n if (pollingRefresh) {\n clearPolling();\n pollingRefresh(dispatch);\n }\n dispatch(connectTimeline(timelineId));\n }\n });\n\n var disconnect = function disconnect() {\n if (subscription) {\n subscription.close();\n }\n clearPolling();\n };\n\n return disconnect;\n };\n}\n\nfunction refreshHomeTimelineAndNotification(dispatch) {\n dispatch(refreshHomeTimeline());\n dispatch(refreshNotifications());\n}\n\nexport var connectUserStream = function connectUserStream() {\n return connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification);\n};\nexport var connectCommunityStream = function connectCommunityStream() {\n return connectTimelineStream('community', 'public:local');\n};\nexport var connectMediaStream = function connectMediaStream() {\n return connectTimelineStream('community', 'public:local');\n};\nexport var connectPublicStream = function connectPublicStream() {\n return connectTimelineStream('public', 'public');\n};\nexport var connectHashtagStream = function connectHashtagStream(tag) {\n return connectTimelineStream('hashtag:' + tag, 'hashtag&tag=' + tag);\n};" + }, + { + "id": 275, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "name": "./app/javascript/mastodon/stream.js", + "index": 682, + "index2": 686, + "size": 581, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "issuerId": 274, + "issuerName": "./app/javascript/mastodon/actions/streaming.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 274, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "module": "./app/javascript/mastodon/actions/streaming.js", + "moduleName": "./app/javascript/mastodon/actions/streaming.js", + "type": "harmony import", + "userRequest": "../stream", + "loc": "1:0-37" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import WebSocketClient from 'websocket.js';\n\nexport default function getStream(streamingAPIBaseURL, accessToken, stream, _ref) {\n var connected = _ref.connected,\n received = _ref.received,\n disconnected = _ref.disconnected,\n reconnected = _ref.reconnected;\n\n var ws = new WebSocketClient(streamingAPIBaseURL + '/api/v1/streaming/?access_token=' + accessToken + '&stream=' + stream);\n\n ws.onopen = connected;\n ws.onmessage = function (e) {\n return received(JSON.parse(e.data));\n };\n ws.onclose = disconnected;\n ws.onreconnect = reconnected;\n\n return ws;\n};" + }, + { + "id": 276, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "name": "./node_modules/websocket.js/lib/index.js", + "index": 683, + "index2": 685, + "size": 10253, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "issuerId": 275, + "issuerName": "./app/javascript/mastodon/stream.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 275, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/stream.js", + "module": "./app/javascript/mastodon/stream.js", + "moduleName": "./app/javascript/mastodon/stream.js", + "type": "harmony import", + "userRequest": "websocket.js", + "loc": "1:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}var backoff = require('backoff');var WebSocketClient = function () {\n /**\n * @param url DOMString The URL to which to connect; this should be the URL to which the WebSocket server will respond.\n * @param protocols DOMString|DOMString[] Either a single protocol string or an array of protocol strings. These strings are used to indicate sub-protocols, so that a single server can implement multiple WebSocket sub-protocols (for example, you might want one server to be able to handle different types of interactions depending on the specified protocol). If you don't specify a protocol string, an empty string is assumed.\n */function WebSocketClient(url, protocols) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};_classCallCheck(this, WebSocketClient);this.url = url;this.protocols = protocols;this.reconnectEnabled = true;this.listeners = {};this.backoff = backoff[options.backoff || 'fibonacci'](options);this.backoff.on('backoff', this.onBackoffStart.bind(this));this.backoff.on('ready', this.onBackoffReady.bind(this));this.backoff.on('fail', this.onBackoffFail.bind(this));this.open();\n }_createClass(WebSocketClient, [{ key: 'open', value: function open() {\n var reconnect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;this.isReconnect = reconnect;this.ws = new WebSocket(this.url, this.protocols);this.ws.onclose = this.onCloseCallback.bind(this);this.ws.onerror = this.onErrorCallback.bind(this);this.ws.onmessage = this.onMessageCallback.bind(this);this.ws.onopen = this.onOpenCallback.bind(this);\n } /**\n * @ignore\n */ }, { key: 'onBackoffStart', value: function onBackoffStart(number, delay) {} /**\n * @ignore\n */ }, { key: 'onBackoffReady', value: function onBackoffReady(number, delay) {\n // console.log(\"onBackoffReady\", number + ' ' + delay + 'ms');\n this.open(true);\n } /**\n * @ignore\n */ }, { key: 'onBackoffFail', value: function onBackoffFail() {} /**\n * @ignore\n */ }, { key: 'onCloseCallback', value: function onCloseCallback() {\n if (!this.isReconnect && this.listeners['onclose']) this.listeners['onclose'].apply(null, arguments);if (this.reconnectEnabled) {\n this.backoff.backoff();\n }\n } /**\n * @ignore\n */ }, { key: 'onErrorCallback', value: function onErrorCallback() {\n if (this.listeners['onerror']) this.listeners['onerror'].apply(null, arguments);\n } /**\n * @ignore\n */ }, { key: 'onMessageCallback', value: function onMessageCallback() {\n if (this.listeners['onmessage']) this.listeners['onmessage'].apply(null, arguments);\n } /**\n * @ignore\n */ }, { key: 'onOpenCallback', value: function onOpenCallback() {\n if (this.listeners['onopen']) this.listeners['onopen'].apply(null, arguments);if (this.isReconnect && this.listeners['onreconnect']) this.listeners['onreconnect'].apply(null, arguments);this.isReconnect = false;\n } /**\n * The number of bytes of data that have been queued using calls to send()\n * but not yet transmitted to the network. This value does not reset to zero\n * when the connection is closed; if you keep calling send(), this will\n * continue to climb.\n *\n * @type unsigned long\n * @readonly\n */ }, { key: 'close', /**\n * Closes the WebSocket connection or connection attempt, if any. If the\n * connection is already CLOSED, this method does nothing.\n *\n * @param code A numeric value indicating the status code explaining why the connection is being closed. If this parameter is not specified, a default value of 1000 (indicating a normal \"transaction complete\" closure) is assumed. See the list of status codes on the CloseEvent page for permitted values.\n * @param reason A human-readable string explaining why the connection is closing. This string must be no longer than 123 bytes of UTF-8 text (not characters).\n *\n * @return void\n */value: function close(code, reason) {\n if (typeof code == 'undefined') {\n code = 1000;\n }this.reconnectEnabled = false;this.ws.close(code, reason);\n } /**\n * Transmits data to the server over the WebSocket connection.\n * @param data DOMString|ArrayBuffer|Blob\n * @return void\n */ }, { key: 'send', value: function send(data) {\n this.ws.send(data);\n } /**\n * An event listener to be called when the WebSocket connection's readyState changes to CLOSED. The listener receives a CloseEvent named \"close\".\n * @param listener EventListener\n */ }, { key: 'bufferedAmount', get: function get() {\n return this.ws.bufferedAmount;\n } /**\n * The current state of the connection; this is one of the Ready state constants.\n * @type unsigned short\n * @readonly\n */ }, { key: 'readyState', get: function get() {\n return this.ws.readyState;\n } /**\n * A string indicating the type of binary data being transmitted by the\n * connection. This should be either \"blob\" if DOM Blob objects are being\n * used or \"arraybuffer\" if ArrayBuffer objects are being used.\n * @type DOMString\n */ }, { key: 'binaryType', get: function get() {\n return this.ws.binaryType;\n }, set: function set(binaryType) {\n this.ws.binaryType = binaryType;\n } /**\n * The extensions selected by the server. This is currently only the empty\n * string or a list of extensions as negotiated by the connection.\n * @type DOMString\n */ }, { key: 'extensions', get: function get() {\n return this.ws.extensions;\n }, set: function set(extensions) {\n this.ws.extensions = extensions;\n } /**\n * A string indicating the name of the sub-protocol the server selected;\n * this will be one of the strings specified in the protocols parameter when\n * creating the WebSocket object.\n * @type DOMString\n */ }, { key: 'protocol', get: function get() {\n return this.ws.protocol;\n }, set: function set(protocol) {\n this.ws.protocol = protocol;\n } }, { key: 'onclose', set: function set(listener) {\n this.listeners['onclose'] = listener;\n }, get: function get() {\n return this.listeners['onclose'];\n } /**\n * An event listener to be called when an error occurs. This is a simple event named \"error\".\n * @param listener EventListener\n */ }, { key: 'onerror', set: function set(listener) {\n this.listeners['onerror'] = listener;\n }, get: function get() {\n return this.listeners['onerror'];\n } /**\n * An event listener to be called when a message is received from the server. The listener receives a MessageEvent named \"message\".\n * @param listener EventListener\n */ }, { key: 'onmessage', set: function set(listener) {\n this.listeners['onmessage'] = listener;\n }, get: function get() {\n return this.listeners['onmessage'];\n } /**\n * An event listener to be called when the WebSocket connection's readyState changes to OPEN; this indicates that the connection is ready to send and receive data. The event is a simple one with the name \"open\".\n * @param listener EventListener\n */ }, { key: 'onopen', set: function set(listener) {\n this.listeners['onopen'] = listener;\n }, get: function get() {\n return this.listeners['onopen'];\n } /**\n * @param listener EventListener\n */ }, { key: 'onreconnect', set: function set(listener) {\n this.listeners['onreconnect'] = listener;\n }, get: function get() {\n return this.listeners['onreconnect'];\n } }]);return WebSocketClient;\n}(); /**\n * The connection is not yet open.\n */WebSocketClient.CONNECTING = WebSocket.CONNECTING; /**\n * The connection is open and ready to communicate.\n */WebSocketClient.OPEN = WebSocket.OPEN; /**\n * The connection is in the process of closing.\n */WebSocketClient.CLOSING = WebSocket.CLOSING; /**\n * The connection is closed or couldn't be opened.\n */WebSocketClient.CLOSED = WebSocket.CLOSED;exports.default = WebSocketClient;" + }, + { + "id": 277, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "name": "./node_modules/backoff/index.js", + "index": 684, + "index2": 684, + "size": 1160, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "issuerId": 276, + "issuerName": "./node_modules/websocket.js/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 276, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/websocket.js/lib/index.js", + "module": "./node_modules/websocket.js/lib/index.js", + "moduleName": "./node_modules/websocket.js/lib/index.js", + "type": "cjs require", + "userRequest": "backoff", + "loc": "14:15-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar Backoff = require('./lib/backoff');\nvar ExponentialBackoffStrategy = require('./lib/strategy/exponential');\nvar FibonacciBackoffStrategy = require('./lib/strategy/fibonacci');\nvar FunctionCall = require('./lib/function_call.js');\n\nmodule.exports.Backoff = Backoff;\nmodule.exports.FunctionCall = FunctionCall;\nmodule.exports.FibonacciStrategy = FibonacciBackoffStrategy;\nmodule.exports.ExponentialStrategy = ExponentialBackoffStrategy;\n\n// Constructs a Fibonacci backoff.\nmodule.exports.fibonacci = function (options) {\n return new Backoff(new FibonacciBackoffStrategy(options));\n};\n\n// Constructs an exponential backoff.\nmodule.exports.exponential = function (options) {\n return new Backoff(new ExponentialBackoffStrategy(options));\n};\n\n// Constructs a FunctionCall for the given function and arguments.\nmodule.exports.call = function (fn, vargs, callback) {\n var args = Array.prototype.slice.call(arguments);\n fn = args[0];\n vargs = args.slice(1, args.length - 1);\n callback = args[args.length - 1];\n return new FunctionCall(fn, vargs, callback);\n};" + }, + { + "id": 278, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "name": "./node_modules/precond/lib/checks.js", + "index": 688, + "index2": 677, + "size": 2676, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "issuerId": 93, + "issuerName": "./node_modules/precond/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 93, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/index.js", + "module": "./node_modules/precond/index.js", + "moduleName": "./node_modules/precond/index.js", + "type": "cjs require", + "userRequest": "./lib/checks", + "loc": "6:17-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nvar util = require('util');\n\nvar errors = module.exports = require('./errors');\n\nfunction failCheck(ExceptionConstructor, callee, messageFormat, formatArgs) {\n messageFormat = messageFormat || '';\n var message = util.format.apply(this, [messageFormat].concat(formatArgs));\n var error = new ExceptionConstructor(message);\n Error.captureStackTrace(error, callee);\n throw error;\n}\n\nfunction failArgumentCheck(callee, message, formatArgs) {\n failCheck(errors.IllegalArgumentError, callee, message, formatArgs);\n}\n\nfunction failStateCheck(callee, message, formatArgs) {\n failCheck(errors.IllegalStateError, callee, message, formatArgs);\n}\n\nmodule.exports.checkArgument = function (value, message) {\n if (!value) {\n failArgumentCheck(arguments.callee, message, Array.prototype.slice.call(arguments, 2));\n }\n};\n\nmodule.exports.checkState = function (value, message) {\n if (!value) {\n failStateCheck(arguments.callee, message, Array.prototype.slice.call(arguments, 2));\n }\n};\n\nmodule.exports.checkIsDef = function (value, message) {\n if (value !== undefined) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected value to be defined but was undefined.', Array.prototype.slice.call(arguments, 2));\n};\n\nmodule.exports.checkIsDefAndNotNull = function (value, message) {\n // Note that undefined == null.\n if (value != null) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected value to be defined and not null but got \"' + typeOf(value) + '\".', Array.prototype.slice.call(arguments, 2));\n};\n\n// Fixed version of the typeOf operator which returns 'null' for null values\n// and 'array' for arrays.\nfunction typeOf(value) {\n var s = typeof value;\n if (s == 'object') {\n if (!value) {\n return 'null';\n } else if (value instanceof Array) {\n return 'array';\n }\n }\n return s;\n}\n\nfunction typeCheck(expect) {\n return function (value, message) {\n var type = typeOf(value);\n\n if (type == expect) {\n return value;\n }\n\n failArgumentCheck(arguments.callee, message || 'Expected \"' + expect + '\" but got \"' + type + '\".', Array.prototype.slice.call(arguments, 2));\n };\n}\n\nmodule.exports.checkIsString = typeCheck('string');\nmodule.exports.checkIsArray = typeCheck('array');\nmodule.exports.checkIsNumber = typeCheck('number');\nmodule.exports.checkIsBoolean = typeCheck('boolean');\nmodule.exports.checkIsFunction = typeCheck('function');\nmodule.exports.checkIsObject = typeCheck('object');" + }, + { + "id": 279, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/support/isBufferBrowser.js", + "name": "./node_modules/util/support/isBufferBrowser.js", + "index": 690, + "index2": 673, + "size": 192, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "issuerId": 32, + "issuerName": "./node_modules/util/util.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 32, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "module": "./node_modules/util/util.js", + "moduleName": "./node_modules/util/util.js", + "type": "cjs require", + "userRequest": "./support/isBuffer", + "loc": "491:19-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function';\n};" + }, + { + "id": 280, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/node_modules/inherits/inherits_browser.js", + "name": "./node_modules/util/node_modules/inherits/inherits_browser.js", + "index": 691, + "index2": 674, + "size": 678, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "issuerId": 32, + "issuerName": "./node_modules/util/util.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 32, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "module": "./node_modules/util/util.js", + "moduleName": "./node_modules/util/util.js", + "type": "cjs require", + "userRequest": "inherits", + "loc": "528:19-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n };\n}" + }, + { + "id": 281, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/errors.js", + "name": "./node_modules/precond/lib/errors.js", + "index": 692, + "index2": 676, + "size": 632, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "issuerId": 278, + "issuerName": "./node_modules/precond/lib/checks.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 278, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/precond/lib/checks.js", + "module": "./node_modules/precond/lib/checks.js", + "moduleName": "./node_modules/precond/lib/checks.js", + "type": "cjs require", + "userRequest": "./errors", + "loc": "8:30-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/*\n * Copyright (c) 2012 Mathieu Turcotte\n * Licensed under the MIT license.\n */\n\nvar util = require('util');\n\nfunction IllegalArgumentError(message) {\n Error.call(this, message);\n this.message = message;\n}\nutil.inherits(IllegalArgumentError, Error);\n\nIllegalArgumentError.prototype.name = 'IllegalArgumentError';\n\nfunction IllegalStateError(message) {\n Error.call(this, message);\n this.message = message;\n}\nutil.inherits(IllegalStateError, Error);\n\nIllegalStateError.prototype.name = 'IllegalStateError';\n\nmodule.exports.IllegalStateError = IllegalStateError;\nmodule.exports.IllegalArgumentError = IllegalArgumentError;" + }, + { + "id": 282, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/strategy/exponential.js", + "name": "./node_modules/backoff/lib/strategy/exponential.js", + "index": 693, + "index2": 681, + "size": 1397, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/strategy/exponential", + "loc": "5:33-70" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar util = require('util');\nvar precond = require('precond');\n\nvar BackoffStrategy = require('./strategy');\n\n// Exponential backoff strategy.\nfunction ExponentialBackoffStrategy(options) {\n BackoffStrategy.call(this, options);\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n this.factor_ = ExponentialBackoffStrategy.DEFAULT_FACTOR;\n\n if (options && options.factor !== undefined) {\n precond.checkArgument(options.factor > 1, 'Exponential factor should be greater than 1 but got %s.', options.factor);\n this.factor_ = options.factor;\n }\n}\nutil.inherits(ExponentialBackoffStrategy, BackoffStrategy);\n\n// Default multiplication factor used to compute the next backoff delay from\n// the current one. The value can be overridden by passing a custom factor as\n// part of the options.\nExponentialBackoffStrategy.DEFAULT_FACTOR = 2;\n\nExponentialBackoffStrategy.prototype.next_ = function () {\n this.backoffDelay_ = Math.min(this.nextBackoffDelay_, this.getMaxDelay());\n this.nextBackoffDelay_ = this.backoffDelay_ * this.factor_;\n return this.backoffDelay_;\n};\n\nExponentialBackoffStrategy.prototype.reset_ = function () {\n this.backoffDelay_ = 0;\n this.nextBackoffDelay_ = this.getInitialDelay();\n};\n\nmodule.exports = ExponentialBackoffStrategy;" + }, + { + "id": 283, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/lib/function_call.js", + "name": "./node_modules/backoff/lib/function_call.js", + "index": 696, + "index2": 683, + "size": 6157, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "issuerId": 277, + "issuerName": "./node_modules/backoff/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 277, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/backoff/index.js", + "module": "./node_modules/backoff/index.js", + "moduleName": "./node_modules/backoff/index.js", + "type": "cjs require", + "userRequest": "./lib/function_call.js", + "loc": "7:19-52" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright (c) 2012 Mathieu Turcotte\n// Licensed under the MIT license.\n\nvar events = require('events');\nvar precond = require('precond');\nvar util = require('util');\n\nvar Backoff = require('./backoff');\nvar FibonacciBackoffStrategy = require('./strategy/fibonacci');\n\n// Wraps a function to be called in a backoff loop.\nfunction FunctionCall(fn, args, callback) {\n events.EventEmitter.call(this);\n\n precond.checkIsFunction(fn, 'Expected fn to be a function.');\n precond.checkIsArray(args, 'Expected args to be an array.');\n precond.checkIsFunction(callback, 'Expected callback to be a function.');\n\n this.function_ = fn;\n this.arguments_ = args;\n this.callback_ = callback;\n this.lastResult_ = [];\n this.numRetries_ = 0;\n\n this.backoff_ = null;\n this.strategy_ = null;\n this.failAfter_ = -1;\n this.retryPredicate_ = FunctionCall.DEFAULT_RETRY_PREDICATE_;\n\n this.state_ = FunctionCall.State_.PENDING;\n}\nutil.inherits(FunctionCall, events.EventEmitter);\n\n// States in which the call can be.\nFunctionCall.State_ = {\n // Call isn't started yet.\n PENDING: 0,\n // Call is in progress.\n RUNNING: 1,\n // Call completed successfully which means that either the wrapped function\n // returned successfully or the maximal number of backoffs was reached.\n COMPLETED: 2,\n // The call was aborted.\n ABORTED: 3\n};\n\n// The default retry predicate which considers any error as retriable.\nFunctionCall.DEFAULT_RETRY_PREDICATE_ = function (err) {\n return true;\n};\n\n// Checks whether the call is pending.\nFunctionCall.prototype.isPending = function () {\n return this.state_ == FunctionCall.State_.PENDING;\n};\n\n// Checks whether the call is in progress.\nFunctionCall.prototype.isRunning = function () {\n return this.state_ == FunctionCall.State_.RUNNING;\n};\n\n// Checks whether the call is completed.\nFunctionCall.prototype.isCompleted = function () {\n return this.state_ == FunctionCall.State_.COMPLETED;\n};\n\n// Checks whether the call is aborted.\nFunctionCall.prototype.isAborted = function () {\n return this.state_ == FunctionCall.State_.ABORTED;\n};\n\n// Sets the backoff strategy to use. Can only be called before the call is\n// started otherwise an exception will be thrown.\nFunctionCall.prototype.setStrategy = function (strategy) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.strategy_ = strategy;\n return this; // Return this for chaining.\n};\n\n// Sets the predicate which will be used to determine whether the errors\n// returned from the wrapped function should be retried or not, e.g. a\n// network error would be retriable while a type error would stop the\n// function call.\nFunctionCall.prototype.retryIf = function (retryPredicate) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.retryPredicate_ = retryPredicate;\n return this;\n};\n\n// Returns all intermediary results returned by the wrapped function since\n// the initial call.\nFunctionCall.prototype.getLastResult = function () {\n return this.lastResult_.concat();\n};\n\n// Returns the number of times the wrapped function call was retried.\nFunctionCall.prototype.getNumRetries = function () {\n return this.numRetries_;\n};\n\n// Sets the backoff limit.\nFunctionCall.prototype.failAfter = function (maxNumberOfRetry) {\n precond.checkState(this.isPending(), 'FunctionCall in progress.');\n this.failAfter_ = maxNumberOfRetry;\n return this; // Return this for chaining.\n};\n\n// Aborts the call.\nFunctionCall.prototype.abort = function () {\n if (this.isCompleted() || this.isAborted()) {\n return;\n }\n\n if (this.isRunning()) {\n this.backoff_.reset();\n }\n\n this.state_ = FunctionCall.State_.ABORTED;\n this.lastResult_ = [new Error('Backoff aborted.')];\n this.emit('abort');\n this.doCallback_();\n};\n\n// Initiates the call to the wrapped function. Accepts an optional factory\n// function used to create the backoff instance; used when testing.\nFunctionCall.prototype.start = function (backoffFactory) {\n precond.checkState(!this.isAborted(), 'FunctionCall is aborted.');\n precond.checkState(this.isPending(), 'FunctionCall already started.');\n\n var strategy = this.strategy_ || new FibonacciBackoffStrategy();\n\n this.backoff_ = backoffFactory ? backoffFactory(strategy) : new Backoff(strategy);\n\n this.backoff_.on('ready', this.doCall_.bind(this, true /* isRetry */));\n this.backoff_.on('fail', this.doCallback_.bind(this));\n this.backoff_.on('backoff', this.handleBackoff_.bind(this));\n\n if (this.failAfter_ > 0) {\n this.backoff_.failAfter(this.failAfter_);\n }\n\n this.state_ = FunctionCall.State_.RUNNING;\n this.doCall_(false /* isRetry */);\n};\n\n// Calls the wrapped function.\nFunctionCall.prototype.doCall_ = function (isRetry) {\n if (isRetry) {\n this.numRetries_++;\n }\n var eventArgs = ['call'].concat(this.arguments_);\n events.EventEmitter.prototype.emit.apply(this, eventArgs);\n var callback = this.handleFunctionCallback_.bind(this);\n this.function_.apply(null, this.arguments_.concat(callback));\n};\n\n// Calls the wrapped function's callback with the last result returned by the\n// wrapped function.\nFunctionCall.prototype.doCallback_ = function () {\n this.callback_.apply(null, this.lastResult_);\n};\n\n// Handles wrapped function's completion. This method acts as a replacement\n// for the original callback function.\nFunctionCall.prototype.handleFunctionCallback_ = function () {\n if (this.isAborted()) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments);\n this.lastResult_ = args; // Save last callback arguments.\n events.EventEmitter.prototype.emit.apply(this, ['callback'].concat(args));\n\n var err = args[0];\n if (err && this.retryPredicate_(err)) {\n this.backoff_.backoff(err);\n } else {\n this.state_ = FunctionCall.State_.COMPLETED;\n this.doCallback_();\n }\n};\n\n// Handles the backoff event by reemitting it.\nFunctionCall.prototype.handleBackoff_ = function (number, delay, err) {\n this.emit('backoff', number, delay, err);\n};\n\nmodule.exports = FunctionCall;" + }, + { + "id": 623, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/application.js", + "name": "./app/javascript/packs/application.js", + "index": 762, + "index2": 797, + "size": 180, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "import loadPolyfills from '../mastodon/load_polyfills';\n\nloadPolyfills().then(function () {\n require('../mastodon/main').default();\n}).catch(function (e) {\n console.error(e);\n});" + }, + { + "id": 624, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "name": "./app/javascript/mastodon/main.js", + "index": 763, + "index2": 796, + "size": 1132, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/application.js", + "issuerId": 623, + "issuerName": "./app/javascript/packs/application.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 623, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/application.js", + "module": "./app/javascript/packs/application.js", + "moduleName": "./app/javascript/packs/application.js", + "type": "cjs require", + "userRequest": "../mastodon/main", + "loc": "4:2-29" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 1, + "source": "import * as WebPushSubscription from './web_push_subscription';\nimport Mastodon from './containers/mastodon';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport ready from './ready';\n\nvar perf = require('./performance');\n\nfunction main() {\n perf.start('main()');\n\n if (window.history && history.replaceState) {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n var path = pathname + search + hash;\n if (!/^\\/web[$/]/.test(path)) {\n history.replaceState(null, document.title, '/web' + path);\n }\n }\n\n ready(function () {\n var mountNode = document.getElementById('mastodon');\n var props = JSON.parse(mountNode.getAttribute('data-props'));\n\n ReactDOM.render(React.createElement(Mastodon, props), mountNode);\n if (process.env.NODE_ENV === 'production') {\n // avoid offline in dev mode because it's harder to debug\n require('offline-plugin/runtime').install();\n WebPushSubscription.register();\n }\n perf.stop('main()');\n });\n}\n\nexport default main;" + }, + { + "id": 625, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/web_push_subscription.js", + "name": "./app/javascript/mastodon/web_push_subscription.js", + "index": 764, + "index2": 793, + "size": 4616, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "issuerId": 624, + "issuerName": "./app/javascript/mastodon/main.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 624, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "module": "./app/javascript/mastodon/main.js", + "moduleName": "./app/javascript/mastodon/main.js", + "type": "harmony import", + "userRequest": "./web_push_subscription", + "loc": "1:0-63" + } + ], + "usedExports": [ + "register" + ], + "providedExports": [ + "register" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import axios from 'axios';\nimport { store } from './containers/mastodon';\nimport { setBrowserSupport, setSubscription, clearSubscription } from './actions/push_notifications';\n\n// Taken from https://www.npmjs.com/package/web-push\nvar urlBase64ToUint8Array = function urlBase64ToUint8Array(base64String) {\n var padding = '='.repeat((4 - base64String.length % 4) % 4);\n var base64 = (base64String + padding).replace(/\\-/g, '+').replace(/_/g, '/');\n\n var rawData = window.atob(base64);\n var outputArray = new Uint8Array(rawData.length);\n\n for (var i = 0; i < rawData.length; ++i) {\n outputArray[i] = rawData.charCodeAt(i);\n }\n return outputArray;\n};\n\nvar getApplicationServerKey = function getApplicationServerKey() {\n return document.querySelector('[name=\"applicationServerKey\"]').getAttribute('content');\n};\n\nvar getRegistration = function getRegistration() {\n return navigator.serviceWorker.ready;\n};\n\nvar getPushSubscription = function getPushSubscription(registration) {\n return registration.pushManager.getSubscription().then(function (subscription) {\n return { registration: registration, subscription: subscription };\n });\n};\n\nvar subscribe = function subscribe(registration) {\n return registration.pushManager.subscribe({\n userVisibleOnly: true,\n applicationServerKey: urlBase64ToUint8Array(getApplicationServerKey())\n });\n};\n\nvar unsubscribe = function unsubscribe(_ref) {\n var registration = _ref.registration,\n subscription = _ref.subscription;\n return subscription ? subscription.unsubscribe().then(function () {\n return registration;\n }) : registration;\n};\n\nvar sendSubscriptionToBackend = function sendSubscriptionToBackend(subscription) {\n return axios.post('/api/web/push_subscriptions', {\n subscription: subscription\n }).then(function (response) {\n return response.data;\n });\n};\n\n// Last one checks for payload support: https://web-push-book.gauntface.com/chapter-06/01-non-standards-browsers/#no-payload\nvar supportsPushNotifications = 'serviceWorker' in navigator && 'PushManager' in window && 'getKey' in PushSubscription.prototype;\n\nexport function register() {\n store.dispatch(setBrowserSupport(supportsPushNotifications));\n\n if (supportsPushNotifications) {\n if (!getApplicationServerKey()) {\n console.error('The VAPID public key is not set. You will not be able to receive Web Push Notifications.');\n return;\n }\n\n getRegistration().then(getPushSubscription).then(function (_ref2) {\n var registration = _ref2.registration,\n subscription = _ref2.subscription;\n\n if (subscription !== null) {\n // We have a subscription, check if it is still valid\n var currentServerKey = new Uint8Array(subscription.options.applicationServerKey).toString();\n var subscriptionServerKey = urlBase64ToUint8Array(getApplicationServerKey()).toString();\n var serverEndpoint = store.getState().getIn(['push_notifications', 'subscription', 'endpoint']);\n\n // If the VAPID public key did not change and the endpoint corresponds\n // to the endpoint saved in the backend, the subscription is valid\n if (subscriptionServerKey === currentServerKey && subscription.endpoint === serverEndpoint) {\n return subscription;\n } else {\n // Something went wrong, try to subscribe again\n return unsubscribe({ registration: registration, subscription: subscription }).then(subscribe).then(sendSubscriptionToBackend);\n }\n }\n\n // No subscription, try to subscribe\n return subscribe(registration).then(sendSubscriptionToBackend);\n }).then(function (subscription) {\n // If we got a PushSubscription (and not a subscription object from the backend)\n // it means that the backend subscription is valid (and was set during hydration)\n if (!(subscription instanceof PushSubscription)) {\n store.dispatch(setSubscription(subscription));\n }\n }).catch(function (error) {\n if (error.code === 20 && error.name === 'AbortError') {\n console.warn('Your browser supports Web Push Notifications, but does not seem to implement the VAPID protocol.');\n } else if (error.code === 5 && error.name === 'InvalidCharacterError') {\n console.error('The VAPID public key seems to be invalid:', getApplicationServerKey());\n }\n\n // Clear alerts and hide UI settings\n store.dispatch(clearSubscription());\n\n try {\n getRegistration().then(getPushSubscription).then(unsubscribe);\n } catch (e) {}\n });\n } else {\n console.warn('Your browser does not support Web Push Notifications.');\n }\n}" + }, + { + "id": 626, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/onboarding.js", + "name": "./app/javascript/mastodon/actions/onboarding.js", + "index": 766, + "index2": 762, + "size": 406, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "../actions/onboarding", + "loc": "9:0-59" + } + ], + "usedExports": [ + "showOnboardingOnce" + ], + "providedExports": [ + "showOnboardingOnce" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import { openModal } from './modal';\nimport { changeSetting, saveSettings } from './settings';\n\nexport function showOnboardingOnce() {\n return function (dispatch, getState) {\n var alreadySeen = getState().getIn(['settings', 'onboarded']);\n\n if (!alreadySeen) {\n dispatch(openModal('ONBOARDING'));\n dispatch(changeSetting(['onboarded'], true));\n dispatch(saveSettings());\n }\n };\n};" + }, + { + "id": 627, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "name": "./app/javascript/mastodon/features/ui/index.js", + "index": 767, + "index2": 791, + "size": 15281, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "../features/ui", + "loc": "12:0-32" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _debounce from 'lodash/debounce';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport NotificationsContainer from './containers/notifications_container';\nimport PropTypes from 'prop-types';\nimport LoadingBarContainer from './containers/loading_bar_container';\nimport TabsBar from './components/tabs_bar';\nimport ModalContainer from './containers/modal_container';\nimport { connect } from 'react-redux';\nimport { Redirect, withRouter } from 'react-router-dom';\nimport { isMobile } from '../../is_mobile';\n\nimport { uploadCompose, resetCompose } from '../../actions/compose';\nimport { refreshHomeTimeline } from '../../actions/timelines';\nimport { refreshNotifications } from '../../actions/notifications';\nimport { clearHeight } from '../../actions/height_cache';\nimport { WrappedSwitch, WrappedRoute } from './util/react_router_helpers';\nimport UploadArea from './components/upload_area';\nimport ColumnsAreaContainer from './containers/columns_area_container';\nimport { Compose, Status, GettingStarted, PublicTimeline, CommunityTimeline, AccountTimeline, AccountGallery, HomeTimeline, Followers, Following, Reblogs, Favourites, HashtagTimeline, Notifications, FollowRequests, GenericNotFound, FavouritedStatuses, Blocks, Mutes, PinnedStatuses } from './util/async-components';\nimport { HotKeys } from 'react-hotkeys';\nimport { me } from '../../initial_state';\nimport { defineMessages, injectIntl } from 'react-intl';\n\n// Dummy import, to make sure that ends up in the application bundle.\n// Without this it ends up in ~8 very commonly used bundles.\nimport '../../components/status';\n\nvar messages = defineMessages({\n beforeUnload: {\n 'id': 'ui.beforeunload',\n 'defaultMessage': 'Your draft will be lost if you leave Mastodon.'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n isComposing: state.getIn(['compose', 'is_composing']),\n hasComposingText: state.getIn(['compose', 'text']) !== ''\n };\n};\n\nvar keyMap = {\n new: 'n',\n search: 's',\n forceNew: 'option+n',\n focusColumn: ['1', '2', '3', '4', '5', '6', '7', '8', '9'],\n reply: 'r',\n favourite: 'f',\n boost: 'b',\n mention: 'm',\n open: ['enter', 'o'],\n openProfile: 'p',\n moveDown: ['down', 'j'],\n moveUp: ['up', 'k'],\n back: 'backspace',\n goToHome: 'g h',\n goToNotifications: 'g n',\n goToLocal: 'g l',\n goToFederated: 'g t',\n goToStart: 'g s',\n goToFavourites: 'g f',\n goToPinned: 'g p',\n goToProfile: 'g u',\n goToBlocked: 'g b',\n goToMuted: 'g m'\n};\n\nvar UI = (_dec = connect(mapStateToProps), _dec(_class = injectIntl(_class = withRouter(_class = (_temp2 = _class2 = function (_React$Component) {\n _inherits(UI, _React$Component);\n\n function UI() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, UI);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n width: window.innerWidth,\n draggingOver: false\n }, _this.handleBeforeUnload = function (e) {\n var _this$props = _this.props,\n intl = _this$props.intl,\n isComposing = _this$props.isComposing,\n hasComposingText = _this$props.hasComposingText;\n\n\n if (isComposing && hasComposingText) {\n // Setting returnValue to any string causes confirmation dialog.\n // Many browsers no longer display this text to users,\n // but we set user-friendly message for other browsers, e.g. Edge.\n e.returnValue = intl.formatMessage(messages.beforeUnload);\n }\n }, _this.handleResize = _debounce(function () {\n // The cached heights are no longer accurate, invalidate\n _this.props.dispatch(clearHeight());\n\n _this.setState({ width: window.innerWidth });\n }, 500, {\n trailing: true\n }), _this.handleDragEnter = function (e) {\n e.preventDefault();\n\n if (!_this.dragTargets) {\n _this.dragTargets = [];\n }\n\n if (_this.dragTargets.indexOf(e.target) === -1) {\n _this.dragTargets.push(e.target);\n }\n\n if (e.dataTransfer && e.dataTransfer.types.includes('Files')) {\n _this.setState({ draggingOver: true });\n }\n }, _this.handleDragOver = function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n try {\n e.dataTransfer.dropEffect = 'copy';\n } catch (err) {}\n\n return false;\n }, _this.handleDrop = function (e) {\n e.preventDefault();\n\n _this.setState({ draggingOver: false });\n\n if (e.dataTransfer && e.dataTransfer.files.length === 1) {\n _this.props.dispatch(uploadCompose(e.dataTransfer.files));\n }\n }, _this.handleDragLeave = function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n _this.dragTargets = _this.dragTargets.filter(function (el) {\n return el !== e.target && _this.node.contains(el);\n });\n\n if (_this.dragTargets.length > 0) {\n return;\n }\n\n _this.setState({ draggingOver: false });\n }, _this.closeUploadModal = function () {\n _this.setState({ draggingOver: false });\n }, _this.handleServiceWorkerPostMessage = function (_ref) {\n var data = _ref.data;\n\n if (data.type === 'navigate') {\n _this.context.router.history.push(data.path);\n } else {\n console.warn('Unknown message type:', data.type);\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.setColumnsAreaRef = function (c) {\n _this.columnsAreaNode = c.getWrappedInstance().getWrappedInstance();\n }, _this.handleHotkeyNew = function (e) {\n e.preventDefault();\n\n var element = _this.node.querySelector('.compose-form__autosuggest-wrapper textarea');\n\n if (element) {\n element.focus();\n }\n }, _this.handleHotkeySearch = function (e) {\n e.preventDefault();\n\n var element = _this.node.querySelector('.search__input');\n\n if (element) {\n element.focus();\n }\n }, _this.handleHotkeyForceNew = function (e) {\n _this.handleHotkeyNew(e);\n _this.props.dispatch(resetCompose());\n }, _this.handleHotkeyFocusColumn = function (e) {\n var index = e.key * 1 + 1; // First child is drawer, skip that\n var column = _this.node.querySelector('.column:nth-child(' + index + ')');\n\n if (column) {\n var status = column.querySelector('.focusable');\n\n if (status) {\n status.focus();\n }\n }\n }, _this.handleHotkeyBack = function () {\n if (window.history && window.history.length === 1) {\n _this.context.router.history.push('/');\n } else {\n _this.context.router.history.goBack();\n }\n }, _this.setHotkeysRef = function (c) {\n _this.hotkeys = c;\n }, _this.handleHotkeyGoToHome = function () {\n _this.context.router.history.push('/timelines/home');\n }, _this.handleHotkeyGoToNotifications = function () {\n _this.context.router.history.push('/notifications');\n }, _this.handleHotkeyGoToLocal = function () {\n _this.context.router.history.push('/timelines/public/local');\n }, _this.handleHotkeyGoToFederated = function () {\n _this.context.router.history.push('/timelines/public');\n }, _this.handleHotkeyGoToStart = function () {\n _this.context.router.history.push('/getting-started');\n }, _this.handleHotkeyGoToFavourites = function () {\n _this.context.router.history.push('/favourites');\n }, _this.handleHotkeyGoToPinned = function () {\n _this.context.router.history.push('/pinned');\n }, _this.handleHotkeyGoToProfile = function () {\n _this.context.router.history.push('/accounts/' + me);\n }, _this.handleHotkeyGoToBlocked = function () {\n _this.context.router.history.push('/blocks');\n }, _this.handleHotkeyGoToMuted = function () {\n _this.context.router.history.push('/mutes');\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n UI.prototype.componentWillMount = function componentWillMount() {\n window.addEventListener('beforeunload', this.handleBeforeUnload, false);\n window.addEventListener('resize', this.handleResize, { passive: true });\n document.addEventListener('dragenter', this.handleDragEnter, false);\n document.addEventListener('dragover', this.handleDragOver, false);\n document.addEventListener('drop', this.handleDrop, false);\n document.addEventListener('dragleave', this.handleDragLeave, false);\n document.addEventListener('dragend', this.handleDragEnd, false);\n\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.addEventListener('message', this.handleServiceWorkerPostMessage);\n }\n\n this.props.dispatch(refreshHomeTimeline());\n this.props.dispatch(refreshNotifications());\n };\n\n UI.prototype.componentDidMount = function componentDidMount() {\n this.hotkeys.__mousetrap__.stopCallback = function (e, element) {\n return ['TEXTAREA', 'SELECT', 'INPUT'].includes(element.tagName);\n };\n };\n\n UI.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n if (nextProps.isComposing !== this.props.isComposing) {\n // Avoid expensive update just to toggle a class\n this.node.classList.toggle('is-composing', nextProps.isComposing);\n\n return false;\n }\n\n // Why isn't this working?!?\n // return super.shouldComponentUpdate(nextProps, nextState);\n return true;\n };\n\n UI.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (![this.props.location.pathname, '/'].includes(prevProps.location.pathname)) {\n this.columnsAreaNode.handleChildrenContentChange();\n }\n };\n\n UI.prototype.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener('beforeunload', this.handleBeforeUnload);\n window.removeEventListener('resize', this.handleResize);\n document.removeEventListener('dragenter', this.handleDragEnter);\n document.removeEventListener('dragover', this.handleDragOver);\n document.removeEventListener('drop', this.handleDrop);\n document.removeEventListener('dragleave', this.handleDragLeave);\n document.removeEventListener('dragend', this.handleDragEnd);\n };\n\n UI.prototype.render = function render() {\n var _state = this.state,\n width = _state.width,\n draggingOver = _state.draggingOver;\n var children = this.props.children;\n\n\n var handlers = {\n new: this.handleHotkeyNew,\n search: this.handleHotkeySearch,\n forceNew: this.handleHotkeyForceNew,\n focusColumn: this.handleHotkeyFocusColumn,\n back: this.handleHotkeyBack,\n goToHome: this.handleHotkeyGoToHome,\n goToNotifications: this.handleHotkeyGoToNotifications,\n goToLocal: this.handleHotkeyGoToLocal,\n goToFederated: this.handleHotkeyGoToFederated,\n goToStart: this.handleHotkeyGoToStart,\n goToFavourites: this.handleHotkeyGoToFavourites,\n goToPinned: this.handleHotkeyGoToPinned,\n goToProfile: this.handleHotkeyGoToProfile,\n goToBlocked: this.handleHotkeyGoToBlocked,\n goToMuted: this.handleHotkeyGoToMuted\n };\n\n return React.createElement(\n HotKeys,\n { keyMap: keyMap, handlers: handlers, ref: this.setHotkeysRef },\n React.createElement(\n 'div',\n { className: 'ui', ref: this.setRef },\n _jsx(TabsBar, {}),\n React.createElement(\n ColumnsAreaContainer,\n { ref: this.setColumnsAreaRef, singleColumn: isMobile(width) },\n _jsx(WrappedSwitch, {}, void 0, _jsx(Redirect, {\n from: '/',\n to: '/getting-started',\n exact: true\n }), _jsx(WrappedRoute, {\n path: '/getting-started',\n component: GettingStarted,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/timelines/home',\n component: HomeTimeline,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/timelines/public',\n exact: true,\n component: PublicTimeline,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/timelines/public/local',\n component: CommunityTimeline,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/timelines/tag/:id',\n component: HashtagTimeline,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/notifications',\n component: Notifications,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/favourites',\n component: FavouritedStatuses,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/pinned',\n component: PinnedStatuses,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/statuses/new',\n component: Compose,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/statuses/:statusId',\n exact: true,\n component: Status,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/statuses/:statusId/reblogs',\n component: Reblogs,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/statuses/:statusId/favourites',\n component: Favourites,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/accounts/:accountId',\n exact: true,\n component: AccountTimeline,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/accounts/:accountId/followers',\n component: Followers,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/accounts/:accountId/following',\n component: Following,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/accounts/:accountId/media',\n component: AccountGallery,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/follow_requests',\n component: FollowRequests,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/blocks',\n component: Blocks,\n content: children\n }), _jsx(WrappedRoute, {\n path: '/mutes',\n component: Mutes,\n content: children\n }), _jsx(WrappedRoute, {\n component: GenericNotFound,\n content: children\n }))\n ),\n _jsx(NotificationsContainer, {}),\n _jsx(LoadingBarContainer, {\n className: 'loading-bar'\n }),\n _jsx(ModalContainer, {}),\n _jsx(UploadArea, {\n active: draggingOver,\n onClose: this.closeUploadModal\n })\n )\n );\n };\n\n return UI;\n}(React.Component), _class2.contextTypes = {\n router: PropTypes.object.isRequired\n}, _temp2)) || _class) || _class) || _class);\nexport { UI as default };" + }, + { + "id": 642, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "name": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "index": 789, + "index2": 786, + "size": 3239, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "./util/react_router_helpers", + "loc": "23:0-74" + } + ], + "usedExports": [ + "WrappedRoute", + "WrappedSwitch" + ], + "providedExports": [ + "WrappedSwitch", + "WrappedRoute" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport { Switch, Route } from 'react-router-dom';\n\nimport ColumnLoading from '../components/column_loading';\nimport BundleColumnError from '../components/bundle_column_error';\nimport BundleContainer from '../containers/bundle_container';\n\n// Small wrapper to pass multiColumn to the route components\nexport var WrappedSwitch = function (_React$PureComponent) {\n _inherits(WrappedSwitch, _React$PureComponent);\n\n function WrappedSwitch() {\n _classCallCheck(this, WrappedSwitch);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n WrappedSwitch.prototype.render = function render() {\n var _props = this.props,\n multiColumn = _props.multiColumn,\n children = _props.children;\n\n\n return _jsx(Switch, {}, void 0, React.Children.map(children, function (child) {\n return React.cloneElement(child, { multiColumn: multiColumn });\n }));\n };\n\n return WrappedSwitch;\n}(React.PureComponent);\n\n// Small Wraper to extract the params from the route and pass\n// them to the rendered component, together with the content to\n// be rendered inside (the children)\nexport var WrappedRoute = function (_React$Component) {\n _inherits(WrappedRoute, _React$Component);\n\n function WrappedRoute() {\n var _temp, _this2, _ret;\n\n _classCallCheck(this, WrappedRoute);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this2 = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this2), _this2.renderComponent = function (_ref) {\n var match = _ref.match;\n var _this2$props = _this2.props,\n component = _this2$props.component,\n content = _this2$props.content,\n multiColumn = _this2$props.multiColumn;\n\n\n return _jsx(BundleContainer, {\n fetchComponent: component,\n loading: _this2.renderLoading,\n error: _this2.renderError\n }, void 0, function (Component) {\n return _jsx(Component, {\n params: match.params,\n multiColumn: multiColumn\n }, void 0, content);\n });\n }, _this2.renderLoading = function () {\n return _jsx(ColumnLoading, {});\n }, _this2.renderError = function (props) {\n return React.createElement(BundleColumnError, props);\n }, _temp), _possibleConstructorReturn(_this2, _ret);\n }\n\n WrappedRoute.prototype.render = function render() {\n var _props2 = this.props,\n Component = _props2.component,\n content = _props2.content,\n rest = _objectWithoutProperties(_props2, ['component', 'content']);\n\n return React.createElement(Route, _extends({}, rest, { render: this.renderComponent }));\n };\n\n return WrappedRoute;\n}(React.Component);" + }, + { + "id": 643, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "name": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "index": 792, + "index2": 787, + "size": 2691, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "./components/upload_area", + "loc": "24:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { FormattedMessage } from 'react-intl';\n\nvar UploadArea = function (_React$PureComponent) {\n _inherits(UploadArea, _React$PureComponent);\n\n function UploadArea() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, UploadArea);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleKeyUp = function (e) {\n var keyCode = e.keyCode;\n if (_this.props.active) {\n switch (keyCode) {\n case 27:\n e.preventDefault();\n e.stopPropagation();\n _this.props.onClose();\n break;\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n UploadArea.prototype.componentDidMount = function componentDidMount() {\n window.addEventListener('keyup', this.handleKeyUp, false);\n };\n\n UploadArea.prototype.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener('keyup', this.handleKeyUp);\n };\n\n UploadArea.prototype.render = function render() {\n var active = this.props.active;\n\n\n return _jsx(Motion, {\n defaultStyle: { backgroundOpacity: 0, backgroundScale: 0.95 },\n style: { backgroundOpacity: spring(active ? 1 : 0, { stiffness: 150, damping: 15 }), backgroundScale: spring(active ? 1 : 0.95, { stiffness: 200, damping: 3 }) }\n }, void 0, function (_ref) {\n var backgroundOpacity = _ref.backgroundOpacity,\n backgroundScale = _ref.backgroundScale;\n return _jsx('div', {\n className: 'upload-area',\n style: { visibility: active ? 'visible' : 'hidden', opacity: backgroundOpacity }\n }, void 0, _jsx('div', {\n className: 'upload-area__drop'\n }, void 0, _jsx('div', {\n className: 'upload-area__background',\n style: { transform: 'scale(' + backgroundScale + ')' }\n }), _jsx('div', {\n className: 'upload-area__content'\n }, void 0, _jsx(FormattedMessage, {\n id: 'upload_area.title',\n defaultMessage: 'Drag & drop to upload'\n }))));\n });\n };\n\n return UploadArea;\n}(React.PureComponent);\n\nexport { UploadArea as default };" + }, + { + "id": 644, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/columns_area_container.js", + "name": "./app/javascript/mastodon/features/ui/containers/columns_area_container.js", + "index": 793, + "index2": 790, + "size": 304, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "./containers/columns_area_container", + "loc": "25:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { connect } from 'react-redux';\nimport ColumnsArea from '../components/columns_area';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n columns: state.getIn(['settings', 'columns'])\n };\n};\n\nexport default connect(mapStateToProps, null, null, { withRef: true })(ColumnsArea);" + }, + { + "id": 645, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "name": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "index": 794, + "index2": 789, + "size": 7608, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/columns_area_container.js", + "issuerId": 644, + "issuerName": "./app/javascript/mastodon/features/ui/containers/columns_area_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 644, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/columns_area_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/columns_area_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/columns_area_container.js", + "type": "harmony import", + "userRequest": "../components/columns_area", + "loc": "2:0-53" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl } from 'react-intl';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nimport ReactSwipeableViews from 'react-swipeable-views';\nimport { links, getIndex, getLink } from './tabs_bar';\n\nimport BundleContainer from '../containers/bundle_container';\nimport ColumnLoading from './column_loading';\nimport DrawerLoading from './drawer_loading';\nimport BundleColumnError from './bundle_column_error';\nimport { Compose, Notifications, HomeTimeline, CommunityTimeline, PublicTimeline, HashtagTimeline, FavouritedStatuses } from '../../ui/util/async-components';\n\nimport detectPassiveEvents from 'detect-passive-events';\nimport { scrollRight } from '../../../scroll';\n\nvar componentMap = {\n 'COMPOSE': Compose,\n 'HOME': HomeTimeline,\n 'NOTIFICATIONS': Notifications,\n 'PUBLIC': PublicTimeline,\n 'COMMUNITY': CommunityTimeline,\n 'HASHTAG': HashtagTimeline,\n 'FAVOURITES': FavouritedStatuses\n};\n\nvar ColumnsArea = (_dec = function _dec(component) {\n return injectIntl(component, { withRef: true });\n}, _dec(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(ColumnsArea, _ImmutablePureCompone);\n\n function ColumnsArea() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnsArea);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n shouldAnimate: false\n }, _this.handleSwipe = function (index) {\n _this.pendingIndex = index;\n\n var nextLinkTranslationId = links[index].props['data-preview-title-id'];\n var currentLinkSelector = '.tabs-bar__link.active';\n var nextLinkSelector = '.tabs-bar__link[data-preview-title-id=\"' + nextLinkTranslationId + '\"]';\n\n // HACK: Remove the active class from the current link and set it to the next one\n // React-router does this for us, but too late, feeling laggy.\n document.querySelector(currentLinkSelector).classList.remove('active');\n document.querySelector(nextLinkSelector).classList.add('active');\n }, _this.handleAnimationEnd = function () {\n if (typeof _this.pendingIndex === 'number') {\n _this.context.router.history.push(getLink(_this.pendingIndex));\n _this.pendingIndex = null;\n }\n }, _this.handleWheel = function () {\n if (typeof _this._interruptScrollAnimation !== 'function') {\n return;\n }\n\n _this._interruptScrollAnimation();\n }, _this.setRef = function (node) {\n _this.node = node;\n }, _this.renderView = function (link, index) {\n var columnIndex = getIndex(_this.context.router.history.location.pathname);\n var title = _this.props.intl.formatMessage({ id: link.props['data-preview-title-id'] });\n var icon = link.props['data-preview-icon'];\n\n var view = index === columnIndex ? React.cloneElement(_this.props.children) : _jsx(ColumnLoading, {\n title: title,\n icon: icon\n });\n\n return _jsx('div', {\n className: 'columns-area'\n }, index, view);\n }, _this.renderLoading = function (columnId) {\n return function () {\n return columnId === 'COMPOSE' ? _jsx(DrawerLoading, {}) : _jsx(ColumnLoading, {});\n };\n }, _this.renderError = function (props) {\n return React.createElement(BundleColumnError, props);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnsArea.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n this.setState({ shouldAnimate: false });\n };\n\n ColumnsArea.prototype.componentDidMount = function componentDidMount() {\n if (!this.props.singleColumn) {\n this.node.addEventListener('wheel', this.handleWheel, detectPassiveEvents.hasSupport ? { passive: true } : false);\n }\n this.lastIndex = getIndex(this.context.router.history.location.pathname);\n this.setState({ shouldAnimate: true });\n };\n\n ColumnsArea.prototype.componentWillUpdate = function componentWillUpdate(nextProps) {\n if (this.props.singleColumn !== nextProps.singleColumn && nextProps.singleColumn) {\n this.node.removeEventListener('wheel', this.handleWheel);\n }\n };\n\n ColumnsArea.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.singleColumn !== prevProps.singleColumn && !this.props.singleColumn) {\n this.node.addEventListener('wheel', this.handleWheel, detectPassiveEvents.hasSupport ? { passive: true } : false);\n }\n this.lastIndex = getIndex(this.context.router.history.location.pathname);\n this.setState({ shouldAnimate: true });\n };\n\n ColumnsArea.prototype.componentWillUnmount = function componentWillUnmount() {\n if (!this.props.singleColumn) {\n this.node.removeEventListener('wheel', this.handleWheel);\n }\n };\n\n ColumnsArea.prototype.handleChildrenContentChange = function handleChildrenContentChange() {\n if (!this.props.singleColumn) {\n this._interruptScrollAnimation = scrollRight(this.node, this.node.scrollWidth - window.innerWidth);\n }\n };\n\n ColumnsArea.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n columns = _props.columns,\n children = _props.children,\n singleColumn = _props.singleColumn;\n var shouldAnimate = this.state.shouldAnimate;\n\n\n var columnIndex = getIndex(this.context.router.history.location.pathname);\n this.pendingIndex = null;\n\n if (singleColumn) {\n return columnIndex !== -1 ? _jsx(ReactSwipeableViews, {\n index: columnIndex,\n onChangeIndex: this.handleSwipe,\n onTransitionEnd: this.handleAnimationEnd,\n animateTransitions: shouldAnimate,\n springConfig: { duration: '400ms', delay: '0s', easeFunction: 'ease' },\n style: { height: '100%' }\n }, void 0, links.map(this.renderView)) : _jsx('div', {\n className: 'columns-area'\n }, void 0, children);\n }\n\n return React.createElement(\n 'div',\n { className: 'columns-area', ref: this.setRef },\n columns.map(function (column) {\n var params = column.get('params', null) === null ? null : column.get('params').toJS();\n\n return _jsx(BundleContainer, {\n fetchComponent: componentMap[column.get('id')],\n loading: _this2.renderLoading(column.get('id')),\n error: _this2.renderError\n }, column.get('uuid'), function (SpecificComponent) {\n return _jsx(SpecificComponent, {\n columnId: column.get('uuid'),\n params: params,\n multiColumn: true\n });\n });\n }),\n React.Children.map(children, function (child) {\n return React.cloneElement(child, { multiColumn: true });\n })\n );\n };\n\n return ColumnsArea;\n}(ImmutablePureComponent), _class2.contextTypes = {\n router: PropTypes.object.isRequired\n}, _class2.propTypes = {\n intl: PropTypes.object.isRequired,\n columns: ImmutablePropTypes.list.isRequired,\n singleColumn: PropTypes.bool,\n children: PropTypes.node\n}, _temp2)) || _class);\nexport { ColumnsArea as default };" + }, + { + "id": 646, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/drawer_loading.js", + "name": "./app/javascript/mastodon/features/ui/components/drawer_loading.js", + "index": 795, + "index2": 788, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "issuerId": 645, + "issuerName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "./drawer_loading", + "loc": "19:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\n\nvar DrawerLoading = function DrawerLoading() {\n return _jsx('div', {\n className: 'drawer'\n }, void 0, _jsx('div', {\n className: 'drawer__pager'\n }, void 0, _jsx('div', {\n className: 'drawer__inner'\n })));\n};\n\nexport default DrawerLoading;" + }, + { + "id": 647, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/performance.js", + "name": "./app/javascript/mastodon/performance.js", + "index": 796, + "index2": 794, + "size": 983, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "issuerId": 624, + "issuerName": "./app/javascript/mastodon/main.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 624, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "module": "./app/javascript/mastodon/main.js", + "moduleName": "./app/javascript/mastodon/main.js", + "type": "cjs require", + "userRequest": "./performance", + "loc": "7:11-35" + } + ], + "usedExports": true, + "providedExports": [ + "start", + "stop" + ], + "optimizationBailout": [], + "depth": 2, + "source": "//\n// Tools for performance debugging, only enabled in development mode.\n// Open up Chrome Dev Tools, then Timeline, then User Timing to see output.\n// Also see config/webpack/loaders/mark.js for the webpack loader marks.\n//\n\nvar marky = void 0;\n\nif (process.env.NODE_ENV === 'development') {\n if (typeof performance !== 'undefined' && performance.setResourceTimingBufferSize) {\n // Increase Firefox's performance entry limit; otherwise it's capped to 150.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1331135\n performance.setResourceTimingBufferSize(Infinity);\n }\n marky = require('marky');\n // allows us to easily do e.g. ReactPerf.printWasted() while debugging\n //window.ReactPerf = require('react-addons-perf');\n //window.ReactPerf.start();\n}\n\nexport function start(name) {\n if (process.env.NODE_ENV === 'development') {\n marky.mark(name);\n }\n}\n\nexport function stop(name) {\n if (process.env.NODE_ENV === 'development') {\n marky.stop(name);\n }\n}" + }, + { + "id": 648, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/offline-plugin/runtime.js", + "name": "./node_modules/offline-plugin/runtime.js", + "index": 797, + "index2": 795, + "size": 1561, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "issuerId": 624, + "issuerName": "./app/javascript/mastodon/main.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 624, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "module": "./app/javascript/mastodon/main.js", + "moduleName": "./app/javascript/mastodon/main.js", + "type": "cjs require", + "userRequest": "offline-plugin/runtime", + "loc": "31:6-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "var appCacheIframe;\n\nfunction hasSW() {\n return 'serviceWorker' in navigator && (\n // This is how I block Chrome 40 and detect Chrome 41, because first has\n // bugs with history.pustState and/or hashchange\n window.fetch || 'imageRendering' in document.documentElement.style) && (window.location.protocol === 'https:' || window.location.hostname === 'localhost' || window.location.hostname.indexOf('127.') === 0);\n}\n\nfunction install(options) {\n options || (options = {});\n\n if (hasSW()) {\n var registration = navigator.serviceWorker.register(\"/sw.js\");\n\n return;\n }\n\n if (window.applicationCache) {\n var directory = \"/packs/appcache/\";\n var name = \"manifest\";\n\n var doLoad = function () {\n var page = directory + name + '.html';\n var iframe = document.createElement('iframe');\n\n iframe.src = page;\n iframe.style.display = 'none';\n\n appCacheIframe = iframe;\n document.body.appendChild(iframe);\n };\n\n if (document.readyState === 'complete') {\n setTimeout(doLoad);\n } else {\n window.addEventListener('load', doLoad);\n }\n\n return;\n }\n}\n\nfunction applyUpdate(callback, errback) {}\n\nfunction update() {\n\n if (hasSW()) {\n navigator.serviceWorker.getRegistration().then(function (registration) {\n if (!registration) return;\n return registration.update();\n });\n }\n\n if (appCacheIframe) {\n try {\n appCacheIframe.contentWindow.applicationCache.update();\n } catch (e) {}\n }\n}\n\nexports.install = install;\nexports.applyUpdate = applyUpdate;\nexports.update = update;" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 623, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/application.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/application.js", + "moduleName": "./app/javascript/packs/application.js", + "loc": "", + "name": "application", + "reasons": [] + } + ] + }, + { + "id": 28, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 155531, + "names": [ + "share" + ], + "files": [ + "share-914b479bea45d0f6d4aa.js", + "share-914b479bea45d0f6d4aa.js.map" + ], + "hash": "914b479bea45d0f6d4aa", + "parents": [ + 65 + ], + "modules": [ + { + "id": 6, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "name": "./node_modules/react-intl/lib/index.es.js", + "index": 301, + "index2": 306, + "size": 49880, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27, + 28, + 29, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "issuerId": 653, + "issuerName": "./app/javascript/mastodon/containers/video_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 45, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "module": "./app/javascript/mastodon/actions/notifications.js", + "moduleName": "./app/javascript/mastodon/actions/notifications.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "5:0-44" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-46" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 131, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/relative_timestamp.js", + "module": "./app/javascript/mastodon/components/relative_timestamp.js", + "moduleName": "./app/javascript/mastodon/components/relative_timestamp.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-56" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "20:0-46" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-74" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-57" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-58" + }, + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-56" + }, + { + "moduleId": 260, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "module": "./app/javascript/mastodon/components/load_more.js", + "moduleName": "./app/javascript/mastodon/components/load_more.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-74" + }, + { + "moduleId": 271, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/loading_indicator.js", + "module": "./app/javascript/mastodon/components/loading_indicator.js", + "moduleName": "./app/javascript/mastodon/components/loading_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "3:0-46" + }, + { + "moduleId": 272, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "module": "./app/javascript/mastodon/components/column_back_button_slim.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button_slim.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-56" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "14:0-56" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-56" + }, + { + "moduleId": 298, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "4:0-56" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-56" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-56" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "6:0-46" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-57" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "29:0-56" + }, + { + "moduleId": 633, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-56" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 641, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-58" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-40" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "8:0-57" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-57" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-57" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-74" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-46" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "27:0-56" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-74" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-56" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "21:0-46" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-56" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-74" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-58" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "4:0-74" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 779, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "module": "./app/javascript/mastodon/components/column_back_button.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 780, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "module": "./app/javascript/mastodon/components/missing_indicator.js", + "moduleName": "./app/javascript/mastodon/components/missing_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "3:0-46" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-91" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "14:0-46" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-46" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-46" + }, + { + "moduleId": 885, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "2:0-56" + }, + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-46" + }, + { + "moduleId": 887, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "module": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-46" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-60" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + } + ], + "usedExports": [ + "FormattedDate", + "FormattedMessage", + "FormattedNumber", + "IntlProvider", + "addLocaleData", + "defineMessages", + "injectIntl" + ], + "providedExports": [ + "addLocaleData", + "intlShape", + "injectIntl", + "defineMessages", + "IntlProvider", + "FormattedDate", + "FormattedTime", + "FormattedRelative", + "FormattedNumber", + "FormattedPlural", + "FormattedMessage", + "FormattedHTMLMessage" + ], + "optimizationBailout": [], + "depth": 2, + "source": "/*\n * Copyright 2017, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nimport allLocaleData from '../locale-data/index.js';\nimport IntlMessageFormat from 'intl-messageformat';\nimport IntlRelativeFormat from 'intl-relativeformat';\nimport PropTypes from 'prop-types';\nimport React, { Children, Component, createElement, isValidElement } from 'react';\nimport invariant from 'invariant';\nimport memoizeIntlConstructor from 'intl-format-cache';\n\n// GENERATED FILE\nvar defaultLocaleData = { \"locale\": \"en\", \"pluralRuleFunction\": function pluralRuleFunction(n, ord) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";return n == 1 && v0 ? \"one\" : \"other\";\n }, \"fields\": { \"year\": { \"displayName\": \"year\", \"relative\": { \"0\": \"this year\", \"1\": \"next year\", \"-1\": \"last year\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} year\", \"other\": \"in {0} years\" }, \"past\": { \"one\": \"{0} year ago\", \"other\": \"{0} years ago\" } } }, \"month\": { \"displayName\": \"month\", \"relative\": { \"0\": \"this month\", \"1\": \"next month\", \"-1\": \"last month\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} month\", \"other\": \"in {0} months\" }, \"past\": { \"one\": \"{0} month ago\", \"other\": \"{0} months ago\" } } }, \"day\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"hour\": { \"displayName\": \"hour\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hour\", \"other\": \"in {0} hours\" }, \"past\": { \"one\": \"{0} hour ago\", \"other\": \"{0} hours ago\" } } }, \"minute\": { \"displayName\": \"minute\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} minute\", \"other\": \"in {0} minutes\" }, \"past\": { \"one\": \"{0} minute ago\", \"other\": \"{0} minutes ago\" } } }, \"second\": { \"displayName\": \"second\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} second\", \"other\": \"in {0} seconds\" }, \"past\": { \"one\": \"{0} second ago\", \"other\": \"{0} seconds ago\" } } } } };\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction addLocaleData() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var locales = Array.isArray(data) ? data : [data];\n\n locales.forEach(function (localeData) {\n if (localeData && localeData.locale) {\n IntlMessageFormat.__addLocaleData(localeData);\n IntlRelativeFormat.__addLocaleData(localeData);\n }\n });\n}\n\nfunction hasLocaleData(locale) {\n var localeParts = (locale || '').split('-');\n\n while (localeParts.length > 0) {\n if (hasIMFAndIRFLocaleData(localeParts.join('-'))) {\n return true;\n }\n\n localeParts.pop();\n }\n\n return false;\n}\n\nfunction hasIMFAndIRFLocaleData(locale) {\n var normalizedLocale = locale && locale.toLowerCase();\n\n return !!(IntlMessageFormat.__localeData__[normalizedLocale] && IntlRelativeFormat.__localeData__[normalizedLocale]);\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function 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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar bool = PropTypes.bool;\nvar number = PropTypes.number;\nvar string = PropTypes.string;\nvar func = PropTypes.func;\nvar object = PropTypes.object;\nvar oneOf = PropTypes.oneOf;\nvar shape = PropTypes.shape;\nvar any = PropTypes.any;\nvar oneOfType = PropTypes.oneOfType;\n\nvar localeMatcher = oneOf(['best fit', 'lookup']);\nvar narrowShortLong = oneOf(['narrow', 'short', 'long']);\nvar numeric2digit = oneOf(['numeric', '2-digit']);\nvar funcReq = func.isRequired;\n\nvar intlConfigPropTypes = {\n locale: string,\n formats: object,\n messages: object,\n textComponent: any,\n\n defaultLocale: string,\n defaultFormats: object\n};\n\nvar intlFormatPropTypes = {\n formatDate: funcReq,\n formatTime: funcReq,\n formatRelative: funcReq,\n formatNumber: funcReq,\n formatPlural: funcReq,\n formatMessage: funcReq,\n formatHTMLMessage: funcReq\n};\n\nvar intlShape = shape(_extends({}, intlConfigPropTypes, intlFormatPropTypes, {\n formatters: object,\n now: funcReq\n}));\n\nvar messageDescriptorPropTypes = {\n id: string.isRequired,\n description: oneOfType([string, object]),\n defaultMessage: string\n};\n\nvar dateTimeFormatPropTypes = {\n localeMatcher: localeMatcher,\n formatMatcher: oneOf(['basic', 'best fit']),\n\n timeZone: string,\n hour12: bool,\n\n weekday: narrowShortLong,\n era: narrowShortLong,\n year: numeric2digit,\n month: oneOf(['numeric', '2-digit', 'narrow', 'short', 'long']),\n day: numeric2digit,\n hour: numeric2digit,\n minute: numeric2digit,\n second: numeric2digit,\n timeZoneName: oneOf(['short', 'long'])\n};\n\nvar numberFormatPropTypes = {\n localeMatcher: localeMatcher,\n\n style: oneOf(['decimal', 'currency', 'percent']),\n currency: string,\n currencyDisplay: oneOf(['symbol', 'code', 'name']),\n useGrouping: bool,\n\n minimumIntegerDigits: number,\n minimumFractionDigits: number,\n maximumFractionDigits: number,\n minimumSignificantDigits: number,\n maximumSignificantDigits: number\n};\n\nvar relativeFormatPropTypes = {\n style: oneOf(['best fit', 'numeric']),\n units: oneOf(['second', 'minute', 'hour', 'day', 'month', 'year'])\n};\n\nvar pluralFormatPropTypes = {\n style: oneOf(['cardinal', 'ordinal'])\n};\n\n/*\nHTML escaping and shallow-equals implementations are the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\n\nvar intlConfigPropNames = Object.keys(intlConfigPropTypes);\n\nvar ESCAPED_CHARS = {\n '&': '&',\n '>': '>',\n '<': '<',\n '\"': '"',\n \"'\": '''\n};\n\nvar UNSAFE_CHARS_REGEX = /[&><\"']/g;\n\nfunction escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) {\n return ESCAPED_CHARS[match];\n });\n}\n\nfunction filterProps(props, whitelist) {\n var defaults$$1 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return whitelist.reduce(function (filtered, name) {\n if (props.hasOwnProperty(name)) {\n filtered[name] = props[name];\n } else if (defaults$$1.hasOwnProperty(name)) {\n filtered[name] = defaults$$1[name];\n }\n\n return filtered;\n }, {});\n}\n\nfunction invariantIntlContext() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n intl = _ref.intl;\n\n invariant(intl, '[React Intl] Could not find required `intl` object. ' + ' needs to exist in the component ancestry.');\n}\n\nfunction shallowEquals(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n for (var i = 0; i < keysA.length; i++) {\n if (!bHasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shouldIntlComponentUpdate(_ref2, nextProps, nextState) {\n var props = _ref2.props,\n state = _ref2.state,\n _ref2$context = _ref2.context,\n context = _ref2$context === undefined ? {} : _ref2$context;\n var nextContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _context$intl = context.intl,\n intl = _context$intl === undefined ? {} : _context$intl;\n var _nextContext$intl = nextContext.intl,\n nextIntl = _nextContext$intl === undefined ? {} : _nextContext$intl;\n\n return !shallowEquals(nextProps, props) || !shallowEquals(nextState, state) || !(nextIntl === intl || shallowEquals(filterProps(nextIntl, intlConfigPropNames), filterProps(intl, intlConfigPropNames)));\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// Inspired by react-redux's `connect()` HOC factory function implementation:\n// https://github.com/rackt/react-redux\n\nfunction getDisplayName(Component$$1) {\n return Component$$1.displayName || Component$$1.name || 'Component';\n}\n\nfunction injectIntl(WrappedComponent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$intlPropName = options.intlPropName,\n intlPropName = _options$intlPropName === undefined ? 'intl' : _options$intlPropName,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var InjectIntl = function (_Component) {\n inherits(InjectIntl, _Component);\n\n function InjectIntl(props, context) {\n classCallCheck(this, InjectIntl);\n\n var _this = possibleConstructorReturn(this, (InjectIntl.__proto__ || Object.getPrototypeOf(InjectIntl)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(InjectIntl, [{\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n invariant(withRef, '[React Intl] To access the wrapped instance, ' + 'the `{withRef: true}` option must be set when calling: ' + '`injectIntl()`');\n\n return this.refs.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(WrappedComponent, _extends({}, this.props, defineProperty({}, intlPropName, this.context.intl), {\n ref: withRef ? 'wrappedInstance' : null\n }));\n }\n }]);\n return InjectIntl;\n }(Component);\n\n InjectIntl.displayName = 'InjectIntl(' + getDisplayName(WrappedComponent) + ')';\n InjectIntl.contextTypes = {\n intl: intlShape\n };\n InjectIntl.WrappedComponent = WrappedComponent;\n\n return InjectIntl;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction defineMessages(messageDescriptors) {\n // This simply returns what's passed-in because it's meant to be a hook for\n // babel-plugin-react-intl.\n return messageDescriptors;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// This is a \"hack\" until a proper `intl-pluralformat` package is created.\n\nfunction resolveLocale(locales) {\n // IntlMessageFormat#_resolveLocale() does not depend on `this`.\n return IntlMessageFormat.prototype._resolveLocale(locales);\n}\n\nfunction findPluralFunction(locale) {\n // IntlMessageFormat#_findPluralFunction() does not depend on `this`.\n return IntlMessageFormat.prototype._findPluralRuleFunction(locale);\n}\n\nvar IntlPluralFormat = function IntlPluralFormat(locales) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlPluralFormat);\n\n var useOrdinal = options.style === 'ordinal';\n var pluralFn = findPluralFunction(resolveLocale(locales));\n\n this.format = function (value) {\n return pluralFn(value, useOrdinal);\n };\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar DATE_TIME_FORMAT_OPTIONS = Object.keys(dateTimeFormatPropTypes);\nvar NUMBER_FORMAT_OPTIONS = Object.keys(numberFormatPropTypes);\nvar RELATIVE_FORMAT_OPTIONS = Object.keys(relativeFormatPropTypes);\nvar PLURAL_FORMAT_OPTIONS = Object.keys(pluralFormatPropTypes);\n\nvar RELATIVE_FORMAT_THRESHOLDS = {\n second: 60, // seconds to minute\n minute: 60, // minutes to hour\n hour: 24, // hours to day\n day: 30, // days to month\n month: 12 // months to year\n};\n\nfunction updateRelativeFormatThresholds(newThresholds) {\n var thresholds = IntlRelativeFormat.thresholds;\n thresholds.second = newThresholds.second;\n thresholds.minute = newThresholds.minute;\n thresholds.hour = newThresholds.hour;\n thresholds.day = newThresholds.day;\n thresholds.month = newThresholds.month;\n}\n\nfunction getNamedFormat(formats, type, name) {\n var format = formats && formats[type] && formats[type][name];\n if (format) {\n return format;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] No ' + type + ' format named: ' + name);\n }\n}\n\nfunction formatDate(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'date', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting date.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatTime(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'time', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n if (!filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = _extends({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting time.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatRelative(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var now = new Date(options.now);\n var defaults$$1 = format && getNamedFormat(formats, 'relative', format);\n var filteredOptions = filterProps(options, RELATIVE_FORMAT_OPTIONS, defaults$$1);\n\n // Capture the current threshold values, then temporarily override them with\n // specific values just for this render.\n var oldThresholds = _extends({}, IntlRelativeFormat.thresholds);\n updateRelativeFormatThresholds(RELATIVE_FORMAT_THRESHOLDS);\n\n try {\n return state.getRelativeFormat(locale, filteredOptions).format(date, {\n now: isFinite(now) ? now : state.now()\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting relative time.\\n' + e);\n }\n } finally {\n updateRelativeFormatThresholds(oldThresholds);\n }\n\n return String(date);\n}\n\nfunction formatNumber(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var defaults$$1 = format && getNamedFormat(formats, 'number', format);\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getNumberFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting number.\\n' + e);\n }\n }\n\n return String(value);\n}\n\nfunction formatPlural(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale;\n\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n\n try {\n return state.getPluralFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting plural.\\n' + e);\n }\n }\n\n return 'other';\n}\n\nfunction formatMessage(config, state) {\n var messageDescriptor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var values = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n messages = config.messages,\n defaultLocale = config.defaultLocale,\n defaultFormats = config.defaultFormats;\n var id = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage;\n\n // `id` is a required field of a Message Descriptor.\n\n invariant(id, '[React Intl] An `id` must be provided to format a message.');\n\n var message = messages && messages[id];\n var hasValues = Object.keys(values).length > 0;\n\n // Avoid expensive message formatting for simple messages without values. In\n // development messages will always be formatted in case of missing values.\n if (!hasValues && process.env.NODE_ENV === 'production') {\n return message || defaultMessage || id;\n }\n\n var formattedMessage = void 0;\n\n if (message) {\n try {\n var formatter = state.getMessageFormat(message, locale, formats);\n\n formattedMessage = formatter.format(values);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : '') + ('\\n' + e));\n }\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale, and a default message is in the source.\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n console.error('[React Intl] Missing message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : ''));\n }\n }\n }\n\n if (!formattedMessage && defaultMessage) {\n try {\n var _formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n\n formattedMessage = _formatter.format(values);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting the default message for: \"' + id + '\"' + ('\\n' + e));\n }\n }\n }\n\n if (!formattedMessage) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Cannot format message: \"' + id + '\", ' + ('using message ' + (message || defaultMessage ? 'source' : 'id') + ' as fallback.'));\n }\n }\n\n return formattedMessage || message || defaultMessage || id;\n}\n\nfunction formatHTMLMessage(config, state, messageDescriptor) {\n var rawValues = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) {\n var value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n\nvar format = Object.freeze({\n formatDate: formatDate,\n formatTime: formatTime,\n formatRelative: formatRelative,\n formatNumber: formatNumber,\n formatPlural: formatPlural,\n formatMessage: formatMessage,\n formatHTMLMessage: formatHTMLMessage\n});\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar intlConfigPropNames$1 = Object.keys(intlConfigPropTypes);\nvar intlFormatPropNames = Object.keys(intlFormatPropTypes);\n\n// These are not a static property on the `IntlProvider` class so the intl\n// config values can be inherited from an ancestor.\nvar defaultProps = {\n formats: {},\n messages: {},\n textComponent: 'span',\n\n defaultLocale: 'en',\n defaultFormats: {}\n};\n\nvar IntlProvider = function (_Component) {\n inherits(IntlProvider, _Component);\n\n function IntlProvider(props) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlProvider);\n\n var _this = possibleConstructorReturn(this, (IntlProvider.__proto__ || Object.getPrototypeOf(IntlProvider)).call(this, props, context));\n\n invariant(typeof Intl !== 'undefined', '[React Intl] The `Intl` APIs must be available in the runtime, ' + 'and do not appear to be built-in. An `Intl` polyfill should be loaded.\\n' + 'See: http://formatjs.io/guides/runtime-environments/');\n\n var intlContext = context.intl;\n\n // Used to stabilize time when performing an initial rendering so that\n // all relative times use the same reference \"now\" time.\n\n var initialNow = void 0;\n if (isFinite(props.initialNow)) {\n initialNow = Number(props.initialNow);\n } else {\n // When an `initialNow` isn't provided via `props`, look to see an\n // exists in the ancestry and call its `now()`\n // function to propagate its value for \"now\".\n initialNow = intlContext ? intlContext.now() : Date.now();\n }\n\n // Creating `Intl*` formatters is expensive. If there's a parent\n // ``, then its formatters will be used. Otherwise, this\n // memoize the `Intl*` constructors and cache them for the lifecycle of\n // this IntlProvider instance.\n\n var _ref = intlContext || {},\n _ref$formatters = _ref.formatters,\n formatters = _ref$formatters === undefined ? {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat),\n getRelativeFormat: memoizeIntlConstructor(IntlRelativeFormat),\n getPluralFormat: memoizeIntlConstructor(IntlPluralFormat)\n } : _ref$formatters;\n\n _this.state = _extends({}, formatters, {\n\n // Wrapper to provide stable \"now\" time for initial render.\n now: function now() {\n return _this._didDisplay ? Date.now() : initialNow;\n }\n });\n return _this;\n }\n\n createClass(IntlProvider, [{\n key: 'getConfig',\n value: function getConfig() {\n var intlContext = this.context.intl;\n\n // Build a whitelisted config object from `props`, defaults, and\n // `context.intl`, if an exists in the ancestry.\n\n var config = filterProps(this.props, intlConfigPropNames$1, intlContext);\n\n // Apply default props. This must be applied last after the props have\n // been resolved and inherited from any in the ancestry.\n // This matches how React resolves `defaultProps`.\n for (var propName in defaultProps) {\n if (config[propName] === undefined) {\n config[propName] = defaultProps[propName];\n }\n }\n\n if (!hasLocaleData(config.locale)) {\n var _config = config,\n locale = _config.locale,\n defaultLocale = _config.defaultLocale,\n defaultFormats = _config.defaultFormats;\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Missing locale data for locale: \"' + locale + '\". ' + ('Using default locale: \"' + defaultLocale + '\" as fallback.'));\n }\n\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n config = _extends({}, config, {\n locale: defaultLocale,\n formats: defaultFormats,\n messages: defaultProps.messages\n });\n }\n\n return config;\n }\n }, {\n key: 'getBoundFormatFns',\n value: function getBoundFormatFns(config, state) {\n return intlFormatPropNames.reduce(function (boundFormatFns, name) {\n boundFormatFns[name] = format[name].bind(null, config, state);\n return boundFormatFns;\n }, {});\n }\n }, {\n key: 'getChildContext',\n value: function getChildContext() {\n var config = this.getConfig();\n\n // Bind intl factories and current config to the format functions.\n var boundFormatFns = this.getBoundFormatFns(config, this.state);\n\n var _state = this.state,\n now = _state.now,\n formatters = objectWithoutProperties(_state, ['now']);\n\n return {\n intl: _extends({}, config, boundFormatFns, {\n formatters: formatters,\n now: now\n })\n };\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._didDisplay = true;\n }\n }, {\n key: 'render',\n value: function render() {\n return Children.only(this.props.children);\n }\n }]);\n return IntlProvider;\n}(Component);\n\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.contextTypes = {\n intl: intlShape\n};\nIntlProvider.childContextTypes = {\n intl: intlShape.isRequired\n};\nprocess.env.NODE_ENV !== \"production\" ? IntlProvider.propTypes = _extends({}, intlConfigPropTypes, {\n children: PropTypes.element.isRequired,\n initialNow: PropTypes.any\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedDate = function (_Component) {\n inherits(FormattedDate, _Component);\n\n function FormattedDate(props, context) {\n classCallCheck(this, FormattedDate);\n\n var _this = possibleConstructorReturn(this, (FormattedDate.__proto__ || Object.getPrototypeOf(FormattedDate)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedDate, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatDate = _context$intl.formatDate,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedDate = formatDate(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedDate);\n }\n\n return React.createElement(Text, null, formattedDate);\n }\n }]);\n return FormattedDate;\n}(Component);\n\nFormattedDate.displayName = 'FormattedDate';\nFormattedDate.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedTime = function (_Component) {\n inherits(FormattedTime, _Component);\n\n function FormattedTime(props, context) {\n classCallCheck(this, FormattedTime);\n\n var _this = possibleConstructorReturn(this, (FormattedTime.__proto__ || Object.getPrototypeOf(FormattedTime)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedTime, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatTime = _context$intl.formatTime,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedTime = formatTime(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedTime);\n }\n\n return React.createElement(Text, null, formattedTime);\n }\n }]);\n return FormattedTime;\n}(Component);\n\nFormattedTime.displayName = 'FormattedTime';\nFormattedTime.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar SECOND = 1000;\nvar MINUTE = 1000 * 60;\nvar HOUR = 1000 * 60 * 60;\nvar DAY = 1000 * 60 * 60 * 24;\n\n// The maximum timer delay value is a 32-bit signed integer.\n// See: https://mdn.io/setTimeout\nvar MAX_TIMER_DELAY = 2147483647;\n\nfunction selectUnits(delta) {\n var absDelta = Math.abs(delta);\n\n if (absDelta < MINUTE) {\n return 'second';\n }\n\n if (absDelta < HOUR) {\n return 'minute';\n }\n\n if (absDelta < DAY) {\n return 'hour';\n }\n\n // The maximum scheduled delay will be measured in days since the maximum\n // timer delay is less than the number of milliseconds in 25 days.\n return 'day';\n}\n\nfunction getUnitDelay(units) {\n switch (units) {\n case 'second':\n return SECOND;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n case 'day':\n return DAY;\n default:\n return MAX_TIMER_DELAY;\n }\n}\n\nfunction isSameDate(a, b) {\n if (a === b) {\n return true;\n }\n\n var aTime = new Date(a).getTime();\n var bTime = new Date(b).getTime();\n\n return isFinite(aTime) && isFinite(bTime) && aTime === bTime;\n}\n\nvar FormattedRelative = function (_Component) {\n inherits(FormattedRelative, _Component);\n\n function FormattedRelative(props, context) {\n classCallCheck(this, FormattedRelative);\n\n var _this = possibleConstructorReturn(this, (FormattedRelative.__proto__ || Object.getPrototypeOf(FormattedRelative)).call(this, props, context));\n\n invariantIntlContext(context);\n\n var now = isFinite(props.initialNow) ? Number(props.initialNow) : context.intl.now();\n\n // `now` is stored as state so that `render()` remains a function of\n // props + state, instead of accessing `Date.now()` inside `render()`.\n _this.state = { now: now };\n return _this;\n }\n\n createClass(FormattedRelative, [{\n key: 'scheduleNextUpdate',\n value: function scheduleNextUpdate(props, state) {\n var _this2 = this;\n\n // Cancel and pending update because we're scheduling a new update.\n clearTimeout(this._timer);\n\n var value = props.value,\n units = props.units,\n updateInterval = props.updateInterval;\n\n var time = new Date(value).getTime();\n\n // If the `updateInterval` is falsy, including `0` or we don't have a\n // valid date, then auto updates have been turned off, so we bail and\n // skip scheduling an update.\n if (!updateInterval || !isFinite(time)) {\n return;\n }\n\n var delta = time - state.now;\n var unitDelay = getUnitDelay(units || selectUnits(delta));\n var unitRemainder = Math.abs(delta % unitDelay);\n\n // We want the largest possible timer delay which will still display\n // accurate information while reducing unnecessary re-renders. The delay\n // should be until the next \"interesting\" moment, like a tick from\n // \"1 minute ago\" to \"2 minutes ago\" when the delta is 120,000ms.\n var delay = delta < 0 ? Math.max(updateInterval, unitDelay - unitRemainder) : Math.max(updateInterval, unitRemainder);\n\n this._timer = setTimeout(function () {\n _this2.setState({ now: _this2.context.intl.now() });\n }, delay);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(_ref) {\n var nextValue = _ref.value;\n\n // When the `props.value` date changes, `state.now` needs to be updated,\n // and the next update can be rescheduled.\n if (!isSameDate(nextValue, this.props.value)) {\n this.setState({ now: this.context.intl.now() });\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n this.scheduleNextUpdate(nextProps, nextState);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this._timer);\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatRelative = _context$intl.formatRelative,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedRelative = formatRelative(value, _extends({}, this.props, this.state));\n\n if (typeof children === 'function') {\n return children(formattedRelative);\n }\n\n return React.createElement(Text, null, formattedRelative);\n }\n }]);\n return FormattedRelative;\n}(Component);\n\nFormattedRelative.displayName = 'FormattedRelative';\nFormattedRelative.contextTypes = {\n intl: intlShape\n};\nFormattedRelative.defaultProps = {\n updateInterval: 1000 * 10\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedNumber = function (_Component) {\n inherits(FormattedNumber, _Component);\n\n function FormattedNumber(props, context) {\n classCallCheck(this, FormattedNumber);\n\n var _this = possibleConstructorReturn(this, (FormattedNumber.__proto__ || Object.getPrototypeOf(FormattedNumber)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedNumber, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatNumber = _context$intl.formatNumber,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedNumber = formatNumber(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedNumber);\n }\n\n return React.createElement(Text, null, formattedNumber);\n }\n }]);\n return FormattedNumber;\n}(Component);\n\nFormattedNumber.displayName = 'FormattedNumber';\nFormattedNumber.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedPlural = function (_Component) {\n inherits(FormattedPlural, _Component);\n\n function FormattedPlural(props, context) {\n classCallCheck(this, FormattedPlural);\n\n var _this = possibleConstructorReturn(this, (FormattedPlural.__proto__ || Object.getPrototypeOf(FormattedPlural)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedPlural, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatPlural = _context$intl.formatPlural,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n other = _props.other,\n children = _props.children;\n\n var pluralCategory = formatPlural(value, this.props);\n var formattedPlural = this.props[pluralCategory] || other;\n\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n\n return React.createElement(Text, null, formattedPlural);\n }\n }]);\n return FormattedPlural;\n}(Component);\n\nFormattedPlural.displayName = 'FormattedPlural';\nFormattedPlural.contextTypes = {\n intl: intlShape\n};\nFormattedPlural.defaultProps = {\n style: 'cardinal'\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedMessage = function (_Component) {\n inherits(FormattedMessage, _Component);\n\n function FormattedMessage(props, context) {\n classCallCheck(this, FormattedMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedMessage.__proto__ || Object.getPrototypeOf(FormattedMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatMessage = _context$intl.formatMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n values = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n var tokenDelimiter = void 0;\n var tokenizedValues = void 0;\n var elements = void 0;\n\n var hasValues = values && Object.keys(values).length > 0;\n if (hasValues) {\n // Creates a token with a random UID that should not be guessable or\n // conflict with other parts of the `message` string.\n var uid = Math.floor(Math.random() * 0x10000000000).toString(16);\n\n var generateToken = function () {\n var counter = 0;\n return function () {\n return 'ELEMENT-' + uid + '-' + (counter += 1);\n };\n }();\n\n // Splitting with a delimiter to support IE8. When using a regex\n // with a capture group IE8 does not include the capture group in\n // the resulting array.\n tokenDelimiter = '@__' + uid + '__@';\n tokenizedValues = {};\n elements = {};\n\n // Iterates over the `props` to keep track of any React Element\n // values so they can be represented by the `token` as a placeholder\n // when the `message` is formatted. This allows the formatted\n // message to then be broken-up into parts with references to the\n // React Elements inserted back in.\n Object.keys(values).forEach(function (name) {\n var value = values[name];\n\n if (isValidElement(value)) {\n var token = generateToken();\n tokenizedValues[name] = tokenDelimiter + token + tokenDelimiter;\n elements[token] = value;\n } else {\n tokenizedValues[name] = value;\n }\n });\n }\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedMessage = formatMessage(descriptor, tokenizedValues || values);\n\n var nodes = void 0;\n\n var hasElements = elements && Object.keys(elements).length > 0;\n if (hasElements) {\n // Split the message into parts so the React Element values captured\n // above can be inserted back into the rendered message. This\n // approach allows messages to render with React Elements while\n // keeping React's virtual diffing working properly.\n nodes = formattedMessage.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(function (part) {\n return elements[part] || part;\n });\n } else {\n nodes = [formattedMessage];\n }\n\n if (typeof children === 'function') {\n return children.apply(undefined, toConsumableArray(nodes));\n }\n\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return createElement.apply(undefined, [Component$$1, null].concat(toConsumableArray(nodes)));\n }\n }]);\n return FormattedMessage;\n}(Component);\n\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.contextTypes = {\n intl: intlShape\n};\nFormattedMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedHTMLMessage = function (_Component) {\n inherits(FormattedHTMLMessage, _Component);\n\n function FormattedHTMLMessage(props, context) {\n classCallCheck(this, FormattedHTMLMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedHTMLMessage.__proto__ || Object.getPrototypeOf(FormattedHTMLMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedHTMLMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatHTMLMessage = _context$intl.formatHTMLMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n rawValues = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n var html = { __html: formattedHTMLMessage };\n return React.createElement(Component$$1, { dangerouslySetInnerHTML: html });\n }\n }]);\n return FormattedHTMLMessage;\n}(Component);\n\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.contextTypes = {\n intl: intlShape\n};\nFormattedHTMLMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(defaultLocaleData);\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(allLocaleData);\n\nexport { addLocaleData, intlShape, injectIntl, defineMessages, IntlProvider, FormattedDate, FormattedTime, FormattedRelative, FormattedNumber, FormattedPlural, FormattedMessage, FormattedHTMLMessage };" + }, + { + "id": 286, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "name": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "index": 458, + "index2": 481, + "size": 10085, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "issuerId": 315, + "issuerName": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 315, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "type": "harmony import", + "userRequest": "../components/compose_form", + "loc": "2:0-53" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "../../compose/components/compose_form", + "loc": "15:0-64" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport CharacterCounter from './character_counter';\nimport Button from '../../../components/button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport ReplyIndicatorContainer from '../containers/reply_indicator_container';\nimport AutosuggestTextarea from '../../../components/autosuggest_textarea';\nimport UploadButtonContainer from '../containers/upload_button_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport Collapsable from '../../../components/collapsable';\nimport SpoilerButtonContainer from '../containers/spoiler_button_container';\nimport PrivacyDropdownContainer from '../containers/privacy_dropdown_container';\nimport SensitiveButtonContainer from '../containers/sensitive_button_container';\nimport EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';\nimport UploadFormContainer from '../containers/upload_form_container';\nimport WarningContainer from '../containers/warning_container';\nimport { isMobile } from '../../../is_mobile';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { length } from 'stringz';\nimport { countableText } from '../util/counter';\n\nvar messages = defineMessages({\n placeholder: {\n 'id': 'compose_form.placeholder',\n 'defaultMessage': 'What is on your mind?'\n },\n spoiler_placeholder: {\n 'id': 'compose_form.spoiler_placeholder',\n 'defaultMessage': 'Write your warning here'\n },\n publish: {\n 'id': 'compose_form.publish',\n 'defaultMessage': 'Toot'\n },\n publishLoud: {\n 'id': 'compose_form.publish_loud',\n 'defaultMessage': '{publish}!'\n }\n});\n\nvar ComposeForm = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(ComposeForm, _ImmutablePureCompone);\n\n function ComposeForm() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ComposeForm);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n _this.props.onChange(e.target.value);\n }, _this.handleKeyDown = function (e) {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n _this.handleSubmit();\n }\n }, _this.handleSubmit = function () {\n if (_this.props.text !== _this.autosuggestTextarea.textarea.value) {\n // Something changed the text inside the textarea (e.g. browser extensions like Grammarly)\n // Update the state to match the current text\n _this.props.onChange(_this.autosuggestTextarea.textarea.value);\n }\n\n _this.props.onSubmit();\n }, _this.onSuggestionsClearRequested = function () {\n _this.props.onClearSuggestions();\n }, _this.onSuggestionsFetchRequested = function (token) {\n _this.props.onFetchSuggestions(token);\n }, _this.onSuggestionSelected = function (tokenStart, token, value) {\n _this._restoreCaret = null;\n _this.props.onSuggestionSelected(tokenStart, token, value);\n }, _this.handleChangeSpoilerText = function (e) {\n _this.props.onChangeSpoilerText(e.target.value);\n }, _this.setAutosuggestTextarea = function (c) {\n _this.autosuggestTextarea = c;\n }, _this.handleEmojiPick = function (data) {\n var position = _this.autosuggestTextarea.textarea.selectionStart;\n var emojiChar = data.native;\n _this._restoreCaret = position + emojiChar.length + 1;\n _this.props.onPickEmoji(position, data);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ComposeForm.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n // If this is the update where we've finished uploading,\n // save the last caret position so we can restore it below!\n if (!nextProps.is_uploading && this.props.is_uploading) {\n this._restoreCaret = this.autosuggestTextarea.textarea.selectionStart;\n }\n };\n\n ComposeForm.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n // This statement does several things:\n // - If we're beginning a reply, and,\n // - Replying to zero or one users, places the cursor at the end of the textbox.\n // - Replying to more than one user, selects any usernames past the first;\n // this provides a convenient shortcut to drop everyone else from the conversation.\n // - If we've just finished uploading an image, and have a saved caret position,\n // restores the cursor to that position after the text changes!\n if (this.props.focusDate !== prevProps.focusDate || prevProps.is_uploading && !this.props.is_uploading && typeof this._restoreCaret === 'number') {\n var selectionEnd = void 0,\n selectionStart = void 0;\n\n if (this.props.preselectDate !== prevProps.preselectDate) {\n selectionEnd = this.props.text.length;\n selectionStart = this.props.text.search(/\\s/) + 1;\n } else if (typeof this._restoreCaret === 'number') {\n selectionStart = this._restoreCaret;\n selectionEnd = this._restoreCaret;\n } else {\n selectionEnd = this.props.text.length;\n selectionStart = selectionEnd;\n }\n\n this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);\n this.autosuggestTextarea.textarea.focus();\n } else if (prevProps.is_submitting && !this.props.is_submitting) {\n this.autosuggestTextarea.textarea.focus();\n }\n };\n\n ComposeForm.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n onPaste = _props.onPaste,\n showSearch = _props.showSearch;\n\n var disabled = this.props.is_submitting;\n var text = [this.props.spoiler_text, countableText(this.props.text)].join('');\n\n var publishText = '';\n\n if (this.props.privacy === 'private' || this.props.privacy === 'direct') {\n publishText = _jsx('span', {\n className: 'compose-form__publish-private'\n }, void 0, _jsx('i', {\n className: 'fa fa-lock'\n }), ' ', intl.formatMessage(messages.publish));\n } else {\n publishText = this.props.privacy !== 'unlisted' ? intl.formatMessage(messages.publishLoud, { publish: intl.formatMessage(messages.publish) }) : intl.formatMessage(messages.publish);\n }\n\n return _jsx('div', {\n className: 'compose-form'\n }, void 0, _jsx(Collapsable, {\n isVisible: this.props.spoiler,\n fullHeight: 50\n }, void 0, _jsx('div', {\n className: 'spoiler-input'\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.spoiler_placeholder)), _jsx('input', {\n placeholder: intl.formatMessage(messages.spoiler_placeholder),\n value: this.props.spoiler_text,\n onChange: this.handleChangeSpoilerText,\n onKeyDown: this.handleKeyDown,\n type: 'text',\n className: 'spoiler-input__input',\n id: 'cw-spoiler-input'\n })))), _jsx(WarningContainer, {}), _jsx(ReplyIndicatorContainer, {}), _jsx('div', {\n className: 'compose-form__autosuggest-wrapper'\n }, void 0, React.createElement(AutosuggestTextarea, {\n ref: this.setAutosuggestTextarea,\n placeholder: intl.formatMessage(messages.placeholder),\n disabled: disabled,\n value: this.props.text,\n onChange: this.handleChange,\n suggestions: this.props.suggestions,\n onKeyDown: this.handleKeyDown,\n onSuggestionsFetchRequested: this.onSuggestionsFetchRequested,\n onSuggestionsClearRequested: this.onSuggestionsClearRequested,\n onSuggestionSelected: this.onSuggestionSelected,\n onPaste: onPaste,\n autoFocus: !showSearch && !isMobile(window.innerWidth)\n }), _jsx(EmojiPickerDropdown, {\n onPickEmoji: this.handleEmojiPick\n })), _jsx('div', {\n className: 'compose-form__modifiers'\n }, void 0, _jsx(UploadFormContainer, {})), _jsx('div', {\n className: 'compose-form__buttons-wrapper'\n }, void 0, _jsx('div', {\n className: 'compose-form__buttons'\n }, void 0, _jsx(UploadButtonContainer, {}), _jsx(PrivacyDropdownContainer, {}), _jsx(SensitiveButtonContainer, {}), _jsx(SpoilerButtonContainer, {})), _jsx('div', {\n className: 'compose-form__publish'\n }, void 0, _jsx('div', {\n className: 'character-counter__wrapper'\n }, void 0, _jsx(CharacterCounter, {\n max: 500,\n text: text\n })), _jsx('div', {\n className: 'compose-form__publish-button-wrapper'\n }, void 0, _jsx(Button, {\n text: publishText,\n onClick: this.handleSubmit,\n disabled: disabled || this.props.is_uploading || length(text) > 500 || text.length !== 0 && text.trim().length === 0,\n block: true\n })))));\n };\n\n return ComposeForm;\n}(ImmutablePureComponent), _class2.propTypes = {\n intl: PropTypes.object.isRequired,\n text: PropTypes.string.isRequired,\n suggestion_token: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n spoiler: PropTypes.bool,\n privacy: PropTypes.string,\n spoiler_text: PropTypes.string,\n focusDate: PropTypes.instanceOf(Date),\n preselectDate: PropTypes.instanceOf(Date),\n is_submitting: PropTypes.bool,\n is_uploading: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onClearSuggestions: PropTypes.func.isRequired,\n onFetchSuggestions: PropTypes.func.isRequired,\n onSuggestionSelected: PropTypes.func.isRequired,\n onChangeSpoilerText: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n onPickEmoji: PropTypes.func.isRequired,\n showSearch: PropTypes.bool\n}, _class2.defaultProps = {\n showSearch: false\n}, _temp2)) || _class;\n\nexport { ComposeForm as default };" + }, + { + "id": 287, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/character_counter.js", + "name": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "index": 459, + "index2": 450, + "size": 1180, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "./character_counter", + "loc": "9:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport { length } from 'stringz';\n\nvar CharacterCounter = function (_React$PureComponent) {\n _inherits(CharacterCounter, _React$PureComponent);\n\n function CharacterCounter() {\n _classCallCheck(this, CharacterCounter);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n CharacterCounter.prototype.checkRemainingText = function checkRemainingText(diff) {\n if (diff < 0) {\n return _jsx('span', {\n className: 'character-counter character-counter--over'\n }, void 0, diff);\n }\n\n return _jsx('span', {\n className: 'character-counter'\n }, void 0, diff);\n };\n\n CharacterCounter.prototype.render = function render() {\n var diff = this.props.max - length(this.props.text);\n return this.checkRemainingText(diff);\n };\n\n return CharacterCounter;\n}(React.PureComponent);\n\nexport { CharacterCounter as default };" + }, + { + "id": 288, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "index": 463, + "index2": 455, + "size": 741, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/reply_indicator_container", + "loc": "13:0-78" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport { cancelReplyCompose } from '../../../actions/compose';\nimport { makeGetStatus } from '../../../selectors';\nimport ReplyIndicator from '../components/reply_indicator';\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state) {\n return {\n status: getStatus(state, state.getIn(['compose', 'in_reply_to']))\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onCancel: function onCancel() {\n dispatch(cancelReplyCompose());\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(ReplyIndicator);" + }, + { + "id": 289, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "name": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "index": 466, + "index2": 454, + "size": 3109, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "issuerId": 288, + "issuerName": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 288, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "type": "harmony import", + "userRequest": "../components/reply_indicator", + "loc": "4:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport DisplayName from '../../../components/display_name';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar messages = defineMessages({\n cancel: {\n 'id': 'reply_indicator.cancel',\n 'defaultMessage': 'Cancel'\n }\n});\n\nvar ReplyIndicator = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(ReplyIndicator, _ImmutablePureCompone);\n\n function ReplyIndicator() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ReplyIndicator);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onCancel();\n }, _this.handleAccountClick = function (e) {\n if (e.button === 0) {\n e.preventDefault();\n _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ReplyIndicator.prototype.render = function render() {\n var _props = this.props,\n status = _props.status,\n intl = _props.intl;\n\n\n if (!status) {\n return null;\n }\n\n var content = { __html: status.get('contentHtml') };\n\n return _jsx('div', {\n className: 'reply-indicator'\n }, void 0, _jsx('div', {\n className: 'reply-indicator__header'\n }, void 0, _jsx('div', {\n className: 'reply-indicator__cancel'\n }, void 0, _jsx(IconButton, {\n title: intl.formatMessage(messages.cancel),\n icon: 'times',\n onClick: this.handleClick\n })), _jsx('a', {\n href: status.getIn(['account', 'url']),\n onClick: this.handleAccountClick,\n className: 'reply-indicator__display-name'\n }, void 0, _jsx('div', {\n className: 'reply-indicator__display-avatar'\n }, void 0, _jsx(Avatar, {\n account: status.get('account'),\n size: 24\n })), _jsx(DisplayName, {\n account: status.get('account')\n }))), _jsx('div', {\n className: 'reply-indicator__content',\n dangerouslySetInnerHTML: content\n }));\n };\n\n return ReplyIndicator;\n}(ImmutablePureComponent), _class2.contextTypes = {\n router: PropTypes.object\n}, _class2.propTypes = {\n status: ImmutablePropTypes.map,\n onCancel: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class;\n\nexport { ReplyIndicator as default };" + }, + { + "id": 290, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "name": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "index": 467, + "index2": 460, + "size": 8192, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../../../components/autosuggest_textarea", + "loc": "14:0-75" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';\nimport AutosuggestEmoji from './autosuggest_emoji';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { isRtl } from '../rtl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Textarea from 'react-textarea-autosize';\nimport classNames from 'classnames';\n\nvar textAtCursorMatchesToken = function textAtCursorMatchesToken(str, caretPosition) {\n var word = void 0;\n\n var left = str.slice(0, caretPosition).search(/\\S+$/);\n var right = str.slice(caretPosition).search(/\\s/);\n\n if (right < 0) {\n word = str.slice(left);\n } else {\n word = str.slice(left, right + caretPosition);\n }\n\n if (!word || word.trim().length < 3 || ['@', ':'].indexOf(word[0]) === -1) {\n return [null, null];\n }\n\n word = word.trim().toLowerCase();\n\n if (word.length > 0) {\n return [left + 1, word];\n } else {\n return [null, null];\n }\n};\n\nvar AutosuggestTextarea = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(AutosuggestTextarea, _ImmutablePureCompone);\n\n function AutosuggestTextarea() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, AutosuggestTextarea);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n suggestionsHidden: false,\n selectedSuggestion: 0,\n lastToken: null,\n tokenStart: 0\n }, _this.onChange = function (e) {\n var _textAtCursorMatchesT = textAtCursorMatchesToken(e.target.value, e.target.selectionStart),\n tokenStart = _textAtCursorMatchesT[0],\n token = _textAtCursorMatchesT[1];\n\n if (token !== null && _this.state.lastToken !== token) {\n _this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart: tokenStart });\n _this.props.onSuggestionsFetchRequested(token);\n } else if (token === null) {\n _this.setState({ lastToken: null });\n _this.props.onSuggestionsClearRequested();\n }\n\n _this.props.onChange(e);\n }, _this.onKeyDown = function (e) {\n var _this$props = _this.props,\n suggestions = _this$props.suggestions,\n disabled = _this$props.disabled;\n var _this$state = _this.state,\n selectedSuggestion = _this$state.selectedSuggestion,\n suggestionsHidden = _this$state.suggestionsHidden;\n\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n switch (e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\n e.preventDefault();\n _this.setState({ suggestionsHidden: true });\n }\n\n break;\n case 'ArrowDown':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n }\n\n break;\n case 'ArrowUp':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n }\n\n break;\n case 'Enter':\n case 'Tab':\n // Select suggestion\n if (_this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n e.stopPropagation();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestions.get(selectedSuggestion));\n }\n\n break;\n }\n\n if (e.defaultPrevented || !_this.props.onKeyDown) {\n return;\n }\n\n _this.props.onKeyDown(e);\n }, _this.onKeyUp = function (e) {\n if (e.key === 'Escape' && _this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (_this.props.onKeyUp) {\n _this.props.onKeyUp(e);\n }\n }, _this.onBlur = function () {\n _this.setState({ suggestionsHidden: true });\n }, _this.onSuggestionClick = function (e) {\n var suggestion = _this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestion);\n _this.textarea.focus();\n }, _this.setTextarea = function (c) {\n _this.textarea = c;\n }, _this.onPaste = function (e) {\n if (e.clipboardData && e.clipboardData.files.length === 1) {\n _this.props.onPaste(e.clipboardData.files);\n e.preventDefault();\n }\n }, _this.renderSuggestion = function (suggestion, i) {\n var selectedSuggestion = _this.state.selectedSuggestion;\n\n var inner = void 0,\n key = void 0;\n\n if ((typeof suggestion === 'undefined' ? 'undefined' : _typeof(suggestion)) === 'object') {\n inner = _jsx(AutosuggestEmoji, {\n emoji: suggestion\n });\n key = suggestion.id;\n } else {\n inner = _jsx(AutosuggestAccountContainer, {\n id: suggestion\n });\n key = suggestion;\n }\n\n return _jsx('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': i,\n className: classNames('autosuggest-textarea__suggestions__item', { selected: i === selectedSuggestion }),\n onMouseDown: _this.onSuggestionClick\n }, key, inner);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n AutosuggestTextarea.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n this.setState({ suggestionsHidden: false });\n }\n };\n\n AutosuggestTextarea.prototype.render = function render() {\n var _props = this.props,\n value = _props.value,\n suggestions = _props.suggestions,\n disabled = _props.disabled,\n placeholder = _props.placeholder,\n autoFocus = _props.autoFocus;\n var suggestionsHidden = this.state.suggestionsHidden;\n\n var style = { direction: 'ltr' };\n\n if (isRtl(value)) {\n style.direction = 'rtl';\n }\n\n return _jsx('div', {\n className: 'autosuggest-textarea'\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, placeholder), _jsx(Textarea, {\n inputRef: this.setTextarea,\n className: 'autosuggest-textarea__textarea',\n disabled: disabled,\n placeholder: placeholder,\n autoFocus: autoFocus,\n value: value,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n onKeyUp: this.onKeyUp,\n onBlur: this.onBlur,\n onPaste: this.onPaste,\n style: style\n })), _jsx('div', {\n className: 'autosuggest-textarea__suggestions ' + (suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible')\n }, void 0, suggestions.map(this.renderSuggestion)));\n };\n\n return AutosuggestTextarea;\n}(ImmutablePureComponent), _class.propTypes = {\n value: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n onSuggestionSelected: PropTypes.func.isRequired,\n onSuggestionsClearRequested: PropTypes.func.isRequired,\n onSuggestionsFetchRequested: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n onPaste: PropTypes.func.isRequired,\n autoFocus: PropTypes.bool\n}, _class.defaultProps = {\n autoFocus: true\n}, _temp2);\nexport { AutosuggestTextarea as default };" + }, + { + "id": 291, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "index": 468, + "index2": 457, + "size": 501, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "issuerId": 290, + "issuerName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "../features/compose/containers/autosuggest_account_container", + "loc": "10:0-103" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport AutosuggestAccount from '../components/autosuggest_account';\nimport { makeGetAccount } from '../../../selectors';\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = makeGetAccount();\n\n var mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n account: getAccount(state, id)\n };\n };\n\n return mapStateToProps;\n};\n\nexport default connect(makeMapStateToProps)(AutosuggestAccount);" + }, + { + "id": 292, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "name": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "index": 469, + "index2": 456, + "size": 1407, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "issuerId": 291, + "issuerName": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 291, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "type": "harmony import", + "userRequest": "../components/autosuggest_account", + "loc": "2:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar AutosuggestAccount = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(AutosuggestAccount, _ImmutablePureCompone);\n\n function AutosuggestAccount() {\n _classCallCheck(this, AutosuggestAccount);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n AutosuggestAccount.prototype.render = function render() {\n var account = this.props.account;\n\n\n return _jsx('div', {\n className: 'autosuggest-account'\n }, void 0, _jsx('div', {\n className: 'autosuggest-account-icon'\n }, void 0, _jsx(Avatar, {\n account: account,\n size: 18\n })), _jsx(DisplayName, {\n account: account\n }));\n };\n\n return AutosuggestAccount;\n}(ImmutablePureComponent), _class.propTypes = {\n account: ImmutablePropTypes.map.isRequired\n}, _temp);\nexport { AutosuggestAccount as default };" + }, + { + "id": 293, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_emoji.js", + "name": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "index": 470, + "index2": 458, + "size": 1399, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "issuerId": 290, + "issuerName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "./autosuggest_emoji", + "loc": "11:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport unicodeMapping from '../features/emoji/emoji_unicode_mapping_light';\n\nvar assetHost = process.env.CDN_HOST || '';\n\nvar AutosuggestEmoji = function (_React$PureComponent) {\n _inherits(AutosuggestEmoji, _React$PureComponent);\n\n function AutosuggestEmoji() {\n _classCallCheck(this, AutosuggestEmoji);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n AutosuggestEmoji.prototype.render = function render() {\n var emoji = this.props.emoji;\n\n var url = void 0;\n\n if (emoji.custom) {\n url = emoji.imageUrl;\n } else {\n var mapping = unicodeMapping[emoji.native] || unicodeMapping[emoji.native.replace(/\\uFE0F$/, '')];\n\n if (!mapping) {\n return null;\n }\n\n url = assetHost + '/emoji/' + mapping.filename + '.svg';\n }\n\n return _jsx('div', {\n className: 'autosuggest-emoji'\n }, void 0, _jsx('img', {\n className: 'emojione',\n src: url,\n alt: emoji.native || emoji.colons\n }), emoji.colons);\n };\n\n return AutosuggestEmoji;\n}(React.PureComponent);\n\nexport { AutosuggestEmoji as default };" + }, + { + "id": 294, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-textarea-autosize/es/index.js", + "name": "./node_modules/react-textarea-autosize/es/index.js", + "index": 471, + "index2": 459, + "size": 11171, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "issuerId": 290, + "issuerName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "react-textarea-autosize", + "loc": "16:0-47" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import React from 'react';\nimport PropTypes from 'prop-types';\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n if (nodeStyling === null) {\n return null;\n }\n\n var paddingSize = nodeStyling.paddingSize,\n borderSize = nodeStyling.borderSize,\n boxSizing = nodeStyling.boxSizing,\n sizingStyle = nodeStyling.sizingStyle;\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n Object.keys(sizingStyle).forEach(function (key) {\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n\n var minHeight = -Infinity;\n var maxHeight = Infinity;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n }\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null || maxRows !== null) {\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (useCache && computedStyleCache[uid]) {\n return computedStyleCache[uid];\n }\n\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n obj[name] = style.getPropertyValue(name);\n return obj;\n }, {});\n\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache) {\n computedStyleCache[uid] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n return delete computedStyleCache[uid];\n};\n\nfunction autoInc() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * \n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this._resizeLock = false;\n\n _this._onRootDOMNode = function (node) {\n _this._rootDOMNode = node;\n\n if (_this.props.inputRef) {\n _this.props.inputRef(node);\n }\n };\n\n _this._onChange = function (event) {\n if (!_this._controlled) {\n _this._resizeComponent();\n }\n _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (typeof _this._rootDOMNode === 'undefined') {\n callback();\n return;\n }\n\n var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n if (nodeHeight === null) {\n callback();\n return;\n }\n\n var height = nodeHeight.height,\n minHeight = nodeHeight.minHeight,\n maxHeight = nodeHeight.maxHeight,\n rowCount = nodeHeight.rowCount;\n\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\n return;\n }\n\n callback();\n };\n\n _this.state = {\n height: props.style && props.style.height || 0,\n minHeight: -Infinity,\n maxHeight: Infinity\n };\n\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.render = function render() {\n var _props = this.props,\n _minRows = _props.minRows,\n _maxRows = _props.maxRows,\n _onHeightChange = _props.onHeightChange,\n _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n _inputRef = _props.inputRef,\n props = objectWithoutProperties(_props, ['minRows', 'maxRows', 'onHeightChange', 'useCacheForDOMMeasurements', 'inputRef']);\n\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\n\n var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n if (maxHeight < this.state.height) {\n props.style.overflow = 'hidden';\n }\n\n return React.createElement('textarea', _extends({}, props, {\n onChange: this._onChange,\n ref: this._onRootDOMNode\n }));\n };\n\n TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n // causing competing rerenders (due to setState in the listener) in React.\n // More can be found here - facebook/react#6324\n this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._clearNextFrame = function _clearNextFrame() {\n clearNextFrameAction(this._onNextFrameActionId);\n };\n\n return TextareaAutosize;\n}(React.Component);\n\nTextareaAutosize.defaultProps = {\n onChange: noop,\n onHeightChange: noop,\n useCacheForDOMMeasurements: false\n};\n\nexport default TextareaAutosize;" + }, + { + "id": 295, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "index": 472, + "index2": 462, + "size": 771, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_button_container", + "loc": "15:0-74" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport UploadButton from '../components/upload_button';\nimport { uploadCompose } from '../../../actions/compose';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n disabled: state.getIn(['compose', 'is_uploading']) || state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(function (m) {\n return m.get('type') === 'video';\n }),\n resetFileKey: state.getIn(['compose', 'resetFileKey'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onSelectFile: function onSelectFile(files) {\n dispatch(uploadCompose(files));\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadButton);" + }, + { + "id": 296, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "name": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "index": 473, + "index2": 461, + "size": 3411, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "issuerId": 295, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 295, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "type": "harmony import", + "userRequest": "../components/upload_button", + "loc": "2:0-55" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class, _class2, _temp2;\n\nimport React from 'react';\nimport IconButton from '../../../components/icon_button';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\n\nvar messages = defineMessages({\n upload: {\n 'id': 'upload_button.label',\n 'defaultMessage': 'Add media'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var mapStateToProps = function mapStateToProps(state) {\n return {\n acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar iconStyle = {\n height: null,\n lineHeight: '27px'\n};\n\nvar UploadButton = (_dec = connect(makeMapStateToProps), _dec(_class = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(UploadButton, _ImmutablePureCompone);\n\n function UploadButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, UploadButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n if (e.target.files.length > 0) {\n _this.props.onSelectFile(e.target.files);\n }\n }, _this.handleClick = function () {\n _this.fileElement.click();\n }, _this.setRef = function (c) {\n _this.fileElement = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n UploadButton.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n resetFileKey = _props.resetFileKey,\n disabled = _props.disabled,\n acceptContentTypes = _props.acceptContentTypes;\n\n\n return _jsx('div', {\n className: 'compose-form__upload-button'\n }, void 0, _jsx(IconButton, {\n icon: 'camera',\n title: intl.formatMessage(messages.upload),\n disabled: disabled,\n onClick: this.handleClick,\n className: 'compose-form__upload-button-icon',\n size: 18,\n inverted: true,\n style: iconStyle\n }), _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.upload)), React.createElement('input', {\n key: resetFileKey,\n ref: this.setRef,\n type: 'file',\n multiple: false,\n accept: acceptContentTypes.toArray().join(','),\n onChange: this.handleChange,\n disabled: disabled,\n style: { display: 'none' }\n })));\n };\n\n return UploadButton;\n}(ImmutablePureComponent), _class2.propTypes = {\n disabled: PropTypes.bool,\n onSelectFile: PropTypes.func.isRequired,\n style: PropTypes.object,\n resetFileKey: PropTypes.number,\n acceptContentTypes: ImmutablePropTypes.listOf(PropTypes.string).isRequired,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class) || _class);\nexport { UploadButton as default };" + }, + { + "id": 297, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/collapsable.js", + "name": "./app/javascript/mastodon/components/collapsable.js", + "index": 474, + "index2": 463, + "size": 861, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../../../components/collapsable", + "loc": "17:0-58" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport Motion from '../features/ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\n\nvar Collapsable = function Collapsable(_ref) {\n var fullHeight = _ref.fullHeight,\n isVisible = _ref.isVisible,\n children = _ref.children;\n return _jsx(Motion, {\n defaultStyle: { opacity: !isVisible ? 0 : 100, height: isVisible ? fullHeight : 0 },\n style: { opacity: spring(!isVisible ? 0 : 100), height: spring(!isVisible ? 0 : fullHeight) }\n }, void 0, function (_ref2) {\n var opacity = _ref2.opacity,\n height = _ref2.height;\n return _jsx('div', {\n style: { height: height + 'px', overflow: 'hidden', opacity: opacity / 100, display: Math.floor(opacity) === 0 ? 'none' : 'block' }\n }, void 0, children);\n });\n};\n\nexport default Collapsable;" + }, + { + "id": 298, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "index": 475, + "index2": 465, + "size": 875, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/spoiler_button_container", + "loc": "18:0-76" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport TextIconButton from '../components/text_icon_button';\nimport { changeComposeSpoilerness } from '../../../actions/compose';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nvar messages = defineMessages({\n title: {\n 'id': 'compose_form.spoiler',\n 'defaultMessage': 'Hide text behind warning'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var intl = _ref.intl;\n return {\n label: 'CW',\n title: intl.formatMessage(messages.title),\n active: state.getIn(['compose', 'spoiler']),\n ariaControls: 'cw-spoiler-input'\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(changeComposeSpoilerness());\n }\n };\n};\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(TextIconButton));" + }, + { + "id": 299, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/text_icon_button.js", + "name": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "index": 476, + "index2": 464, + "size": 1516, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "issuerId": 298, + "issuerName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 298, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "type": "harmony import", + "userRequest": "../components/text_icon_button", + "loc": "2:0-60" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar TextIconButton = function (_React$PureComponent) {\n _inherits(TextIconButton, _React$PureComponent);\n\n function TextIconButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, TextIconButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n e.preventDefault();\n _this.props.onClick();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n TextIconButton.prototype.render = function render() {\n var _props = this.props,\n label = _props.label,\n title = _props.title,\n active = _props.active,\n ariaControls = _props.ariaControls;\n\n\n return _jsx('button', {\n title: title,\n 'aria-label': title,\n className: 'text-icon-button ' + (active ? 'active' : ''),\n 'aria-expanded': active,\n onClick: this.handleClick,\n 'aria-controls': ariaControls\n }, void 0, label);\n };\n\n return TextIconButton;\n}(React.PureComponent);\n\nexport { TextIconButton as default };" + }, + { + "id": 300, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "index": 477, + "index2": 467, + "size": 961, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/privacy_dropdown_container", + "loc": "19:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport PrivacyDropdown from '../components/privacy_dropdown';\nimport { changeComposeVisibility } from '../../../actions/compose';\nimport { openModal, closeModal } from '../../../actions/modal';\nimport { isUserTouching } from '../../../is_mobile';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n isModalOpen: state.get('modal').modalType === 'ACTIONS',\n value: state.getIn(['compose', 'privacy'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(changeComposeVisibility(value));\n },\n\n\n isUserTouching: isUserTouching,\n onModalOpen: function onModalOpen(props) {\n return dispatch(openModal('ACTIONS', props));\n },\n onModalClose: function onModalClose() {\n return dispatch(closeModal());\n }\n\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PrivacyDropdown);" + }, + { + "id": 301, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "name": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "index": 478, + "index2": 466, + "size": 8605, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "issuerId": 300, + "issuerName": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 300, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "type": "harmony import", + "userRequest": "../components/privacy_dropdown", + "loc": "2:0-61" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class2;\n\nimport React from 'react';\n\nimport { injectIntl, defineMessages } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport detectPassiveEvents from 'detect-passive-events';\nimport classNames from 'classnames';\n\nvar messages = defineMessages({\n public_short: {\n 'id': 'privacy.public.short',\n 'defaultMessage': 'Public'\n },\n public_long: {\n 'id': 'privacy.public.long',\n 'defaultMessage': 'Post to public timelines'\n },\n unlisted_short: {\n 'id': 'privacy.unlisted.short',\n 'defaultMessage': 'Unlisted'\n },\n unlisted_long: {\n 'id': 'privacy.unlisted.long',\n 'defaultMessage': 'Do not show in public timelines'\n },\n private_short: {\n 'id': 'privacy.private.short',\n 'defaultMessage': 'Followers-only'\n },\n private_long: {\n 'id': 'privacy.private.long',\n 'defaultMessage': 'Post to followers only'\n },\n direct_short: {\n 'id': 'privacy.direct.short',\n 'defaultMessage': 'Direct'\n },\n direct_long: {\n 'id': 'privacy.direct.long',\n 'defaultMessage': 'Post to mentioned users only'\n },\n change_privacy: {\n 'id': 'privacy.change',\n 'defaultMessage': 'Adjust status privacy'\n }\n});\n\nvar listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nvar PrivacyDropdownMenu = function (_React$PureComponent) {\n _inherits(PrivacyDropdownMenu, _React$PureComponent);\n\n function PrivacyDropdownMenu() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, PrivacyDropdownMenu);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.handleClick = function (e) {\n if (e.key === 'Escape') {\n _this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\n var value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n _this.props.onClose();\n _this.props.onChange(value);\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n PrivacyDropdownMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n style = _props.style,\n items = _props.items,\n value = _props.value;\n\n\n return _jsx(Motion, {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return React.createElement(\n 'div',\n { className: 'privacy-dropdown__dropdown', style: Object.assign({}, style, { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }), ref: _this2.setRef },\n items.map(function (item) {\n return _jsx('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': item.value,\n onKeyDown: _this2.handleClick,\n onClick: _this2.handleClick,\n className: classNames('privacy-dropdown__option', { active: item.value === value })\n }, item.value, _jsx('div', {\n className: 'privacy-dropdown__option__icon'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-' + item.icon\n })), _jsx('div', {\n className: 'privacy-dropdown__option__content'\n }, void 0, _jsx('strong', {}, void 0, item.text), item.meta));\n })\n );\n });\n };\n\n return PrivacyDropdownMenu;\n}(React.PureComponent);\n\nvar PrivacyDropdown = injectIntl(_class2 = function (_React$PureComponent2) {\n _inherits(PrivacyDropdown, _React$PureComponent2);\n\n function PrivacyDropdown() {\n var _temp2, _this3, _ret2;\n\n _classCallCheck(this, PrivacyDropdown);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this3 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this3), _this3.state = {\n open: false\n }, _this3.handleToggle = function () {\n if (_this3.props.isUserTouching()) {\n if (_this3.state.open) {\n _this3.props.onModalClose();\n } else {\n _this3.props.onModalOpen({\n actions: _this3.options.map(function (option) {\n return Object.assign({}, option, { active: option.value === _this3.props.value });\n }),\n onClick: _this3.handleModalActionClick\n });\n }\n } else {\n _this3.setState({ open: !_this3.state.open });\n }\n }, _this3.handleModalActionClick = function (e) {\n e.preventDefault();\n\n var value = _this3.options[e.currentTarget.getAttribute('data-index')].value;\n\n _this3.props.onModalClose();\n _this3.props.onChange(value);\n }, _this3.handleKeyDown = function (e) {\n switch (e.key) {\n case 'Enter':\n _this3.handleToggle();\n break;\n case 'Escape':\n _this3.handleClose();\n break;\n }\n }, _this3.handleClose = function () {\n _this3.setState({ open: false });\n }, _this3.handleChange = function (value) {\n _this3.props.onChange(value);\n }, _temp2), _possibleConstructorReturn(_this3, _ret2);\n }\n\n PrivacyDropdown.prototype.componentWillMount = function componentWillMount() {\n var formatMessage = this.props.intl.formatMessage;\n\n\n this.options = [{ icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) }, { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) }, { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) }, { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) }];\n };\n\n PrivacyDropdown.prototype.render = function render() {\n var _props2 = this.props,\n value = _props2.value,\n intl = _props2.intl;\n var open = this.state.open;\n\n\n var valueOption = this.options.find(function (item) {\n return item.value === value;\n });\n\n return _jsx('div', {\n className: classNames('privacy-dropdown', { active: open }),\n onKeyDown: this.handleKeyDown\n }, void 0, _jsx('div', {\n className: classNames('privacy-dropdown__value', { active: this.options.indexOf(valueOption) === 0 })\n }, void 0, _jsx(IconButton, {\n className: 'privacy-dropdown__value-icon',\n icon: valueOption.icon,\n title: intl.formatMessage(messages.change_privacy),\n size: 18,\n expanded: open,\n active: open,\n inverted: true,\n onClick: this.handleToggle,\n style: { height: null, lineHeight: '27px' }\n })), _jsx(Overlay, {\n show: open,\n placement: 'bottom',\n target: this\n }, void 0, _jsx(PrivacyDropdownMenu, {\n items: this.options,\n value: value,\n onClose: this.handleClose,\n onChange: this.handleChange\n })));\n };\n\n return PrivacyDropdown;\n}(React.PureComponent)) || _class2;\n\nexport { PrivacyDropdown as default };" + }, + { + "id": 302, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "index": 479, + "index2": 468, + "size": 2736, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/sensitive_button_container", + "loc": "20:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport classNames from 'classnames';\nimport IconButton from '../../../components/icon_button';\nimport { changeComposeSensitivity } from '../../../actions/compose';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nvar messages = defineMessages({\n title: {\n 'id': 'compose_form.sensitive',\n 'defaultMessage': 'Mark media as sensitive'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n visible: state.getIn(['compose', 'media_attachments']).size > 0,\n active: state.getIn(['compose', 'sensitive']),\n disabled: state.getIn(['compose', 'spoiler'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(changeComposeSensitivity());\n }\n };\n};\n\nvar SensitiveButton = function (_React$PureComponent) {\n _inherits(SensitiveButton, _React$PureComponent);\n\n function SensitiveButton() {\n _classCallCheck(this, SensitiveButton);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n SensitiveButton.prototype.render = function render() {\n var _props = this.props,\n visible = _props.visible,\n active = _props.active,\n disabled = _props.disabled,\n onClick = _props.onClick,\n intl = _props.intl;\n\n\n return _jsx(Motion, {\n defaultStyle: { scale: 0.87 },\n style: { scale: spring(visible ? 1 : 0.87, { stiffness: 200, damping: 3 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n\n var icon = active ? 'eye-slash' : 'eye';\n var className = classNames('compose-form__sensitive-button', {\n 'compose-form__sensitive-button--visible': visible\n });\n return _jsx('div', {\n className: className,\n style: { transform: 'scale(' + scale + ')' }\n }, void 0, _jsx(IconButton, {\n className: 'compose-form__sensitive-button__icon',\n title: intl.formatMessage(messages.title),\n icon: icon,\n onClick: onClick,\n size: 18,\n active: active,\n disabled: disabled,\n style: { lineHeight: null, height: null },\n inverted: true\n }));\n });\n };\n\n return SensitiveButton;\n}(React.PureComponent);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(injectIntl(SensitiveButton));" + }, + { + "id": 303, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "index": 480, + "index2": 470, + "size": 2227, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/emoji_picker_dropdown_container", + "loc": "21:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport EmojiPickerDropdown from '../components/emoji_picker_dropdown';\nimport { changeSetting } from '../../../actions/settings';\nimport { createSelector } from 'reselect';\nimport { Map as ImmutableMap } from 'immutable';\nimport { useEmoji } from '../../../actions/emojis';\n\nvar perLine = 8;\nvar lines = 2;\n\nvar DEFAULTS = ['+1', 'grinning', 'kissing_heart', 'heart_eyes', 'laughing', 'stuck_out_tongue_winking_eye', 'sweat_smile', 'joy', 'yum', 'disappointed', 'thinking_face', 'weary', 'sob', 'sunglasses', 'heart', 'ok_hand'];\n\nvar getFrequentlyUsedEmojis = createSelector([function (state) {\n return state.getIn(['settings', 'frequentlyUsedEmojis'], ImmutableMap());\n}], function (emojiCounters) {\n var emojis = emojiCounters.keySeq().sort(function (a, b) {\n return emojiCounters.get(a) - emojiCounters.get(b);\n }).reverse().slice(0, perLine * lines).toArray();\n\n if (emojis.length < DEFAULTS.length) {\n emojis = emojis.concat(DEFAULTS.slice(0, DEFAULTS.length - emojis.length));\n }\n\n return emojis;\n});\n\nvar getCustomEmojis = createSelector([function (state) {\n return state.get('custom_emojis');\n}], function (emojis) {\n return emojis.filter(function (e) {\n return e.get('visible_in_picker');\n }).sort(function (a, b) {\n var aShort = a.get('shortcode').toLowerCase();\n var bShort = b.get('shortcode').toLowerCase();\n\n if (aShort < bShort) {\n return -1;\n } else if (aShort > bShort) {\n return 1;\n } else {\n return 0;\n }\n });\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n custom_emojis: getCustomEmojis(state),\n skinTone: state.getIn(['settings', 'skinTone']),\n frequentlyUsedEmojis: getFrequentlyUsedEmojis(state)\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var _onPickEmoji = _ref.onPickEmoji;\n return {\n onSkinTone: function onSkinTone(skinTone) {\n dispatch(changeSetting(['skinTone'], skinTone));\n },\n\n onPickEmoji: function onPickEmoji(emoji) {\n dispatch(useEmoji(emoji));\n\n if (_onPickEmoji) {\n _onPickEmoji(emoji);\n }\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EmojiPickerDropdown);" + }, + { + "id": 304, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "name": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "index": 481, + "index2": 469, + "size": 15197, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "issuerId": 303, + "issuerName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 303, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "type": "harmony import", + "userRequest": "../components/emoji_picker_dropdown", + "loc": "2:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class3, _class4, _temp4, _class5;\n\nimport React from 'react';\n\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport classNames from 'classnames';\n\nimport detectPassiveEvents from 'detect-passive-events';\nimport { buildCustomEmojis } from '../../emoji/emoji';\n\nvar messages = defineMessages({\n emoji: {\n 'id': 'emoji_button.label',\n 'defaultMessage': 'Insert emoji'\n },\n emoji_search: {\n 'id': 'emoji_button.search',\n 'defaultMessage': 'Search...'\n },\n emoji_not_found: {\n 'id': 'emoji_button.not_found',\n 'defaultMessage': 'No emojos!! (\\u256F\\xB0\\u25A1\\xB0\\uFF09\\u256F\\uFE35 \\u253B\\u2501\\u253B'\n },\n custom: {\n 'id': 'emoji_button.custom',\n 'defaultMessage': 'Custom'\n },\n recent: {\n 'id': 'emoji_button.recent',\n 'defaultMessage': 'Frequently used'\n },\n search_results: {\n 'id': 'emoji_button.search_results',\n 'defaultMessage': 'Search results'\n },\n people: {\n 'id': 'emoji_button.people',\n 'defaultMessage': 'People'\n },\n nature: {\n 'id': 'emoji_button.nature',\n 'defaultMessage': 'Nature'\n },\n food: {\n 'id': 'emoji_button.food',\n 'defaultMessage': 'Food & Drink'\n },\n activity: {\n 'id': 'emoji_button.activity',\n 'defaultMessage': 'Activity'\n },\n travel: {\n 'id': 'emoji_button.travel',\n 'defaultMessage': 'Travel & Places'\n },\n objects: {\n 'id': 'emoji_button.objects',\n 'defaultMessage': 'Objects'\n },\n symbols: {\n 'id': 'emoji_button.symbols',\n 'defaultMessage': 'Symbols'\n },\n flags: {\n 'id': 'emoji_button.flags',\n 'defaultMessage': 'Flags'\n }\n});\n\nvar assetHost = process.env.CDN_HOST || '';\nvar EmojiPicker = void 0,\n Emoji = void 0; // load asynchronously\n\nvar backgroundImageFn = function backgroundImageFn() {\n return assetHost + '/emoji/sheet.png';\n};\nvar listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nvar categoriesSort = ['recent', 'custom', 'people', 'nature', 'foods', 'activity', 'places', 'objects', 'symbols', 'flags'];\n\nvar ModifierPickerMenu = function (_React$PureComponent) {\n _inherits(ModifierPickerMenu, _React$PureComponent);\n\n function ModifierPickerMenu() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ModifierPickerMenu);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n _this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n }, _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ModifierPickerMenu.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.active) {\n this.attachListeners();\n } else {\n this.removeListeners();\n }\n };\n\n ModifierPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n this.removeListeners();\n };\n\n ModifierPickerMenu.prototype.attachListeners = function attachListeners() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.removeListeners = function removeListeners() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.render = function render() {\n var active = this.props.active;\n\n\n return React.createElement(\n 'div',\n { className: 'emoji-picker-dropdown__modifiers__menu', style: { display: active ? 'block' : 'none' }, ref: this.setRef },\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 1\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 1,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 2\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 2,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 3\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 3,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 4\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 4,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 5\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 5,\n backgroundImageFn: backgroundImageFn\n })),\n _jsx('button', {\n onClick: this.handleClick,\n 'data-index': 6\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 6,\n backgroundImageFn: backgroundImageFn\n }))\n );\n };\n\n return ModifierPickerMenu;\n}(React.PureComponent);\n\nvar ModifierPicker = function (_React$PureComponent2) {\n _inherits(ModifierPicker, _React$PureComponent2);\n\n function ModifierPicker() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, ModifierPicker);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.handleClick = function () {\n if (_this2.props.active) {\n _this2.props.onClose();\n } else {\n _this2.props.onOpen();\n }\n }, _this2.handleSelect = function (modifier) {\n _this2.props.onChange(modifier);\n _this2.props.onClose();\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n ModifierPicker.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n modifier = _props.modifier;\n\n\n return _jsx('div', {\n className: 'emoji-picker-dropdown__modifiers'\n }, void 0, _jsx(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: modifier,\n onClick: this.handleClick,\n backgroundImageFn: backgroundImageFn\n }), _jsx(ModifierPickerMenu, {\n active: active,\n onSelect: this.handleSelect,\n onClose: this.props.onClose\n }));\n };\n\n return ModifierPicker;\n}(React.PureComponent);\n\nvar EmojiPickerMenu = injectIntl(_class3 = (_temp4 = _class4 = function (_React$PureComponent3) {\n _inherits(EmojiPickerMenu, _React$PureComponent3);\n\n function EmojiPickerMenu() {\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, EmojiPickerMenu);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, _React$PureComponent3.call.apply(_React$PureComponent3, [this].concat(args))), _this3), _this3.state = {\n modifierOpen: false\n }, _this3.handleDocumentClick = function (e) {\n if (_this3.node && !_this3.node.contains(e.target)) {\n _this3.props.onClose();\n }\n }, _this3.setRef = function (c) {\n _this3.node = c;\n }, _this3.getI18n = function () {\n var intl = _this3.props.intl;\n\n\n return {\n search: intl.formatMessage(messages.emoji_search),\n notfound: intl.formatMessage(messages.emoji_not_found),\n categories: {\n search: intl.formatMessage(messages.search_results),\n recent: intl.formatMessage(messages.recent),\n people: intl.formatMessage(messages.people),\n nature: intl.formatMessage(messages.nature),\n foods: intl.formatMessage(messages.food),\n activity: intl.formatMessage(messages.activity),\n places: intl.formatMessage(messages.travel),\n objects: intl.formatMessage(messages.objects),\n symbols: intl.formatMessage(messages.symbols),\n flags: intl.formatMessage(messages.flags),\n custom: intl.formatMessage(messages.custom)\n }\n };\n }, _this3.handleClick = function (emoji) {\n if (!emoji.native) {\n emoji.native = emoji.colons;\n }\n\n _this3.props.onClose();\n _this3.props.onPick(emoji);\n }, _this3.handleModifierOpen = function () {\n _this3.setState({ modifierOpen: true });\n }, _this3.handleModifierClose = function () {\n _this3.setState({ modifierOpen: false });\n }, _this3.handleModifierChange = function (modifier) {\n _this3.props.onSkinTone(modifier);\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n EmojiPickerMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.render = function render() {\n var _props2 = this.props,\n loading = _props2.loading,\n style = _props2.style,\n intl = _props2.intl,\n custom_emojis = _props2.custom_emojis,\n skinTone = _props2.skinTone,\n frequentlyUsedEmojis = _props2.frequentlyUsedEmojis;\n\n\n if (loading) {\n return _jsx('div', {\n style: { width: 299 }\n });\n }\n\n var title = intl.formatMessage(messages.emoji);\n var modifierOpen = this.state.modifierOpen;\n\n\n return React.createElement(\n 'div',\n { className: classNames('emoji-picker-dropdown__menu', { selecting: modifierOpen }), style: style, ref: this.setRef },\n _jsx(EmojiPicker, {\n perLine: 8,\n emojiSize: 22,\n sheetSize: 32,\n custom: buildCustomEmojis(custom_emojis),\n color: '',\n emoji: '',\n set: 'twitter',\n title: title,\n i18n: this.getI18n(),\n onClick: this.handleClick,\n include: categoriesSort,\n recent: frequentlyUsedEmojis,\n skin: skinTone,\n showPreview: false,\n backgroundImageFn: backgroundImageFn,\n emojiTooltip: true\n }),\n _jsx(ModifierPicker, {\n active: modifierOpen,\n modifier: skinTone,\n onOpen: this.handleModifierOpen,\n onClose: this.handleModifierClose,\n onChange: this.handleModifierChange\n })\n );\n };\n\n return EmojiPickerMenu;\n}(React.PureComponent), _class4.defaultProps = {\n style: {},\n loading: true,\n placement: 'bottom',\n frequentlyUsedEmojis: []\n}, _temp4)) || _class3;\n\nvar EmojiPickerDropdown = injectIntl(_class5 = function (_React$PureComponent4) {\n _inherits(EmojiPickerDropdown, _React$PureComponent4);\n\n function EmojiPickerDropdown() {\n var _temp5, _this4, _ret4;\n\n _classCallCheck(this, EmojiPickerDropdown);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp5 = (_this4 = _possibleConstructorReturn(this, _React$PureComponent4.call.apply(_React$PureComponent4, [this].concat(args))), _this4), _this4.state = {\n active: false,\n loading: false\n }, _this4.setRef = function (c) {\n _this4.dropdown = c;\n }, _this4.onShowDropdown = function () {\n _this4.setState({ active: true });\n\n if (!EmojiPicker) {\n _this4.setState({ loading: true });\n\n EmojiPickerAsync().then(function (EmojiMart) {\n EmojiPicker = EmojiMart.Picker;\n Emoji = EmojiMart.Emoji;\n\n _this4.setState({ loading: false });\n }).catch(function () {\n _this4.setState({ loading: false });\n });\n }\n }, _this4.onHideDropdown = function () {\n _this4.setState({ active: false });\n }, _this4.onToggle = function (e) {\n if (!_this4.state.loading && (!e.key || e.key === 'Enter')) {\n if (_this4.state.active) {\n _this4.onHideDropdown();\n } else {\n _this4.onShowDropdown();\n }\n }\n }, _this4.handleKeyDown = function (e) {\n if (e.key === 'Escape') {\n _this4.onHideDropdown();\n }\n }, _this4.setTargetRef = function (c) {\n _this4.target = c;\n }, _this4.findTarget = function () {\n return _this4.target;\n }, _temp5), _possibleConstructorReturn(_this4, _ret4);\n }\n\n EmojiPickerDropdown.prototype.render = function render() {\n var _props3 = this.props,\n intl = _props3.intl,\n onPickEmoji = _props3.onPickEmoji,\n onSkinTone = _props3.onSkinTone,\n skinTone = _props3.skinTone,\n frequentlyUsedEmojis = _props3.frequentlyUsedEmojis;\n\n var title = intl.formatMessage(messages.emoji);\n var _state = this.state,\n active = _state.active,\n loading = _state.loading;\n\n\n return _jsx('div', {\n className: 'emoji-picker-dropdown',\n onKeyDown: this.handleKeyDown\n }, void 0, React.createElement(\n 'div',\n { ref: this.setTargetRef, className: 'emoji-button', title: title, 'aria-label': title, 'aria-expanded': active, role: 'button', onClick: this.onToggle, onKeyDown: this.onToggle, tabIndex: 0 },\n _jsx('img', {\n className: classNames('emojione', { 'pulse-loading': active && loading }),\n alt: '\\uD83D\\uDE42',\n src: assetHost + '/emoji/1f602.svg'\n })\n ), _jsx(Overlay, {\n show: active,\n placement: 'bottom',\n target: this.findTarget\n }, void 0, _jsx(EmojiPickerMenu, {\n custom_emojis: this.props.custom_emojis,\n loading: loading,\n onClose: this.onHideDropdown,\n onPick: onPickEmoji,\n onSkinTone: onSkinTone,\n skinTone: skinTone,\n frequentlyUsedEmojis: frequentlyUsedEmojis\n })));\n };\n\n return EmojiPickerDropdown;\n}(React.PureComponent)) || _class5;\n\nexport { EmojiPickerDropdown as default };" + }, + { + "id": 305, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "index": 482, + "index2": 476, + "size": 338, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_form_container", + "loc": "22:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\nimport UploadForm from '../components/upload_form';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n mediaIds: state.getIn(['compose', 'media_attachments']).map(function (item) {\n return item.get('id');\n })\n };\n};\n\nexport default connect(mapStateToProps)(UploadForm);" + }, + { + "id": 306, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "name": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "index": 483, + "index2": 475, + "size": 1426, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "issuerId": 305, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 305, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "type": "harmony import", + "userRequest": "../components/upload_form", + "loc": "2:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport UploadProgressContainer from '../containers/upload_progress_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport UploadContainer from '../containers/upload_container';\n\nvar UploadForm = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(UploadForm, _ImmutablePureCompone);\n\n function UploadForm() {\n _classCallCheck(this, UploadForm);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n UploadForm.prototype.render = function render() {\n var mediaIds = this.props.mediaIds;\n\n\n return _jsx('div', {\n className: 'compose-form__upload-wrapper'\n }, void 0, _jsx(UploadProgressContainer, {}), _jsx('div', {\n className: 'compose-form__uploads-wrapper'\n }, void 0, mediaIds.map(function (id) {\n return _jsx(UploadContainer, {\n id: id\n }, id);\n })));\n };\n\n return UploadForm;\n}(ImmutablePureComponent), _class.propTypes = {\n mediaIds: ImmutablePropTypes.list.isRequired\n}, _temp);\nexport { UploadForm as default };" + }, + { + "id": 307, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "index": 484, + "index2": 472, + "size": 337, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "issuerId": 306, + "issuerName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_progress_container", + "loc": "10:0-78" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import { connect } from 'react-redux';\nimport UploadProgress from '../components/upload_progress';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n active: state.getIn(['compose', 'is_uploading']),\n progress: state.getIn(['compose', 'progress'])\n };\n};\n\nexport default connect(mapStateToProps)(UploadProgress);" + }, + { + "id": 308, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "name": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "index": 485, + "index2": 471, + "size": 1739, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "issuerId": 307, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 307, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "type": "harmony import", + "userRequest": "../components/upload_progress", + "loc": "2:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { FormattedMessage } from 'react-intl';\n\nvar UploadProgress = function (_React$PureComponent) {\n _inherits(UploadProgress, _React$PureComponent);\n\n function UploadProgress() {\n _classCallCheck(this, UploadProgress);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n UploadProgress.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n progress = _props.progress;\n\n\n if (!active) {\n return null;\n }\n\n return _jsx('div', {\n className: 'upload-progress'\n }, void 0, _jsx('div', {\n className: 'upload-progress__icon'\n }, void 0, _jsx('i', {\n className: 'fa fa-upload'\n })), _jsx('div', {\n className: 'upload-progress__message'\n }, void 0, _jsx(FormattedMessage, {\n id: 'upload_progress.label',\n defaultMessage: 'Uploading...'\n }), _jsx('div', {\n className: 'upload-progress__backdrop'\n }, void 0, _jsx(Motion, {\n defaultStyle: { width: 0 },\n style: { width: spring(progress) }\n }, void 0, function (_ref) {\n var width = _ref.width;\n return _jsx('div', {\n className: 'upload-progress__tracker',\n style: { width: width + '%' }\n });\n }))));\n };\n\n return UploadProgress;\n}(React.PureComponent);\n\nexport { UploadProgress as default };" + }, + { + "id": 309, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "index": 486, + "index2": 474, + "size": 760, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "issuerId": 306, + "issuerName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "../containers/upload_container", + "loc": "12:0-61" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import { connect } from 'react-redux';\nimport Upload from '../components/upload';\nimport { undoUploadCompose, changeUploadCompose } from '../../../actions/compose';\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n media: state.getIn(['compose', 'media_attachments']).find(function (item) {\n return item.get('id') === id;\n })\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n\n onUndo: function onUndo(id) {\n dispatch(undoUploadCompose(id));\n },\n\n onDescriptionChange: function onDescriptionChange(id, description) {\n dispatch(changeUploadCompose(id, description));\n }\n\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Upload);" + }, + { + "id": 310, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "name": "./app/javascript/mastodon/features/compose/components/upload.js", + "index": 487, + "index2": 473, + "size": 4265, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "issuerId": 309, + "issuerName": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 309, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "type": "harmony import", + "userRequest": "../components/upload", + "loc": "2:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport classNames from 'classnames';\n\nvar messages = defineMessages({\n undo: {\n 'id': 'upload_form.undo',\n 'defaultMessage': 'Undo'\n },\n description: {\n 'id': 'upload_form.description',\n 'defaultMessage': 'Describe for the visually impaired'\n }\n});\n\nvar Upload = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(Upload, _ImmutablePureCompone);\n\n function Upload() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Upload);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n hovered: false,\n focused: false,\n dirtyDescription: null\n }, _this.handleUndoClick = function () {\n _this.props.onUndo(_this.props.media.get('id'));\n }, _this.handleInputChange = function (e) {\n _this.setState({ dirtyDescription: e.target.value });\n }, _this.handleMouseEnter = function () {\n _this.setState({ hovered: true });\n }, _this.handleMouseLeave = function () {\n _this.setState({ hovered: false });\n }, _this.handleInputFocus = function () {\n _this.setState({ focused: true });\n }, _this.handleInputBlur = function () {\n var dirtyDescription = _this.state.dirtyDescription;\n\n\n _this.setState({ focused: false, dirtyDescription: null });\n\n if (dirtyDescription !== null) {\n _this.props.onDescriptionChange(_this.props.media.get('id'), dirtyDescription);\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Upload.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n intl = _props.intl,\n media = _props.media;\n\n var active = this.state.hovered || this.state.focused;\n var description = this.state.dirtyDescription || media.get('description') || '';\n\n return _jsx('div', {\n className: 'compose-form__upload',\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave\n }, void 0, _jsx(Motion, {\n defaultStyle: { scale: 0.8 },\n style: { scale: spring(1, { stiffness: 180, damping: 12 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n return _jsx('div', {\n className: 'compose-form__upload-thumbnail',\n style: { transform: 'scale(' + scale + ')', backgroundImage: 'url(' + media.get('preview_url') + ')' }\n }, void 0, _jsx(IconButton, {\n icon: 'times',\n title: intl.formatMessage(messages.undo),\n size: 36,\n onClick: _this2.handleUndoClick\n }), _jsx('div', {\n className: classNames('compose-form__upload-description', { active: active })\n }, void 0, _jsx('label', {}, void 0, _jsx('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.description)), _jsx('input', {\n placeholder: intl.formatMessage(messages.description),\n type: 'text',\n value: description,\n maxLength: 420,\n onFocus: _this2.handleInputFocus,\n onChange: _this2.handleInputChange,\n onBlur: _this2.handleInputBlur\n }))));\n }));\n };\n\n return Upload;\n}(ImmutablePureComponent), _class2.propTypes = {\n media: ImmutablePropTypes.map.isRequired,\n intl: PropTypes.object.isRequired,\n onUndo: PropTypes.func.isRequired,\n onDescriptionChange: PropTypes.func.isRequired\n}, _temp2)) || _class;\n\nexport { Upload as default };" + }, + { + "id": 311, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "index": 488, + "index2": 478, + "size": 1120, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../containers/warning_container", + "loc": "23:0-63" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Warning from '../components/warning';\n\nimport { FormattedMessage } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked'])\n };\n};\n\nvar WarningWrapper = function WarningWrapper(_ref) {\n var needsLockWarning = _ref.needsLockWarning;\n\n if (needsLockWarning) {\n return _jsx(Warning, {\n message: _jsx(FormattedMessage, {\n id: 'compose_form.lock_disclaimer',\n defaultMessage: 'Your account is not {locked}. Anyone can follow you to view your follower-only posts.',\n values: { locked: _jsx('a', {\n href: '/settings/profile'\n }, void 0, _jsx(FormattedMessage, {\n id: 'compose_form.lock_disclaimer.lock',\n defaultMessage: 'locked'\n })) }\n })\n });\n }\n\n return null;\n};\n\nexport default connect(mapStateToProps)(WarningWrapper);" + }, + { + "id": 312, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/warning.js", + "name": "./app/javascript/mastodon/features/compose/components/warning.js", + "index": 489, + "index2": 477, + "size": 1391, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "issuerId": 311, + "issuerName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "../components/warning", + "loc": "4:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nvar Warning = function (_React$PureComponent) {\n _inherits(Warning, _React$PureComponent);\n\n function Warning() {\n _classCallCheck(this, Warning);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n Warning.prototype.render = function render() {\n var message = this.props.message;\n\n\n return _jsx(Motion, {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return _jsx('div', {\n className: 'compose-form__warning',\n style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n }, void 0, message);\n });\n };\n\n return Warning;\n}(React.PureComponent);\n\nexport { Warning as default };" + }, + { + "id": 313, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/counter.js", + "name": "./app/javascript/mastodon/features/compose/util/counter.js", + "index": 490, + "index2": 480, + "size": 261, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../util/counter", + "loc": "27:0-48" + } + ], + "usedExports": [ + "countableText" + ], + "providedExports": [ + "countableText" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { urlRegex } from './url_regex';\n\nvar urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nexport function countableText(inputText) {\n return inputText.replace(urlRegex, urlPlaceholder).replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\n};" + }, + { + "id": 314, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/url_regex.js", + "name": "./app/javascript/mastodon/features/compose/util/url_regex.js", + "index": 491, + "index2": 479, + "size": 13599, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 3, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/counter.js", + "issuerId": 313, + "issuerName": "./app/javascript/mastodon/features/compose/util/counter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 313, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/util/counter.js", + "module": "./app/javascript/mastodon/features/compose/util/counter.js", + "moduleName": "./app/javascript/mastodon/features/compose/util/counter.js", + "type": "harmony import", + "userRequest": "./url_regex", + "loc": "1:0-39" + } + ], + "usedExports": [ + "urlRegex" + ], + "providedExports": [ + "urlRegex" + ], + "optimizationBailout": [], + "depth": 6, + "source": "var regexen = {};\n\nvar regexSupplant = function regexSupplant(regex, flags) {\n flags = flags || '';\n if (typeof regex !== 'string') {\n if (regex.global && flags.indexOf('g') < 0) {\n flags += 'g';\n }\n if (regex.ignoreCase && flags.indexOf('i') < 0) {\n flags += 'i';\n }\n if (regex.multiline && flags.indexOf('m') < 0) {\n flags += 'm';\n }\n\n regex = regex.source;\n }\n return new RegExp(regex.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n var newRegex = regexen[name] || '';\n if (typeof newRegex !== 'string') {\n newRegex = newRegex.source;\n }\n return newRegex;\n }), flags);\n};\n\nvar stringSupplant = function stringSupplant(str, values) {\n return str.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n return values[name] || '';\n });\n};\n\nexport var urlRegex = function () {\n regexen.spaces_group = /\\x09-\\x0D\\x20\\x85\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000/;\n regexen.invalid_chars_group = /\\uFFFE\\uFEFF\\uFFFF\\u202A-\\u202E/;\n regexen.punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/;\n regexen.validUrlPrecedingChars = regexSupplant(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/);\n regexen.invalidDomainChars = stringSupplant('#{punct}#{spaces_group}#{invalid_chars_group}', regexen);\n regexen.validDomainChars = regexSupplant(/[^#{invalidDomainChars}]/);\n regexen.validSubdomain = regexSupplant(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validDomainName = regexSupplant(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validGTLD = regexSupplant(RegExp('(?:(?:' + '삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|' + '政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|' + 'ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|' + 'بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|' + 'zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|' + 'yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|' + 'wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|' + 'website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|' + 'wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|' + 'vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|' + 'vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|' + 'university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|' + 'travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|' + 'toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|' + 'tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|' + 'tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|' + 'swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|' + 'stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|' + 'stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|' + 'softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|' + 'showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|' + 'sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|' + 'science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|' + 'sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|' + 'saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|' + 'rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|' + 'repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|' + 'realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|' + 'protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|' + 'pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|' + 'pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|' + 'pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|' + 'pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|' + 'onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|' + 'obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|' + 'nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|' + 'net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|' + 'msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|' + 'monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|' + 'miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|' + 'mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|' + 'makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|' + 'lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|' + 'limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|' + 'lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|' + 'lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|' + 'komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|' + 'kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|' + 'jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|' + 'investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|' + 'industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|' + 'hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|' + 'honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|' + 'hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|' + 'hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|' + 'gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|' + 'globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|' + 'garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|' + 'ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|' + 'football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|' + 'fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|' + 'ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|' + 'extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|' + 'estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|' + 'email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|' + 'download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|' + 'direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|' + 'delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|' + 'cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|' + 'coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|' + 'construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|' + 'college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|' + 'cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|' + 'chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|' + 'catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|' + 'capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|' + 'bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|' + 'bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|' + 'boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|' + 'black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|' + 'beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|' + 'barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|' + 'autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|' + 'art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|' + 'amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|' + 'alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|' + 'afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|' + 'academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion' + ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validCCTLD = regexSupplant(RegExp('(?:(?:' + '한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|' + 'ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|' + 'بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|' + 'zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|' + 'tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|' + 're|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|' + 'mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|' + 'ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|' + 'gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|' + 'do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|' + 'bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac' + ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validPunycode = /(?:xn--[0-9a-z]+)/;\n regexen.validSpecialCCTLD = /(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/;\n regexen.validDomain = regexSupplant(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/);\n regexen.validPortNumber = /[0-9]+/;\n regexen.pd = /\\u002d\\u058a\\u05be\\u1400\\u1806\\u2010-\\u2015\\u2e17\\u2e1a\\u2e3a\\u2e40\\u301c\\u3030\\u30a0\\ufe31\\ufe58\\ufe63\\uff0d/;\n regexen.validGeneralUrlPathChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?]/i);\n // Allow URL paths to contain up to two nested levels of balanced parens\n // 1. Used in Wikipedia URLs like /Primer_(film)\n // 2. Used in IIS sessions like /S(dfd346)/\n // 3. Used in Rdio URLs like /track/We_Up_(Album_Version_(Edited))/\n regexen.validUrlBalancedParens = regexSupplant('\\\\(' + '(?:' + '#{validGeneralUrlPathChars}+' + '|' +\n // allow one nested level of balanced parentheses\n '(?:' + '#{validGeneralUrlPathChars}*' + '\\\\(' + '#{validGeneralUrlPathChars}+' + '\\\\)' + '#{validGeneralUrlPathChars}*' + ')' + ')' + '\\\\)', 'i');\n // Valid end-of-path chracters (so /foo. does not gobble the period).\n // 1. Allow =&# for empty URL parameters and other URL-join artifacts\n regexen.validUrlPathEndingChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?!\\*';:=\\,\\.\\$%\\[\\]#{pd}~&\\|@]|(?:#{validUrlBalancedParens})/i);\n // Allow @ in a url, but only in the middle. Catch things like http://example.com/@user/\n regexen.validUrlPath = regexSupplant('(?:' + '(?:' + '#{validGeneralUrlPathChars}*' + '(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*' + '#{validUrlPathEndingChars}' + ')|(?:@#{validGeneralUrlPathChars}+\\/)' + ')', 'i');\n regexen.validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i;\n regexen.validUrlQueryEndingChars = /[a-z0-9_&=#\\/]/i;\n regexen.validUrl = regexSupplant('(' + // $1 URL\n '(https?:\\\\/\\\\/)' + // $2 Protocol\n '(#{validDomain})' + // $3 Domain(s)\n '(?::(#{validPortNumber}))?' + // $4 Port number (optional)\n '(\\\\/#{validUrlPath}*)?' + // $5 URL Path\n '(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?' + // $6 Query String\n ')', 'gi');\n return regexen.validUrl;\n}();" + }, + { + "id": 315, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "name": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "index": 457, + "index2": 482, + "size": 2104, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "issuerId": 658, + "issuerName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 658, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "module": "./app/javascript/mastodon/features/standalone/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "type": "harmony import", + "userRequest": "../../compose/containers/compose_form_container", + "loc": "6:0-83" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "./containers/compose_form_container", + "loc": "9:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import { connect } from 'react-redux';\nimport ComposeForm from '../components/compose_form';\nimport { uploadCompose } from '../../../actions/compose';\nimport { changeCompose, submitCompose, clearComposeSuggestions, fetchComposeSuggestions, selectComposeSuggestion, changeComposeSpoilerText, insertEmojiCompose } from '../../../actions/compose';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n text: state.getIn(['compose', 'text']),\n suggestion_token: state.getIn(['compose', 'suggestion_token']),\n suggestions: state.getIn(['compose', 'suggestions']),\n spoiler: state.getIn(['compose', 'spoiler']),\n spoiler_text: state.getIn(['compose', 'spoiler_text']),\n privacy: state.getIn(['compose', 'privacy']),\n focusDate: state.getIn(['compose', 'focusDate']),\n preselectDate: state.getIn(['compose', 'preselectDate']),\n is_submitting: state.getIn(['compose', 'is_submitting']),\n is_uploading: state.getIn(['compose', 'is_uploading']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(text) {\n dispatch(changeCompose(text));\n },\n onSubmit: function onSubmit() {\n dispatch(submitCompose());\n },\n onClearSuggestions: function onClearSuggestions() {\n dispatch(clearComposeSuggestions());\n },\n onFetchSuggestions: function onFetchSuggestions(token) {\n dispatch(fetchComposeSuggestions(token));\n },\n onSuggestionSelected: function onSuggestionSelected(position, token, accountId) {\n dispatch(selectComposeSuggestion(position, token, accountId));\n },\n onChangeSpoilerText: function onChangeSpoilerText(checked) {\n dispatch(changeComposeSpoilerText(checked));\n },\n onPaste: function onPaste(files) {\n dispatch(uploadCompose(files));\n },\n onPickEmoji: function onPickEmoji(position, data) {\n dispatch(insertEmojiCompose(position, data));\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);" + }, + { + "id": 656, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "name": "./app/javascript/packs/share.js", + "index": 814, + "index2": 816, + "size": 684, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 28 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "import loadPolyfills from '../mastodon/load_polyfills';\n\nrequire.context('../images/', true);\n\nfunction loaded() {\n var ComposeContainer = require('../mastodon/containers/compose_container').default;\n var React = require('react');\n var ReactDOM = require('react-dom');\n var mountNode = document.getElementById('mastodon-compose');\n\n if (mountNode !== null) {\n var props = JSON.parse(mountNode.getAttribute('data-props'));\n ReactDOM.render(React.createElement(ComposeContainer, props), mountNode);\n }\n}\n\nfunction main() {\n var ready = require('../mastodon/ready').default;\n ready(loaded);\n}\n\nloadPolyfills().then(main).catch(function (error) {\n console.error(error);\n});" + }, + { + "id": 657, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "name": "./app/javascript/mastodon/containers/compose_container.js", + "index": 815, + "index2": 815, + "size": 1514, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "issuerId": 656, + "issuerName": "./app/javascript/packs/share.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 656, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "module": "./app/javascript/packs/share.js", + "moduleName": "./app/javascript/packs/share.js", + "type": "cjs require", + "userRequest": "../mastodon/containers/compose_container", + "loc": "6:25-76" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 1, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport { Provider } from 'react-redux';\n\nimport configureStore from '../store/configureStore';\nimport { hydrateStore } from '../actions/store';\nimport { IntlProvider, addLocaleData } from 'react-intl';\nimport { getLocale } from '../locales';\nimport Compose from '../features/standalone/compose';\nimport initialState from '../initial_state';\n\nvar _getLocale = getLocale(),\n localeData = _getLocale.localeData,\n messages = _getLocale.messages;\n\naddLocaleData(localeData);\n\nvar store = configureStore();\n\nif (initialState) {\n store.dispatch(hydrateStore(initialState));\n}\n\nvar TimelineContainer = function (_React$PureComponent) {\n _inherits(TimelineContainer, _React$PureComponent);\n\n function TimelineContainer() {\n _classCallCheck(this, TimelineContainer);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n TimelineContainer.prototype.render = function render() {\n var locale = this.props.locale;\n\n\n return _jsx(IntlProvider, {\n locale: locale,\n messages: messages\n }, void 0, _jsx(Provider, {\n store: store\n }, void 0, _jsx(Compose, {})));\n };\n\n return TimelineContainer;\n}(React.PureComponent);\n\nexport { TimelineContainer as default };" + }, + { + "id": 658, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "name": "./app/javascript/mastodon/features/standalone/compose/index.js", + "index": 816, + "index2": 814, + "size": 1168, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 28 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "issuerId": 657, + "issuerName": "./app/javascript/mastodon/containers/compose_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "../features/standalone/compose", + "loc": "12:0-53" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport ComposeFormContainer from '../../compose/containers/compose_form_container';\nimport NotificationsContainer from '../../ui/containers/notifications_container';\nimport LoadingBarContainer from '../../ui/containers/loading_bar_container';\nimport ModalContainer from '../../ui/containers/modal_container';\n\nvar Compose = function (_React$PureComponent) {\n _inherits(Compose, _React$PureComponent);\n\n function Compose() {\n _classCallCheck(this, Compose);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n Compose.prototype.render = function render() {\n return _jsx('div', {}, void 0, _jsx(ComposeFormContainer, {}), _jsx(NotificationsContainer, {}), _jsx(ModalContainer, {}), _jsx(LoadingBarContainer, {\n className: 'loading-bar'\n }));\n };\n\n return Compose;\n}(React.PureComponent);\n\nexport { Compose as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 656, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "moduleName": "./app/javascript/packs/share.js", + "loc": "", + "name": "share", + "reasons": [] + } + ] + }, + { + "id": 29, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 87925, + "names": [ + "about" + ], + "files": [ + "about-d6275c885cd0e28a1186.js", + "about-d6275c885cd0e28a1186.js.map" + ], + "hash": "d6275c885cd0e28a1186", + "parents": [ + 65 + ], + "modules": [ + { + "id": 6, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "name": "./node_modules/react-intl/lib/index.es.js", + "index": 301, + "index2": 306, + "size": 49880, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27, + 28, + 29, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "issuerId": 653, + "issuerName": "./app/javascript/mastodon/containers/video_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 45, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "module": "./app/javascript/mastodon/actions/notifications.js", + "moduleName": "./app/javascript/mastodon/actions/notifications.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "5:0-44" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-46" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 131, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/relative_timestamp.js", + "module": "./app/javascript/mastodon/components/relative_timestamp.js", + "moduleName": "./app/javascript/mastodon/components/relative_timestamp.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-56" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "20:0-46" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-74" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-57" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-58" + }, + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-56" + }, + { + "moduleId": 260, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "module": "./app/javascript/mastodon/components/load_more.js", + "moduleName": "./app/javascript/mastodon/components/load_more.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-74" + }, + { + "moduleId": 271, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/loading_indicator.js", + "module": "./app/javascript/mastodon/components/loading_indicator.js", + "moduleName": "./app/javascript/mastodon/components/loading_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "3:0-46" + }, + { + "moduleId": 272, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "module": "./app/javascript/mastodon/components/column_back_button_slim.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button_slim.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-56" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "14:0-56" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-56" + }, + { + "moduleId": 298, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "4:0-56" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-56" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-56" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "6:0-46" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-57" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "29:0-56" + }, + { + "moduleId": 633, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-56" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 641, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-58" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-40" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "8:0-57" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-57" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-57" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-74" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-46" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "27:0-56" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-74" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-56" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "21:0-46" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-56" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-74" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-58" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "4:0-74" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 779, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "module": "./app/javascript/mastodon/components/column_back_button.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 780, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "module": "./app/javascript/mastodon/components/missing_indicator.js", + "moduleName": "./app/javascript/mastodon/components/missing_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "3:0-46" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-91" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "14:0-46" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-46" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-46" + }, + { + "moduleId": 885, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "2:0-56" + }, + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-46" + }, + { + "moduleId": 887, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "module": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-46" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-60" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + } + ], + "usedExports": [ + "FormattedDate", + "FormattedMessage", + "FormattedNumber", + "IntlProvider", + "addLocaleData", + "defineMessages", + "injectIntl" + ], + "providedExports": [ + "addLocaleData", + "intlShape", + "injectIntl", + "defineMessages", + "IntlProvider", + "FormattedDate", + "FormattedTime", + "FormattedRelative", + "FormattedNumber", + "FormattedPlural", + "FormattedMessage", + "FormattedHTMLMessage" + ], + "optimizationBailout": [], + "depth": 2, + "source": "/*\n * Copyright 2017, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nimport allLocaleData from '../locale-data/index.js';\nimport IntlMessageFormat from 'intl-messageformat';\nimport IntlRelativeFormat from 'intl-relativeformat';\nimport PropTypes from 'prop-types';\nimport React, { Children, Component, createElement, isValidElement } from 'react';\nimport invariant from 'invariant';\nimport memoizeIntlConstructor from 'intl-format-cache';\n\n// GENERATED FILE\nvar defaultLocaleData = { \"locale\": \"en\", \"pluralRuleFunction\": function pluralRuleFunction(n, ord) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";return n == 1 && v0 ? \"one\" : \"other\";\n }, \"fields\": { \"year\": { \"displayName\": \"year\", \"relative\": { \"0\": \"this year\", \"1\": \"next year\", \"-1\": \"last year\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} year\", \"other\": \"in {0} years\" }, \"past\": { \"one\": \"{0} year ago\", \"other\": \"{0} years ago\" } } }, \"month\": { \"displayName\": \"month\", \"relative\": { \"0\": \"this month\", \"1\": \"next month\", \"-1\": \"last month\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} month\", \"other\": \"in {0} months\" }, \"past\": { \"one\": \"{0} month ago\", \"other\": \"{0} months ago\" } } }, \"day\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"hour\": { \"displayName\": \"hour\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hour\", \"other\": \"in {0} hours\" }, \"past\": { \"one\": \"{0} hour ago\", \"other\": \"{0} hours ago\" } } }, \"minute\": { \"displayName\": \"minute\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} minute\", \"other\": \"in {0} minutes\" }, \"past\": { \"one\": \"{0} minute ago\", \"other\": \"{0} minutes ago\" } } }, \"second\": { \"displayName\": \"second\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} second\", \"other\": \"in {0} seconds\" }, \"past\": { \"one\": \"{0} second ago\", \"other\": \"{0} seconds ago\" } } } } };\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction addLocaleData() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var locales = Array.isArray(data) ? data : [data];\n\n locales.forEach(function (localeData) {\n if (localeData && localeData.locale) {\n IntlMessageFormat.__addLocaleData(localeData);\n IntlRelativeFormat.__addLocaleData(localeData);\n }\n });\n}\n\nfunction hasLocaleData(locale) {\n var localeParts = (locale || '').split('-');\n\n while (localeParts.length > 0) {\n if (hasIMFAndIRFLocaleData(localeParts.join('-'))) {\n return true;\n }\n\n localeParts.pop();\n }\n\n return false;\n}\n\nfunction hasIMFAndIRFLocaleData(locale) {\n var normalizedLocale = locale && locale.toLowerCase();\n\n return !!(IntlMessageFormat.__localeData__[normalizedLocale] && IntlRelativeFormat.__localeData__[normalizedLocale]);\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function 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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar bool = PropTypes.bool;\nvar number = PropTypes.number;\nvar string = PropTypes.string;\nvar func = PropTypes.func;\nvar object = PropTypes.object;\nvar oneOf = PropTypes.oneOf;\nvar shape = PropTypes.shape;\nvar any = PropTypes.any;\nvar oneOfType = PropTypes.oneOfType;\n\nvar localeMatcher = oneOf(['best fit', 'lookup']);\nvar narrowShortLong = oneOf(['narrow', 'short', 'long']);\nvar numeric2digit = oneOf(['numeric', '2-digit']);\nvar funcReq = func.isRequired;\n\nvar intlConfigPropTypes = {\n locale: string,\n formats: object,\n messages: object,\n textComponent: any,\n\n defaultLocale: string,\n defaultFormats: object\n};\n\nvar intlFormatPropTypes = {\n formatDate: funcReq,\n formatTime: funcReq,\n formatRelative: funcReq,\n formatNumber: funcReq,\n formatPlural: funcReq,\n formatMessage: funcReq,\n formatHTMLMessage: funcReq\n};\n\nvar intlShape = shape(_extends({}, intlConfigPropTypes, intlFormatPropTypes, {\n formatters: object,\n now: funcReq\n}));\n\nvar messageDescriptorPropTypes = {\n id: string.isRequired,\n description: oneOfType([string, object]),\n defaultMessage: string\n};\n\nvar dateTimeFormatPropTypes = {\n localeMatcher: localeMatcher,\n formatMatcher: oneOf(['basic', 'best fit']),\n\n timeZone: string,\n hour12: bool,\n\n weekday: narrowShortLong,\n era: narrowShortLong,\n year: numeric2digit,\n month: oneOf(['numeric', '2-digit', 'narrow', 'short', 'long']),\n day: numeric2digit,\n hour: numeric2digit,\n minute: numeric2digit,\n second: numeric2digit,\n timeZoneName: oneOf(['short', 'long'])\n};\n\nvar numberFormatPropTypes = {\n localeMatcher: localeMatcher,\n\n style: oneOf(['decimal', 'currency', 'percent']),\n currency: string,\n currencyDisplay: oneOf(['symbol', 'code', 'name']),\n useGrouping: bool,\n\n minimumIntegerDigits: number,\n minimumFractionDigits: number,\n maximumFractionDigits: number,\n minimumSignificantDigits: number,\n maximumSignificantDigits: number\n};\n\nvar relativeFormatPropTypes = {\n style: oneOf(['best fit', 'numeric']),\n units: oneOf(['second', 'minute', 'hour', 'day', 'month', 'year'])\n};\n\nvar pluralFormatPropTypes = {\n style: oneOf(['cardinal', 'ordinal'])\n};\n\n/*\nHTML escaping and shallow-equals implementations are the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\n\nvar intlConfigPropNames = Object.keys(intlConfigPropTypes);\n\nvar ESCAPED_CHARS = {\n '&': '&',\n '>': '>',\n '<': '<',\n '\"': '"',\n \"'\": '''\n};\n\nvar UNSAFE_CHARS_REGEX = /[&><\"']/g;\n\nfunction escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) {\n return ESCAPED_CHARS[match];\n });\n}\n\nfunction filterProps(props, whitelist) {\n var defaults$$1 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return whitelist.reduce(function (filtered, name) {\n if (props.hasOwnProperty(name)) {\n filtered[name] = props[name];\n } else if (defaults$$1.hasOwnProperty(name)) {\n filtered[name] = defaults$$1[name];\n }\n\n return filtered;\n }, {});\n}\n\nfunction invariantIntlContext() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n intl = _ref.intl;\n\n invariant(intl, '[React Intl] Could not find required `intl` object. ' + ' needs to exist in the component ancestry.');\n}\n\nfunction shallowEquals(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n for (var i = 0; i < keysA.length; i++) {\n if (!bHasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shouldIntlComponentUpdate(_ref2, nextProps, nextState) {\n var props = _ref2.props,\n state = _ref2.state,\n _ref2$context = _ref2.context,\n context = _ref2$context === undefined ? {} : _ref2$context;\n var nextContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _context$intl = context.intl,\n intl = _context$intl === undefined ? {} : _context$intl;\n var _nextContext$intl = nextContext.intl,\n nextIntl = _nextContext$intl === undefined ? {} : _nextContext$intl;\n\n return !shallowEquals(nextProps, props) || !shallowEquals(nextState, state) || !(nextIntl === intl || shallowEquals(filterProps(nextIntl, intlConfigPropNames), filterProps(intl, intlConfigPropNames)));\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// Inspired by react-redux's `connect()` HOC factory function implementation:\n// https://github.com/rackt/react-redux\n\nfunction getDisplayName(Component$$1) {\n return Component$$1.displayName || Component$$1.name || 'Component';\n}\n\nfunction injectIntl(WrappedComponent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$intlPropName = options.intlPropName,\n intlPropName = _options$intlPropName === undefined ? 'intl' : _options$intlPropName,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var InjectIntl = function (_Component) {\n inherits(InjectIntl, _Component);\n\n function InjectIntl(props, context) {\n classCallCheck(this, InjectIntl);\n\n var _this = possibleConstructorReturn(this, (InjectIntl.__proto__ || Object.getPrototypeOf(InjectIntl)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(InjectIntl, [{\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n invariant(withRef, '[React Intl] To access the wrapped instance, ' + 'the `{withRef: true}` option must be set when calling: ' + '`injectIntl()`');\n\n return this.refs.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(WrappedComponent, _extends({}, this.props, defineProperty({}, intlPropName, this.context.intl), {\n ref: withRef ? 'wrappedInstance' : null\n }));\n }\n }]);\n return InjectIntl;\n }(Component);\n\n InjectIntl.displayName = 'InjectIntl(' + getDisplayName(WrappedComponent) + ')';\n InjectIntl.contextTypes = {\n intl: intlShape\n };\n InjectIntl.WrappedComponent = WrappedComponent;\n\n return InjectIntl;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction defineMessages(messageDescriptors) {\n // This simply returns what's passed-in because it's meant to be a hook for\n // babel-plugin-react-intl.\n return messageDescriptors;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// This is a \"hack\" until a proper `intl-pluralformat` package is created.\n\nfunction resolveLocale(locales) {\n // IntlMessageFormat#_resolveLocale() does not depend on `this`.\n return IntlMessageFormat.prototype._resolveLocale(locales);\n}\n\nfunction findPluralFunction(locale) {\n // IntlMessageFormat#_findPluralFunction() does not depend on `this`.\n return IntlMessageFormat.prototype._findPluralRuleFunction(locale);\n}\n\nvar IntlPluralFormat = function IntlPluralFormat(locales) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlPluralFormat);\n\n var useOrdinal = options.style === 'ordinal';\n var pluralFn = findPluralFunction(resolveLocale(locales));\n\n this.format = function (value) {\n return pluralFn(value, useOrdinal);\n };\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar DATE_TIME_FORMAT_OPTIONS = Object.keys(dateTimeFormatPropTypes);\nvar NUMBER_FORMAT_OPTIONS = Object.keys(numberFormatPropTypes);\nvar RELATIVE_FORMAT_OPTIONS = Object.keys(relativeFormatPropTypes);\nvar PLURAL_FORMAT_OPTIONS = Object.keys(pluralFormatPropTypes);\n\nvar RELATIVE_FORMAT_THRESHOLDS = {\n second: 60, // seconds to minute\n minute: 60, // minutes to hour\n hour: 24, // hours to day\n day: 30, // days to month\n month: 12 // months to year\n};\n\nfunction updateRelativeFormatThresholds(newThresholds) {\n var thresholds = IntlRelativeFormat.thresholds;\n thresholds.second = newThresholds.second;\n thresholds.minute = newThresholds.minute;\n thresholds.hour = newThresholds.hour;\n thresholds.day = newThresholds.day;\n thresholds.month = newThresholds.month;\n}\n\nfunction getNamedFormat(formats, type, name) {\n var format = formats && formats[type] && formats[type][name];\n if (format) {\n return format;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] No ' + type + ' format named: ' + name);\n }\n}\n\nfunction formatDate(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'date', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting date.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatTime(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'time', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n if (!filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = _extends({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting time.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatRelative(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var now = new Date(options.now);\n var defaults$$1 = format && getNamedFormat(formats, 'relative', format);\n var filteredOptions = filterProps(options, RELATIVE_FORMAT_OPTIONS, defaults$$1);\n\n // Capture the current threshold values, then temporarily override them with\n // specific values just for this render.\n var oldThresholds = _extends({}, IntlRelativeFormat.thresholds);\n updateRelativeFormatThresholds(RELATIVE_FORMAT_THRESHOLDS);\n\n try {\n return state.getRelativeFormat(locale, filteredOptions).format(date, {\n now: isFinite(now) ? now : state.now()\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting relative time.\\n' + e);\n }\n } finally {\n updateRelativeFormatThresholds(oldThresholds);\n }\n\n return String(date);\n}\n\nfunction formatNumber(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var defaults$$1 = format && getNamedFormat(formats, 'number', format);\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getNumberFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting number.\\n' + e);\n }\n }\n\n return String(value);\n}\n\nfunction formatPlural(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale;\n\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n\n try {\n return state.getPluralFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting plural.\\n' + e);\n }\n }\n\n return 'other';\n}\n\nfunction formatMessage(config, state) {\n var messageDescriptor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var values = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n messages = config.messages,\n defaultLocale = config.defaultLocale,\n defaultFormats = config.defaultFormats;\n var id = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage;\n\n // `id` is a required field of a Message Descriptor.\n\n invariant(id, '[React Intl] An `id` must be provided to format a message.');\n\n var message = messages && messages[id];\n var hasValues = Object.keys(values).length > 0;\n\n // Avoid expensive message formatting for simple messages without values. In\n // development messages will always be formatted in case of missing values.\n if (!hasValues && process.env.NODE_ENV === 'production') {\n return message || defaultMessage || id;\n }\n\n var formattedMessage = void 0;\n\n if (message) {\n try {\n var formatter = state.getMessageFormat(message, locale, formats);\n\n formattedMessage = formatter.format(values);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : '') + ('\\n' + e));\n }\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale, and a default message is in the source.\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n console.error('[React Intl] Missing message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : ''));\n }\n }\n }\n\n if (!formattedMessage && defaultMessage) {\n try {\n var _formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n\n formattedMessage = _formatter.format(values);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting the default message for: \"' + id + '\"' + ('\\n' + e));\n }\n }\n }\n\n if (!formattedMessage) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Cannot format message: \"' + id + '\", ' + ('using message ' + (message || defaultMessage ? 'source' : 'id') + ' as fallback.'));\n }\n }\n\n return formattedMessage || message || defaultMessage || id;\n}\n\nfunction formatHTMLMessage(config, state, messageDescriptor) {\n var rawValues = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) {\n var value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n\nvar format = Object.freeze({\n formatDate: formatDate,\n formatTime: formatTime,\n formatRelative: formatRelative,\n formatNumber: formatNumber,\n formatPlural: formatPlural,\n formatMessage: formatMessage,\n formatHTMLMessage: formatHTMLMessage\n});\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar intlConfigPropNames$1 = Object.keys(intlConfigPropTypes);\nvar intlFormatPropNames = Object.keys(intlFormatPropTypes);\n\n// These are not a static property on the `IntlProvider` class so the intl\n// config values can be inherited from an ancestor.\nvar defaultProps = {\n formats: {},\n messages: {},\n textComponent: 'span',\n\n defaultLocale: 'en',\n defaultFormats: {}\n};\n\nvar IntlProvider = function (_Component) {\n inherits(IntlProvider, _Component);\n\n function IntlProvider(props) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlProvider);\n\n var _this = possibleConstructorReturn(this, (IntlProvider.__proto__ || Object.getPrototypeOf(IntlProvider)).call(this, props, context));\n\n invariant(typeof Intl !== 'undefined', '[React Intl] The `Intl` APIs must be available in the runtime, ' + 'and do not appear to be built-in. An `Intl` polyfill should be loaded.\\n' + 'See: http://formatjs.io/guides/runtime-environments/');\n\n var intlContext = context.intl;\n\n // Used to stabilize time when performing an initial rendering so that\n // all relative times use the same reference \"now\" time.\n\n var initialNow = void 0;\n if (isFinite(props.initialNow)) {\n initialNow = Number(props.initialNow);\n } else {\n // When an `initialNow` isn't provided via `props`, look to see an\n // exists in the ancestry and call its `now()`\n // function to propagate its value for \"now\".\n initialNow = intlContext ? intlContext.now() : Date.now();\n }\n\n // Creating `Intl*` formatters is expensive. If there's a parent\n // ``, then its formatters will be used. Otherwise, this\n // memoize the `Intl*` constructors and cache them for the lifecycle of\n // this IntlProvider instance.\n\n var _ref = intlContext || {},\n _ref$formatters = _ref.formatters,\n formatters = _ref$formatters === undefined ? {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat),\n getRelativeFormat: memoizeIntlConstructor(IntlRelativeFormat),\n getPluralFormat: memoizeIntlConstructor(IntlPluralFormat)\n } : _ref$formatters;\n\n _this.state = _extends({}, formatters, {\n\n // Wrapper to provide stable \"now\" time for initial render.\n now: function now() {\n return _this._didDisplay ? Date.now() : initialNow;\n }\n });\n return _this;\n }\n\n createClass(IntlProvider, [{\n key: 'getConfig',\n value: function getConfig() {\n var intlContext = this.context.intl;\n\n // Build a whitelisted config object from `props`, defaults, and\n // `context.intl`, if an exists in the ancestry.\n\n var config = filterProps(this.props, intlConfigPropNames$1, intlContext);\n\n // Apply default props. This must be applied last after the props have\n // been resolved and inherited from any in the ancestry.\n // This matches how React resolves `defaultProps`.\n for (var propName in defaultProps) {\n if (config[propName] === undefined) {\n config[propName] = defaultProps[propName];\n }\n }\n\n if (!hasLocaleData(config.locale)) {\n var _config = config,\n locale = _config.locale,\n defaultLocale = _config.defaultLocale,\n defaultFormats = _config.defaultFormats;\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Missing locale data for locale: \"' + locale + '\". ' + ('Using default locale: \"' + defaultLocale + '\" as fallback.'));\n }\n\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n config = _extends({}, config, {\n locale: defaultLocale,\n formats: defaultFormats,\n messages: defaultProps.messages\n });\n }\n\n return config;\n }\n }, {\n key: 'getBoundFormatFns',\n value: function getBoundFormatFns(config, state) {\n return intlFormatPropNames.reduce(function (boundFormatFns, name) {\n boundFormatFns[name] = format[name].bind(null, config, state);\n return boundFormatFns;\n }, {});\n }\n }, {\n key: 'getChildContext',\n value: function getChildContext() {\n var config = this.getConfig();\n\n // Bind intl factories and current config to the format functions.\n var boundFormatFns = this.getBoundFormatFns(config, this.state);\n\n var _state = this.state,\n now = _state.now,\n formatters = objectWithoutProperties(_state, ['now']);\n\n return {\n intl: _extends({}, config, boundFormatFns, {\n formatters: formatters,\n now: now\n })\n };\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._didDisplay = true;\n }\n }, {\n key: 'render',\n value: function render() {\n return Children.only(this.props.children);\n }\n }]);\n return IntlProvider;\n}(Component);\n\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.contextTypes = {\n intl: intlShape\n};\nIntlProvider.childContextTypes = {\n intl: intlShape.isRequired\n};\nprocess.env.NODE_ENV !== \"production\" ? IntlProvider.propTypes = _extends({}, intlConfigPropTypes, {\n children: PropTypes.element.isRequired,\n initialNow: PropTypes.any\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedDate = function (_Component) {\n inherits(FormattedDate, _Component);\n\n function FormattedDate(props, context) {\n classCallCheck(this, FormattedDate);\n\n var _this = possibleConstructorReturn(this, (FormattedDate.__proto__ || Object.getPrototypeOf(FormattedDate)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedDate, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatDate = _context$intl.formatDate,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedDate = formatDate(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedDate);\n }\n\n return React.createElement(Text, null, formattedDate);\n }\n }]);\n return FormattedDate;\n}(Component);\n\nFormattedDate.displayName = 'FormattedDate';\nFormattedDate.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedTime = function (_Component) {\n inherits(FormattedTime, _Component);\n\n function FormattedTime(props, context) {\n classCallCheck(this, FormattedTime);\n\n var _this = possibleConstructorReturn(this, (FormattedTime.__proto__ || Object.getPrototypeOf(FormattedTime)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedTime, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatTime = _context$intl.formatTime,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedTime = formatTime(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedTime);\n }\n\n return React.createElement(Text, null, formattedTime);\n }\n }]);\n return FormattedTime;\n}(Component);\n\nFormattedTime.displayName = 'FormattedTime';\nFormattedTime.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar SECOND = 1000;\nvar MINUTE = 1000 * 60;\nvar HOUR = 1000 * 60 * 60;\nvar DAY = 1000 * 60 * 60 * 24;\n\n// The maximum timer delay value is a 32-bit signed integer.\n// See: https://mdn.io/setTimeout\nvar MAX_TIMER_DELAY = 2147483647;\n\nfunction selectUnits(delta) {\n var absDelta = Math.abs(delta);\n\n if (absDelta < MINUTE) {\n return 'second';\n }\n\n if (absDelta < HOUR) {\n return 'minute';\n }\n\n if (absDelta < DAY) {\n return 'hour';\n }\n\n // The maximum scheduled delay will be measured in days since the maximum\n // timer delay is less than the number of milliseconds in 25 days.\n return 'day';\n}\n\nfunction getUnitDelay(units) {\n switch (units) {\n case 'second':\n return SECOND;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n case 'day':\n return DAY;\n default:\n return MAX_TIMER_DELAY;\n }\n}\n\nfunction isSameDate(a, b) {\n if (a === b) {\n return true;\n }\n\n var aTime = new Date(a).getTime();\n var bTime = new Date(b).getTime();\n\n return isFinite(aTime) && isFinite(bTime) && aTime === bTime;\n}\n\nvar FormattedRelative = function (_Component) {\n inherits(FormattedRelative, _Component);\n\n function FormattedRelative(props, context) {\n classCallCheck(this, FormattedRelative);\n\n var _this = possibleConstructorReturn(this, (FormattedRelative.__proto__ || Object.getPrototypeOf(FormattedRelative)).call(this, props, context));\n\n invariantIntlContext(context);\n\n var now = isFinite(props.initialNow) ? Number(props.initialNow) : context.intl.now();\n\n // `now` is stored as state so that `render()` remains a function of\n // props + state, instead of accessing `Date.now()` inside `render()`.\n _this.state = { now: now };\n return _this;\n }\n\n createClass(FormattedRelative, [{\n key: 'scheduleNextUpdate',\n value: function scheduleNextUpdate(props, state) {\n var _this2 = this;\n\n // Cancel and pending update because we're scheduling a new update.\n clearTimeout(this._timer);\n\n var value = props.value,\n units = props.units,\n updateInterval = props.updateInterval;\n\n var time = new Date(value).getTime();\n\n // If the `updateInterval` is falsy, including `0` or we don't have a\n // valid date, then auto updates have been turned off, so we bail and\n // skip scheduling an update.\n if (!updateInterval || !isFinite(time)) {\n return;\n }\n\n var delta = time - state.now;\n var unitDelay = getUnitDelay(units || selectUnits(delta));\n var unitRemainder = Math.abs(delta % unitDelay);\n\n // We want the largest possible timer delay which will still display\n // accurate information while reducing unnecessary re-renders. The delay\n // should be until the next \"interesting\" moment, like a tick from\n // \"1 minute ago\" to \"2 minutes ago\" when the delta is 120,000ms.\n var delay = delta < 0 ? Math.max(updateInterval, unitDelay - unitRemainder) : Math.max(updateInterval, unitRemainder);\n\n this._timer = setTimeout(function () {\n _this2.setState({ now: _this2.context.intl.now() });\n }, delay);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(_ref) {\n var nextValue = _ref.value;\n\n // When the `props.value` date changes, `state.now` needs to be updated,\n // and the next update can be rescheduled.\n if (!isSameDate(nextValue, this.props.value)) {\n this.setState({ now: this.context.intl.now() });\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n this.scheduleNextUpdate(nextProps, nextState);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this._timer);\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatRelative = _context$intl.formatRelative,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedRelative = formatRelative(value, _extends({}, this.props, this.state));\n\n if (typeof children === 'function') {\n return children(formattedRelative);\n }\n\n return React.createElement(Text, null, formattedRelative);\n }\n }]);\n return FormattedRelative;\n}(Component);\n\nFormattedRelative.displayName = 'FormattedRelative';\nFormattedRelative.contextTypes = {\n intl: intlShape\n};\nFormattedRelative.defaultProps = {\n updateInterval: 1000 * 10\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedNumber = function (_Component) {\n inherits(FormattedNumber, _Component);\n\n function FormattedNumber(props, context) {\n classCallCheck(this, FormattedNumber);\n\n var _this = possibleConstructorReturn(this, (FormattedNumber.__proto__ || Object.getPrototypeOf(FormattedNumber)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedNumber, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatNumber = _context$intl.formatNumber,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedNumber = formatNumber(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedNumber);\n }\n\n return React.createElement(Text, null, formattedNumber);\n }\n }]);\n return FormattedNumber;\n}(Component);\n\nFormattedNumber.displayName = 'FormattedNumber';\nFormattedNumber.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedPlural = function (_Component) {\n inherits(FormattedPlural, _Component);\n\n function FormattedPlural(props, context) {\n classCallCheck(this, FormattedPlural);\n\n var _this = possibleConstructorReturn(this, (FormattedPlural.__proto__ || Object.getPrototypeOf(FormattedPlural)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedPlural, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatPlural = _context$intl.formatPlural,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n other = _props.other,\n children = _props.children;\n\n var pluralCategory = formatPlural(value, this.props);\n var formattedPlural = this.props[pluralCategory] || other;\n\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n\n return React.createElement(Text, null, formattedPlural);\n }\n }]);\n return FormattedPlural;\n}(Component);\n\nFormattedPlural.displayName = 'FormattedPlural';\nFormattedPlural.contextTypes = {\n intl: intlShape\n};\nFormattedPlural.defaultProps = {\n style: 'cardinal'\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedMessage = function (_Component) {\n inherits(FormattedMessage, _Component);\n\n function FormattedMessage(props, context) {\n classCallCheck(this, FormattedMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedMessage.__proto__ || Object.getPrototypeOf(FormattedMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatMessage = _context$intl.formatMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n values = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n var tokenDelimiter = void 0;\n var tokenizedValues = void 0;\n var elements = void 0;\n\n var hasValues = values && Object.keys(values).length > 0;\n if (hasValues) {\n // Creates a token with a random UID that should not be guessable or\n // conflict with other parts of the `message` string.\n var uid = Math.floor(Math.random() * 0x10000000000).toString(16);\n\n var generateToken = function () {\n var counter = 0;\n return function () {\n return 'ELEMENT-' + uid + '-' + (counter += 1);\n };\n }();\n\n // Splitting with a delimiter to support IE8. When using a regex\n // with a capture group IE8 does not include the capture group in\n // the resulting array.\n tokenDelimiter = '@__' + uid + '__@';\n tokenizedValues = {};\n elements = {};\n\n // Iterates over the `props` to keep track of any React Element\n // values so they can be represented by the `token` as a placeholder\n // when the `message` is formatted. This allows the formatted\n // message to then be broken-up into parts with references to the\n // React Elements inserted back in.\n Object.keys(values).forEach(function (name) {\n var value = values[name];\n\n if (isValidElement(value)) {\n var token = generateToken();\n tokenizedValues[name] = tokenDelimiter + token + tokenDelimiter;\n elements[token] = value;\n } else {\n tokenizedValues[name] = value;\n }\n });\n }\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedMessage = formatMessage(descriptor, tokenizedValues || values);\n\n var nodes = void 0;\n\n var hasElements = elements && Object.keys(elements).length > 0;\n if (hasElements) {\n // Split the message into parts so the React Element values captured\n // above can be inserted back into the rendered message. This\n // approach allows messages to render with React Elements while\n // keeping React's virtual diffing working properly.\n nodes = formattedMessage.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(function (part) {\n return elements[part] || part;\n });\n } else {\n nodes = [formattedMessage];\n }\n\n if (typeof children === 'function') {\n return children.apply(undefined, toConsumableArray(nodes));\n }\n\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return createElement.apply(undefined, [Component$$1, null].concat(toConsumableArray(nodes)));\n }\n }]);\n return FormattedMessage;\n}(Component);\n\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.contextTypes = {\n intl: intlShape\n};\nFormattedMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedHTMLMessage = function (_Component) {\n inherits(FormattedHTMLMessage, _Component);\n\n function FormattedHTMLMessage(props, context) {\n classCallCheck(this, FormattedHTMLMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedHTMLMessage.__proto__ || Object.getPrototypeOf(FormattedHTMLMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedHTMLMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatHTMLMessage = _context$intl.formatHTMLMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n rawValues = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n var html = { __html: formattedHTMLMessage };\n return React.createElement(Component$$1, { dangerouslySetInnerHTML: html });\n }\n }]);\n return FormattedHTMLMessage;\n}(Component);\n\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.contextTypes = {\n intl: intlShape\n};\nFormattedHTMLMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(defaultLocaleData);\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(allLocaleData);\n\nexport { addLocaleData, intlShape, injectIntl, defineMessages, IntlProvider, FormattedDate, FormattedTime, FormattedRelative, FormattedNumber, FormattedPlural, FormattedMessage, FormattedHTMLMessage };" + }, + { + "id": 158, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "name": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "index": 347, + "index2": 754, + "size": 2869, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "issuerId": 460, + "issuerName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/status_list_container", + "loc": "11:0-76" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/status_list_container", + "loc": "11:0-76" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "12:0-73" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../ui/containers/status_list_container", + "loc": "11:0-73" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import _debounce from 'lodash/debounce';\nimport { connect } from 'react-redux';\nimport StatusList from '../../../components/status_list';\nimport { scrollTopTimeline } from '../../../actions/timelines';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\nimport { createSelector } from 'reselect';\n\nimport { me } from '../../../initial_state';\n\nvar makeGetStatusIds = function makeGetStatusIds() {\n return createSelector([function (state, _ref) {\n var type = _ref.type;\n return state.getIn(['settings', type], ImmutableMap());\n }, function (state, _ref2) {\n var type = _ref2.type;\n return state.getIn(['timelines', type, 'items'], ImmutableList());\n }, function (state) {\n return state.get('statuses');\n }], function (columnSettings, statusIds, statuses) {\n var rawRegex = columnSettings.getIn(['regex', 'body'], '').trim();\n var regex = null;\n\n try {\n regex = rawRegex && new RegExp(rawRegex, 'i');\n } catch (e) {\n // Bad regex, don't affect filters\n }\n\n return statusIds.filter(function (id) {\n var statusForId = statuses.get(id);\n var showStatus = true;\n\n if (columnSettings.getIn(['shows', 'reblog']) === false) {\n showStatus = showStatus && statusForId.get('reblog') === null;\n }\n\n if (columnSettings.getIn(['shows', 'reply']) === false) {\n showStatus = showStatus && (statusForId.get('in_reply_to_id') === null || statusForId.get('in_reply_to_account_id') === me);\n }\n\n if (showStatus && regex && statusForId.get('account') !== me) {\n var searchIndex = statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'search_index']) : statusForId.get('search_index');\n showStatus = !regex.test(searchIndex);\n }\n\n return showStatus;\n });\n });\n};\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatusIds = makeGetStatusIds();\n\n var mapStateToProps = function mapStateToProps(state, _ref3) {\n var timelineId = _ref3.timelineId;\n return {\n statusIds: getStatusIds(state, { type: timelineId }),\n isLoading: state.getIn(['timelines', timelineId, 'isLoading'], true),\n hasMore: !!state.getIn(['timelines', timelineId, 'next'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref4) {\n var timelineId = _ref4.timelineId,\n loadMore = _ref4.loadMore;\n return {\n\n onScrollToBottom: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, false));\n loadMore();\n }, 300, { leading: true }),\n\n onScrollToTop: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, true));\n }, 100),\n\n onScroll: _debounce(function () {\n dispatch(scrollTopTimeline(timelineId, false));\n }, 100)\n\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(StatusList);" + }, + { + "id": 260, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "name": "./app/javascript/mastodon/components/load_more.js", + "index": 671, + "index2": 661, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "./load_more", + "loc": "13:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "23:0-50" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/load_more", + "loc": "18:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nvar LoadMore = (_temp = _class = function (_React$PureComponent) {\n _inherits(LoadMore, _React$PureComponent);\n\n function LoadMore() {\n _classCallCheck(this, LoadMore);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n LoadMore.prototype.render = function render() {\n var visible = this.props.visible;\n\n\n return _jsx('button', {\n className: 'load-more',\n disabled: !visible,\n style: { visibility: visible ? 'visible' : 'hidden' },\n onClick: this.props.onClick\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.load_more',\n defaultMessage: 'Load more'\n }));\n };\n\n return LoadMore;\n}(React.PureComponent), _class.defaultProps = {\n visible: true\n}, _temp);\nexport { LoadMore as default };" + }, + { + "id": 261, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "name": "./app/javascript/mastodon/containers/status_container.js", + "index": 356, + "index2": 752, + "size": 4816, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 2, + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 13, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "../containers/status_container", + "loc": "13:0-61" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../containers/status_container", + "loc": "25:0-64" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "12:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../containers/status_container", + "loc": "11:0-67" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport { replyCompose, mentionCompose } from '../actions/compose';\nimport { reblog, favourite, unreblog, unfavourite, pin, unpin } from '../actions/interactions';\nimport { blockAccount, muteAccount } from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nvar messages = defineMessages({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = makeGetStatus();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(replyCompose(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(reblog(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(deleteStatus(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(mentionCompose(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(openModal('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(openModal('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(blockAccount(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(initReport(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(openModal('CONFIRM', {\n message: _jsx(FormattedMessage, {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: _jsx('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(muteAccount(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n }\n };\n};\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));" + }, + { + "id": 262, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "name": "./app/javascript/mastodon/components/scrollable_list.js", + "index": 662, + "index2": 664, + "size": 7448, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "issuerId": 269, + "issuerName": "./app/javascript/mastodon/components/status_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "./scrollable_list", + "loc": "15:0-47" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/scrollable_list", + "loc": "22:0-62" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _throttle from 'lodash/throttle';\n\nvar _class, _temp2;\n\nimport React, { PureComponent } from 'react';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport PropTypes from 'prop-types';\nimport IntersectionObserverArticleContainer from '../containers/intersection_observer_article_container';\nimport LoadMore from './load_more';\nimport IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';\n\nimport { List as ImmutableList } from 'immutable';\nimport classNames from 'classnames';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';\n\nvar ScrollableList = (_temp2 = _class = function (_PureComponent) {\n _inherits(ScrollableList, _PureComponent);\n\n function ScrollableList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollableList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _PureComponent.call.apply(_PureComponent, [this].concat(args))), _this), _this.state = {\n lastMouseMove: null\n }, _this.intersectionObserverWrapper = new IntersectionObserverWrapper(), _this.handleScroll = _throttle(function () {\n if (_this.node) {\n var _this$node = _this.node,\n scrollTop = _this$node.scrollTop,\n scrollHeight = _this$node.scrollHeight,\n clientHeight = _this$node.clientHeight;\n\n var offset = scrollHeight - scrollTop - clientHeight;\n _this._oldScrollPosition = scrollHeight - scrollTop;\n\n if (400 > offset && _this.props.onScrollToBottom && !_this.props.isLoading) {\n _this.props.onScrollToBottom();\n } else if (scrollTop < 100 && _this.props.onScrollToTop) {\n _this.props.onScrollToTop();\n } else if (_this.props.onScroll) {\n _this.props.onScroll();\n }\n }\n }, 150, {\n trailing: true\n }), _this.handleMouseMove = _throttle(function () {\n _this._lastMouseMove = new Date();\n }, 300), _this.handleMouseLeave = function () {\n _this._lastMouseMove = null;\n }, _this.onFullScreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.handleLoadMore = function (e) {\n e.preventDefault();\n _this.props.onScrollToBottom();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ScrollableList.prototype.componentDidMount = function componentDidMount() {\n this.attachScrollListener();\n this.attachIntersectionObserver();\n attachFullscreenListener(this.onFullScreenChange);\n\n // Handle initial scroll posiiton\n this.handleScroll();\n };\n\n ScrollableList.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var someItemInserted = React.Children.count(prevProps.children) > 0 && React.Children.count(prevProps.children) < React.Children.count(this.props.children) && this.getFirstChildKey(prevProps) !== this.getFirstChildKey(this.props);\n\n // Reset the scroll position when a new child comes in in order not to\n // jerk the scrollbar around if you're already scrolled down the page.\n if (someItemInserted && this._oldScrollPosition && this.node.scrollTop > 0) {\n var newScrollTop = this.node.scrollHeight - this._oldScrollPosition;\n\n if (this.node.scrollTop !== newScrollTop) {\n this.node.scrollTop = newScrollTop;\n }\n } else {\n this._oldScrollPosition = this.node.scrollHeight - this.node.scrollTop;\n }\n };\n\n ScrollableList.prototype.componentWillUnmount = function componentWillUnmount() {\n this.detachScrollListener();\n this.detachIntersectionObserver();\n detachFullscreenListener(this.onFullScreenChange);\n };\n\n ScrollableList.prototype.attachIntersectionObserver = function attachIntersectionObserver() {\n this.intersectionObserverWrapper.connect({\n root: this.node,\n rootMargin: '300% 0px'\n });\n };\n\n ScrollableList.prototype.detachIntersectionObserver = function detachIntersectionObserver() {\n this.intersectionObserverWrapper.disconnect();\n };\n\n ScrollableList.prototype.attachScrollListener = function attachScrollListener() {\n this.node.addEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.detachScrollListener = function detachScrollListener() {\n this.node.removeEventListener('scroll', this.handleScroll);\n };\n\n ScrollableList.prototype.getFirstChildKey = function getFirstChildKey(props) {\n var children = props.children;\n\n var firstChild = children;\n if (children instanceof ImmutableList) {\n firstChild = children.get(0);\n } else if (Array.isArray(children)) {\n firstChild = children[0];\n }\n return firstChild && firstChild.key;\n };\n\n ScrollableList.prototype._recentlyMoved = function _recentlyMoved() {\n return this._lastMouseMove !== null && new Date() - this._lastMouseMove < 600;\n };\n\n ScrollableList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n scrollKey = _props.scrollKey,\n trackScroll = _props.trackScroll,\n shouldUpdateScroll = _props.shouldUpdateScroll,\n isLoading = _props.isLoading,\n hasMore = _props.hasMore,\n prepend = _props.prepend,\n emptyMessage = _props.emptyMessage;\n var fullscreen = this.state.fullscreen;\n\n var childrenCount = React.Children.count(children);\n\n var loadMore = hasMore && childrenCount > 0 ? _jsx(LoadMore, {\n visible: !isLoading,\n onClick: this.handleLoadMore\n }) : null;\n var scrollableArea = null;\n\n if (isLoading || childrenCount > 0 || !emptyMessage) {\n scrollableArea = React.createElement(\n 'div',\n { className: classNames('scrollable', { fullscreen: fullscreen }), ref: this.setRef, onMouseMove: this.handleMouseMove, onMouseLeave: this.handleMouseLeave },\n _jsx('div', {\n role: 'feed',\n className: 'item-list'\n }, void 0, prepend, React.Children.map(this.props.children, function (child, index) {\n return _jsx(IntersectionObserverArticleContainer, {\n id: child.key,\n index: index,\n listLength: childrenCount,\n intersectionObserverWrapper: _this2.intersectionObserverWrapper,\n saveHeightKey: trackScroll ? _this2.context.router.route.location.key + ':' + scrollKey : null\n }, child.key, child);\n }), loadMore)\n );\n } else {\n scrollableArea = React.createElement(\n 'div',\n { className: 'empty-column-indicator', ref: this.setRef },\n emptyMessage\n );\n }\n\n if (trackScroll) {\n return _jsx(ScrollContainer, {\n scrollKey: scrollKey,\n shouldUpdateScroll: shouldUpdateScroll\n }, void 0, scrollableArea);\n } else {\n return scrollableArea;\n }\n };\n\n return ScrollableList;\n}(PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { ScrollableList as default };" + }, + { + "id": 263, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "name": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "index": 666, + "index2": 660, + "size": 641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../containers/intersection_observer_article_container", + "loc": "12:0-105" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { connect } from 'react-redux';\nimport IntersectionObserverArticle from '../components/intersection_observer_article';\nimport { setHeight } from '../actions/height_cache';\n\nvar makeMapStateToProps = function makeMapStateToProps(state, props) {\n return {\n cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onHeightChange: function onHeightChange(key, id, height) {\n dispatch(setHeight(key, id, height));\n }\n };\n};\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(IntersectionObserverArticle);" + }, + { + "id": 264, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "name": "./app/javascript/mastodon/components/intersection_observer_article.js", + "index": 667, + "index2": 659, + "size": 5582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "issuerId": 263, + "issuerName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "../components/intersection_observer_article", + "loc": "2:0-86" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport scheduleIdleTask from '../features/ui/util/schedule_idle_task';\nimport getRectFromEntry from '../features/ui/util/get_rect_from_entry';\nimport { is } from 'immutable';\n\n// Diff these props in the \"rendered\" state\nvar updateOnPropsForRendered = ['id', 'index', 'listLength'];\n// Diff these props in the \"unrendered\" state\nvar updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];\n\nvar IntersectionObserverArticle = function (_React$Component) {\n _inherits(IntersectionObserverArticle, _React$Component);\n\n function IntersectionObserverArticle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, IntersectionObserverArticle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n isHidden: false // set to true in requestIdleCallback to trigger un-render\n }, _this.handleIntersection = function (entry) {\n _this.entry = entry;\n\n scheduleIdleTask(_this.calculateHeight);\n _this.setState(_this.updateStateAfterIntersection);\n }, _this.updateStateAfterIntersection = function (prevState) {\n if (prevState.isIntersecting && !_this.entry.isIntersecting) {\n scheduleIdleTask(_this.hideIfNotIntersecting);\n }\n return {\n isIntersecting: _this.entry.isIntersecting,\n isHidden: false\n };\n }, _this.calculateHeight = function () {\n var _this$props = _this.props,\n onHeightChange = _this$props.onHeightChange,\n saveHeightKey = _this$props.saveHeightKey,\n id = _this$props.id;\n // save the height of the fully-rendered element (this is expensive\n // on Chrome, where we need to fall back to getBoundingClientRect)\n\n _this.height = getRectFromEntry(_this.entry).height;\n\n if (onHeightChange && saveHeightKey) {\n onHeightChange(saveHeightKey, id, _this.height);\n }\n }, _this.hideIfNotIntersecting = function () {\n if (!_this.componentMounted) {\n return;\n }\n\n // When the browser gets a chance, test if we're still not intersecting,\n // and if so, set our isHidden to true to trigger an unrender. The point of\n // this is to save DOM nodes and avoid using up too much memory.\n // See: https://github.com/tootsuite/mastodon/issues/2900\n _this.setState(function (prevState) {\n return { isHidden: !prevState.isIntersecting };\n });\n }, _this.handleRef = function (node) {\n _this.node = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n IntersectionObserverArticle.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n var _this2 = this;\n\n var isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);\n var willBeUnrendered = !nextState.isIntersecting && (nextState.isHidden || nextProps.cachedHeight);\n if (!!isUnrendered !== !!willBeUnrendered) {\n // If we're going from rendered to unrendered (or vice versa) then update\n return true;\n }\n // Otherwise, diff based on props\n var propsToDiff = isUnrendered ? updateOnPropsForUnrendered : updateOnPropsForRendered;\n return !propsToDiff.every(function (prop) {\n return is(nextProps[prop], _this2.props[prop]);\n });\n };\n\n IntersectionObserverArticle.prototype.componentDidMount = function componentDidMount() {\n var _props = this.props,\n intersectionObserverWrapper = _props.intersectionObserverWrapper,\n id = _props.id;\n\n\n intersectionObserverWrapper.observe(id, this.node, this.handleIntersection);\n\n this.componentMounted = true;\n };\n\n IntersectionObserverArticle.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n intersectionObserverWrapper = _props2.intersectionObserverWrapper,\n id = _props2.id;\n\n intersectionObserverWrapper.unobserve(id, this.node);\n\n this.componentMounted = false;\n };\n\n IntersectionObserverArticle.prototype.render = function render() {\n var _props3 = this.props,\n children = _props3.children,\n id = _props3.id,\n index = _props3.index,\n listLength = _props3.listLength,\n cachedHeight = _props3.cachedHeight;\n var _state = this.state,\n isIntersecting = _state.isIntersecting,\n isHidden = _state.isHidden;\n\n\n if (!isIntersecting && (isHidden || cachedHeight)) {\n return React.createElement(\n 'article',\n {\n ref: this.handleRef,\n 'aria-posinset': index,\n 'aria-setsize': listLength,\n style: { height: (this.height || cachedHeight) + 'px', opacity: 0, overflow: 'hidden' },\n 'data-id': id,\n tabIndex: '0'\n },\n children && React.cloneElement(children, { hidden: true })\n );\n }\n\n return React.createElement(\n 'article',\n { ref: this.handleRef, 'aria-posinset': index, 'aria-setsize': listLength, 'data-id': id, tabIndex: '0' },\n children && React.cloneElement(children, { hidden: false })\n );\n };\n\n return IntersectionObserverArticle;\n}(React.Component);\n\nexport { IntersectionObserverArticle as default };" + }, + { + "id": 265, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "name": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "index": 668, + "index2": 657, + "size": 753, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/schedule_idle_task", + "loc": "6:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "// Wrapper to call requestIdleCallback() to schedule low-priority work.\n// See https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API\n// for a good breakdown of the concepts behind this.\n\nimport Queue from 'tiny-queue';\n\nvar taskQueue = new Queue();\nvar runningRequestIdleCallback = false;\n\nfunction runTasks(deadline) {\n while (taskQueue.length && deadline.timeRemaining() > 0) {\n taskQueue.shift()();\n }\n if (taskQueue.length) {\n requestIdleCallback(runTasks);\n } else {\n runningRequestIdleCallback = false;\n }\n}\n\nfunction scheduleIdleTask(task) {\n taskQueue.push(task);\n if (!runningRequestIdleCallback) {\n runningRequestIdleCallback = true;\n requestIdleCallback(runTasks);\n }\n}\n\nexport default scheduleIdleTask;" + }, + { + "id": 266, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/tiny-queue/index.js", + "name": "./node_modules/tiny-queue/index.js", + "index": 669, + "index2": 656, + "size": 941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "issuerId": 265, + "issuerName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 265, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "module": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/schedule_idle_task.js", + "type": "harmony import", + "userRequest": "tiny-queue", + "loc": "5:0-31" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\n// Simple FIFO queue implementation to avoid having to do shift()\n// on an array, which is slow.\n\nfunction Queue() {\n this.length = 0;\n}\n\nQueue.prototype.push = function (item) {\n var node = { item: item };\n if (this.last) {\n this.last = this.last.next = node;\n } else {\n this.last = this.first = node;\n }\n this.length++;\n};\n\nQueue.prototype.shift = function () {\n var node = this.first;\n if (node) {\n this.first = node.next;\n if (! --this.length) {\n this.last = undefined;\n }\n return node.item;\n }\n};\n\nQueue.prototype.slice = function (start, end) {\n start = typeof start === 'undefined' ? 0 : start;\n end = typeof end === 'undefined' ? Infinity : end;\n\n var output = [];\n\n var i = 0;\n for (var node = this.first; node; node = node.next) {\n if (--end < 0) {\n break;\n } else if (++i > start) {\n output.push(node.item);\n }\n }\n return output;\n};\n\nmodule.exports = Queue;" + }, + { + "id": 267, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "name": "./app/javascript/mastodon/features/ui/util/get_rect_from_entry.js", + "index": 670, + "index2": 658, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "issuerId": 264, + "issuerName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "../features/ui/util/get_rect_from_entry", + "loc": "7:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "\n// Get the bounding client rect from an IntersectionObserver entry.\n// This is to work around a bug in Chrome: https://crbug.com/737228\n\nvar hasBoundingRectBug = void 0;\n\nfunction getRectFromEntry(entry) {\n if (typeof hasBoundingRectBug !== 'boolean') {\n var boundingRect = entry.target.getBoundingClientRect();\n var observerRect = entry.boundingClientRect;\n hasBoundingRectBug = boundingRect.height !== observerRect.height || boundingRect.top !== observerRect.top || boundingRect.width !== observerRect.width || boundingRect.bottom !== observerRect.bottom || boundingRect.left !== observerRect.left || boundingRect.right !== observerRect.right;\n }\n return hasBoundingRectBug ? entry.target.getBoundingClientRect() : entry.boundingClientRect;\n}\n\nexport default getRectFromEntry;" + }, + { + "id": 268, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "name": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "index": 672, + "index2": 662, + "size": 2097, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 8, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "issuerId": 262, + "issuerName": "./app/javascript/mastodon/components/scrollable_list.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../features/ui/util/intersection_observer_wrapper", + "loc": "14:0-92" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\n\n// Wrapper for IntersectionObserver in order to make working with it\n// a bit easier. We also follow this performance advice:\n// \"If you need to observe multiple elements, it is both possible and\n// advised to observe multiple elements using the same IntersectionObserver\n// instance by calling observe() multiple times.\"\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n\nvar IntersectionObserverWrapper = function () {\n function IntersectionObserverWrapper() {\n _classCallCheck(this, IntersectionObserverWrapper);\n\n this.callbacks = {};\n this.observerBacklog = [];\n this.observer = null;\n }\n\n IntersectionObserverWrapper.prototype.connect = function connect(options) {\n var _this = this;\n\n var onIntersection = function onIntersection(entries) {\n entries.forEach(function (entry) {\n var id = entry.target.getAttribute('data-id');\n if (_this.callbacks[id]) {\n _this.callbacks[id](entry);\n }\n });\n };\n\n this.observer = new IntersectionObserver(onIntersection, options);\n this.observerBacklog.forEach(function (_ref) {\n var id = _ref[0],\n node = _ref[1],\n callback = _ref[2];\n\n _this.observe(id, node, callback);\n });\n this.observerBacklog = null;\n };\n\n IntersectionObserverWrapper.prototype.observe = function observe(id, node, callback) {\n if (!this.observer) {\n this.observerBacklog.push([id, node, callback]);\n } else {\n this.callbacks[id] = callback;\n this.observer.observe(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.unobserve = function unobserve(id, node) {\n if (this.observer) {\n delete this.callbacks[id];\n this.observer.unobserve(node);\n }\n };\n\n IntersectionObserverWrapper.prototype.disconnect = function disconnect() {\n if (this.observer) {\n this.callbacks = {};\n this.observer.disconnect();\n this.observer = null;\n }\n };\n\n return IntersectionObserverWrapper;\n}();\n\nexport default IntersectionObserverWrapper;" + }, + { + "id": 269, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "name": "./app/javascript/mastodon/components/status_list.js", + "index": 348, + "index2": 753, + "size": 3062, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 4, + 5, + 6, + 9, + 10, + 11, + 12, + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "issuerId": 158, + "issuerName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "../../../components/status_list", + "loc": "3:0-57" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "15:0-54" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "14:0-54" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/status_list", + "loc": "16:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport StatusContainer from '../containers/status_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ScrollableList from './scrollable_list';\n\nvar StatusList = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(StatusList, _ImmutablePureCompone);\n\n function StatusList() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StatusList);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleMoveUp = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) - 1;\n _this._selectChild(elementIndex);\n }, _this.handleMoveDown = function (id) {\n var elementIndex = _this.props.statusIds.indexOf(id) + 1;\n _this._selectChild(elementIndex);\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StatusList.prototype._selectChild = function _selectChild(index) {\n var element = this.node.node.querySelector('article:nth-of-type(' + (index + 1) + ') .focusable');\n\n if (element) {\n element.focus();\n }\n };\n\n StatusList.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n statusIds = _props.statusIds,\n other = _objectWithoutProperties(_props, ['statusIds']);\n\n var isLoading = other.isLoading;\n\n\n var scrollableContent = isLoading || statusIds.size > 0 ? statusIds.map(function (statusId) {\n return _jsx(StatusContainer, {\n id: statusId,\n onMoveUp: _this2.handleMoveUp,\n onMoveDown: _this2.handleMoveDown\n }, statusId);\n }) : null;\n\n return React.createElement(\n ScrollableList,\n _extends({}, other, { ref: this.setRef }),\n scrollableContent\n );\n };\n\n return StatusList;\n}(ImmutablePureComponent), _class.propTypes = {\n scrollKey: PropTypes.string.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n onScrollToBottom: PropTypes.func,\n onScrollToTop: PropTypes.func,\n onScroll: PropTypes.func,\n trackScroll: PropTypes.bool,\n shouldUpdateScroll: PropTypes.func,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n prepend: PropTypes.node,\n emptyMessage: PropTypes.node\n}, _class.defaultProps = {\n trackScroll: true\n}, _temp2);\nexport { StatusList as default };" + }, + { + "id": 319, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/about.js", + "name": "./app/javascript/packs/about.js", + "index": 0, + "index2": 759, + "size": 688, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 29 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "import loadPolyfills from '../mastodon/load_polyfills';\n\nrequire.context('../images/', true);\n\nfunction loaded() {\n var TimelineContainer = require('../mastodon/containers/timeline_container').default;\n var React = require('react');\n var ReactDOM = require('react-dom');\n var mountNode = document.getElementById('mastodon-timeline');\n\n if (mountNode !== null) {\n var props = JSON.parse(mountNode.getAttribute('data-props'));\n ReactDOM.render(React.createElement(TimelineContainer, props), mountNode);\n }\n}\n\nfunction main() {\n var ready = require('../mastodon/ready').default;\n ready(loaded);\n}\n\nloadPolyfills().then(main).catch(function (error) {\n console.error(error);\n});" + }, + { + "id": 320, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "name": "./app/javascript/mastodon/containers/timeline_container.js", + "index": 76, + "index2": 757, + "size": 1836, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/about.js", + "issuerId": 319, + "issuerName": "./app/javascript/packs/about.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 319, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/about.js", + "module": "./app/javascript/packs/about.js", + "moduleName": "./app/javascript/packs/about.js", + "type": "cjs require", + "userRequest": "../mastodon/containers/timeline_container", + "loc": "6:26-78" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 1, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport { Provider } from 'react-redux';\n\nimport configureStore from '../store/configureStore';\nimport { hydrateStore } from '../actions/store';\nimport { IntlProvider, addLocaleData } from 'react-intl';\nimport { getLocale } from '../locales';\nimport PublicTimeline from '../features/standalone/public_timeline';\nimport HashtagTimeline from '../features/standalone/hashtag_timeline';\nimport initialState from '../initial_state';\n\nvar _getLocale = getLocale(),\n localeData = _getLocale.localeData,\n messages = _getLocale.messages;\n\naddLocaleData(localeData);\n\nvar store = configureStore();\n\nif (initialState) {\n store.dispatch(hydrateStore(initialState));\n}\n\nvar TimelineContainer = function (_React$PureComponent) {\n _inherits(TimelineContainer, _React$PureComponent);\n\n function TimelineContainer() {\n _classCallCheck(this, TimelineContainer);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n TimelineContainer.prototype.render = function render() {\n var _props = this.props,\n locale = _props.locale,\n hashtag = _props.hashtag;\n\n\n var timeline = void 0;\n\n if (hashtag) {\n timeline = _jsx(HashtagTimeline, {\n hashtag: hashtag\n });\n } else {\n timeline = _jsx(PublicTimeline, {});\n }\n\n return _jsx(IntlProvider, {\n locale: locale,\n messages: messages\n }, void 0, _jsx(Provider, {\n store: store\n }, void 0, timeline));\n };\n\n return TimelineContainer;\n}(React.PureComponent);\n\nexport { TimelineContainer as default };" + }, + { + "id": 460, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "name": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "index": 346, + "index2": 755, + "size": 2750, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "issuerId": 320, + "issuerName": "./app/javascript/mastodon/containers/timeline_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "../features/standalone/public_timeline", + "loc": "12:0-68" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport StatusListContainer from '../../ui/containers/status_list_container';\nimport { refreshPublicTimeline, expandPublicTimeline } from '../../../actions/timelines';\nimport Column from '../../../components/column';\nimport ColumnHeader from '../../../components/column_header';\nimport { defineMessages, injectIntl } from 'react-intl';\n\nvar messages = defineMessages({\n title: {\n 'id': 'standalone.public_title',\n 'defaultMessage': 'A look inside...'\n }\n});\n\nvar PublicTimeline = (_dec = connect(), _dec(_class = injectIntl(_class = function (_React$PureComponent) {\n _inherits(PublicTimeline, _React$PureComponent);\n\n function PublicTimeline() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, PublicTimeline);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n _this.column.scrollTop();\n }, _this.setRef = function (c) {\n _this.column = c;\n }, _this.handleLoadMore = function () {\n _this.props.dispatch(expandPublicTimeline());\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n PublicTimeline.prototype.componentDidMount = function componentDidMount() {\n var dispatch = this.props.dispatch;\n\n\n dispatch(refreshPublicTimeline());\n\n this.polling = setInterval(function () {\n dispatch(refreshPublicTimeline());\n }, 3000);\n };\n\n PublicTimeline.prototype.componentWillUnmount = function componentWillUnmount() {\n if (typeof this.polling !== 'undefined') {\n clearInterval(this.polling);\n this.polling = null;\n }\n };\n\n PublicTimeline.prototype.render = function render() {\n var intl = this.props.intl;\n\n\n return React.createElement(\n Column,\n { ref: this.setRef },\n _jsx(ColumnHeader, {\n icon: 'globe',\n title: intl.formatMessage(messages.title),\n onClick: this.handleHeaderClick\n }),\n _jsx(StatusListContainer, {\n timelineId: 'public',\n loadMore: this.handleLoadMore,\n scrollKey: 'standalone_public_timeline',\n trackScroll: false\n })\n );\n };\n\n return PublicTimeline;\n}(React.PureComponent)) || _class) || _class);\nexport { PublicTimeline as default };" + }, + { + "id": 621, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "name": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "index": 758, + "index2": 756, + "size": 2633, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 29 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "issuerId": 320, + "issuerName": "./app/javascript/mastodon/containers/timeline_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "../features/standalone/hashtag_timeline", + "loc": "13:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _dec, _class;\n\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport StatusListContainer from '../../ui/containers/status_list_container';\nimport { refreshHashtagTimeline, expandHashtagTimeline } from '../../../actions/timelines';\nimport Column from '../../../components/column';\nimport ColumnHeader from '../../../components/column_header';\n\nvar HashtagTimeline = (_dec = connect(), _dec(_class = function (_React$PureComponent) {\n _inherits(HashtagTimeline, _React$PureComponent);\n\n function HashtagTimeline() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, HashtagTimeline);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n _this.column.scrollTop();\n }, _this.setRef = function (c) {\n _this.column = c;\n }, _this.handleLoadMore = function () {\n _this.props.dispatch(expandHashtagTimeline(_this.props.hashtag));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n HashtagTimeline.prototype.componentDidMount = function componentDidMount() {\n var _props = this.props,\n dispatch = _props.dispatch,\n hashtag = _props.hashtag;\n\n\n dispatch(refreshHashtagTimeline(hashtag));\n\n this.polling = setInterval(function () {\n dispatch(refreshHashtagTimeline(hashtag));\n }, 10000);\n };\n\n HashtagTimeline.prototype.componentWillUnmount = function componentWillUnmount() {\n if (typeof this.polling !== 'undefined') {\n clearInterval(this.polling);\n this.polling = null;\n }\n };\n\n HashtagTimeline.prototype.render = function render() {\n var hashtag = this.props.hashtag;\n\n\n return React.createElement(\n Column,\n { ref: this.setRef },\n _jsx(ColumnHeader, {\n icon: 'hashtag',\n title: hashtag,\n onClick: this.handleHeaderClick\n }),\n _jsx(StatusListContainer, {\n trackScroll: false,\n scrollKey: 'standalone_hashtag_timeline',\n timelineId: 'hashtag:' + hashtag,\n loadMore: this.handleLoadMore\n })\n );\n };\n\n return HashtagTimeline;\n}(React.PureComponent)) || _class);\nexport { HashtagTimeline as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 319, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/about.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/about.js", + "moduleName": "./app/javascript/packs/about.js", + "loc": "", + "name": "about", + "reasons": [] + } + ] + }, + { + "id": 30, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 88327, + "names": [ + "public" + ], + "files": [ + "public-88b87539fc95f07f2721.js", + "public-88b87539fc95f07f2721.js.map" + ], + "hash": "88b87539fc95f07f2721", + "parents": [ + 65 + ], + "modules": [ + { + "id": 6, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "name": "./node_modules/react-intl/lib/index.es.js", + "index": 301, + "index2": 306, + "size": 49880, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 27, + 28, + 29, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "issuerId": 653, + "issuerName": "./app/javascript/mastodon/containers/video_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 45, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "module": "./app/javascript/mastodon/actions/notifications.js", + "moduleName": "./app/javascript/mastodon/actions/notifications.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "5:0-44" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-46" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 131, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/relative_timestamp.js", + "module": "./app/javascript/mastodon/components/relative_timestamp.js", + "moduleName": "./app/javascript/mastodon/components/relative_timestamp.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-56" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "20:0-46" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-74" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-57" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-58" + }, + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-56" + }, + { + "moduleId": 260, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "module": "./app/javascript/mastodon/components/load_more.js", + "moduleName": "./app/javascript/mastodon/components/load_more.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-74" + }, + { + "moduleId": 271, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/loading_indicator.js", + "module": "./app/javascript/mastodon/components/loading_indicator.js", + "moduleName": "./app/javascript/mastodon/components/loading_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "3:0-46" + }, + { + "moduleId": 272, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "module": "./app/javascript/mastodon/components/column_back_button_slim.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button_slim.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-56" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "14:0-56" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-56" + }, + { + "moduleId": 298, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "4:0-56" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-56" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-56" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "6:0-46" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-57" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "29:0-56" + }, + { + "moduleId": 633, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-56" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 641, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-58" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-40" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "8:0-57" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-57" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-57" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-74" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-74" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-46" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "27:0-56" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-74" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "16:0-56" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "21:0-46" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-56" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "18:0-56" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-74" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-58" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "4:0-74" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + }, + { + "moduleId": 779, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "module": "./app/javascript/mastodon/components/column_back_button.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "9:0-46" + }, + { + "moduleId": 780, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "module": "./app/javascript/mastodon/components/missing_indicator.js", + "moduleName": "./app/javascript/mastodon/components/missing_indicator.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "3:0-46" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "11:0-74" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "12:0-91" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "14:0-46" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-46" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-46" + }, + { + "moduleId": 885, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "2:0-56" + }, + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-46" + }, + { + "moduleId": 887, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "module": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "7:0-46" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "10:0-74" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "17:0-60" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "13:0-56" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "react-intl", + "loc": "15:0-56" + } + ], + "usedExports": [ + "FormattedDate", + "FormattedMessage", + "FormattedNumber", + "IntlProvider", + "addLocaleData", + "defineMessages", + "injectIntl" + ], + "providedExports": [ + "addLocaleData", + "intlShape", + "injectIntl", + "defineMessages", + "IntlProvider", + "FormattedDate", + "FormattedTime", + "FormattedRelative", + "FormattedNumber", + "FormattedPlural", + "FormattedMessage", + "FormattedHTMLMessage" + ], + "optimizationBailout": [], + "depth": 2, + "source": "/*\n * Copyright 2017, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nimport allLocaleData from '../locale-data/index.js';\nimport IntlMessageFormat from 'intl-messageformat';\nimport IntlRelativeFormat from 'intl-relativeformat';\nimport PropTypes from 'prop-types';\nimport React, { Children, Component, createElement, isValidElement } from 'react';\nimport invariant from 'invariant';\nimport memoizeIntlConstructor from 'intl-format-cache';\n\n// GENERATED FILE\nvar defaultLocaleData = { \"locale\": \"en\", \"pluralRuleFunction\": function pluralRuleFunction(n, ord) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";return n == 1 && v0 ? \"one\" : \"other\";\n }, \"fields\": { \"year\": { \"displayName\": \"year\", \"relative\": { \"0\": \"this year\", \"1\": \"next year\", \"-1\": \"last year\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} year\", \"other\": \"in {0} years\" }, \"past\": { \"one\": \"{0} year ago\", \"other\": \"{0} years ago\" } } }, \"month\": { \"displayName\": \"month\", \"relative\": { \"0\": \"this month\", \"1\": \"next month\", \"-1\": \"last month\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} month\", \"other\": \"in {0} months\" }, \"past\": { \"one\": \"{0} month ago\", \"other\": \"{0} months ago\" } } }, \"day\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"hour\": { \"displayName\": \"hour\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hour\", \"other\": \"in {0} hours\" }, \"past\": { \"one\": \"{0} hour ago\", \"other\": \"{0} hours ago\" } } }, \"minute\": { \"displayName\": \"minute\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} minute\", \"other\": \"in {0} minutes\" }, \"past\": { \"one\": \"{0} minute ago\", \"other\": \"{0} minutes ago\" } } }, \"second\": { \"displayName\": \"second\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} second\", \"other\": \"in {0} seconds\" }, \"past\": { \"one\": \"{0} second ago\", \"other\": \"{0} seconds ago\" } } } } };\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction addLocaleData() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var locales = Array.isArray(data) ? data : [data];\n\n locales.forEach(function (localeData) {\n if (localeData && localeData.locale) {\n IntlMessageFormat.__addLocaleData(localeData);\n IntlRelativeFormat.__addLocaleData(localeData);\n }\n });\n}\n\nfunction hasLocaleData(locale) {\n var localeParts = (locale || '').split('-');\n\n while (localeParts.length > 0) {\n if (hasIMFAndIRFLocaleData(localeParts.join('-'))) {\n return true;\n }\n\n localeParts.pop();\n }\n\n return false;\n}\n\nfunction hasIMFAndIRFLocaleData(locale) {\n var normalizedLocale = locale && locale.toLowerCase();\n\n return !!(IntlMessageFormat.__localeData__[normalizedLocale] && IntlRelativeFormat.__localeData__[normalizedLocale]);\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function 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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar bool = PropTypes.bool;\nvar number = PropTypes.number;\nvar string = PropTypes.string;\nvar func = PropTypes.func;\nvar object = PropTypes.object;\nvar oneOf = PropTypes.oneOf;\nvar shape = PropTypes.shape;\nvar any = PropTypes.any;\nvar oneOfType = PropTypes.oneOfType;\n\nvar localeMatcher = oneOf(['best fit', 'lookup']);\nvar narrowShortLong = oneOf(['narrow', 'short', 'long']);\nvar numeric2digit = oneOf(['numeric', '2-digit']);\nvar funcReq = func.isRequired;\n\nvar intlConfigPropTypes = {\n locale: string,\n formats: object,\n messages: object,\n textComponent: any,\n\n defaultLocale: string,\n defaultFormats: object\n};\n\nvar intlFormatPropTypes = {\n formatDate: funcReq,\n formatTime: funcReq,\n formatRelative: funcReq,\n formatNumber: funcReq,\n formatPlural: funcReq,\n formatMessage: funcReq,\n formatHTMLMessage: funcReq\n};\n\nvar intlShape = shape(_extends({}, intlConfigPropTypes, intlFormatPropTypes, {\n formatters: object,\n now: funcReq\n}));\n\nvar messageDescriptorPropTypes = {\n id: string.isRequired,\n description: oneOfType([string, object]),\n defaultMessage: string\n};\n\nvar dateTimeFormatPropTypes = {\n localeMatcher: localeMatcher,\n formatMatcher: oneOf(['basic', 'best fit']),\n\n timeZone: string,\n hour12: bool,\n\n weekday: narrowShortLong,\n era: narrowShortLong,\n year: numeric2digit,\n month: oneOf(['numeric', '2-digit', 'narrow', 'short', 'long']),\n day: numeric2digit,\n hour: numeric2digit,\n minute: numeric2digit,\n second: numeric2digit,\n timeZoneName: oneOf(['short', 'long'])\n};\n\nvar numberFormatPropTypes = {\n localeMatcher: localeMatcher,\n\n style: oneOf(['decimal', 'currency', 'percent']),\n currency: string,\n currencyDisplay: oneOf(['symbol', 'code', 'name']),\n useGrouping: bool,\n\n minimumIntegerDigits: number,\n minimumFractionDigits: number,\n maximumFractionDigits: number,\n minimumSignificantDigits: number,\n maximumSignificantDigits: number\n};\n\nvar relativeFormatPropTypes = {\n style: oneOf(['best fit', 'numeric']),\n units: oneOf(['second', 'minute', 'hour', 'day', 'month', 'year'])\n};\n\nvar pluralFormatPropTypes = {\n style: oneOf(['cardinal', 'ordinal'])\n};\n\n/*\nHTML escaping and shallow-equals implementations are the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\n\nvar intlConfigPropNames = Object.keys(intlConfigPropTypes);\n\nvar ESCAPED_CHARS = {\n '&': '&',\n '>': '>',\n '<': '<',\n '\"': '"',\n \"'\": '''\n};\n\nvar UNSAFE_CHARS_REGEX = /[&><\"']/g;\n\nfunction escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) {\n return ESCAPED_CHARS[match];\n });\n}\n\nfunction filterProps(props, whitelist) {\n var defaults$$1 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return whitelist.reduce(function (filtered, name) {\n if (props.hasOwnProperty(name)) {\n filtered[name] = props[name];\n } else if (defaults$$1.hasOwnProperty(name)) {\n filtered[name] = defaults$$1[name];\n }\n\n return filtered;\n }, {});\n}\n\nfunction invariantIntlContext() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n intl = _ref.intl;\n\n invariant(intl, '[React Intl] Could not find required `intl` object. ' + ' needs to exist in the component ancestry.');\n}\n\nfunction shallowEquals(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n for (var i = 0; i < keysA.length; i++) {\n if (!bHasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shouldIntlComponentUpdate(_ref2, nextProps, nextState) {\n var props = _ref2.props,\n state = _ref2.state,\n _ref2$context = _ref2.context,\n context = _ref2$context === undefined ? {} : _ref2$context;\n var nextContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _context$intl = context.intl,\n intl = _context$intl === undefined ? {} : _context$intl;\n var _nextContext$intl = nextContext.intl,\n nextIntl = _nextContext$intl === undefined ? {} : _nextContext$intl;\n\n return !shallowEquals(nextProps, props) || !shallowEquals(nextState, state) || !(nextIntl === intl || shallowEquals(filterProps(nextIntl, intlConfigPropNames), filterProps(intl, intlConfigPropNames)));\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// Inspired by react-redux's `connect()` HOC factory function implementation:\n// https://github.com/rackt/react-redux\n\nfunction getDisplayName(Component$$1) {\n return Component$$1.displayName || Component$$1.name || 'Component';\n}\n\nfunction injectIntl(WrappedComponent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$intlPropName = options.intlPropName,\n intlPropName = _options$intlPropName === undefined ? 'intl' : _options$intlPropName,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var InjectIntl = function (_Component) {\n inherits(InjectIntl, _Component);\n\n function InjectIntl(props, context) {\n classCallCheck(this, InjectIntl);\n\n var _this = possibleConstructorReturn(this, (InjectIntl.__proto__ || Object.getPrototypeOf(InjectIntl)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(InjectIntl, [{\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n invariant(withRef, '[React Intl] To access the wrapped instance, ' + 'the `{withRef: true}` option must be set when calling: ' + '`injectIntl()`');\n\n return this.refs.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(WrappedComponent, _extends({}, this.props, defineProperty({}, intlPropName, this.context.intl), {\n ref: withRef ? 'wrappedInstance' : null\n }));\n }\n }]);\n return InjectIntl;\n }(Component);\n\n InjectIntl.displayName = 'InjectIntl(' + getDisplayName(WrappedComponent) + ')';\n InjectIntl.contextTypes = {\n intl: intlShape\n };\n InjectIntl.WrappedComponent = WrappedComponent;\n\n return InjectIntl;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction defineMessages(messageDescriptors) {\n // This simply returns what's passed-in because it's meant to be a hook for\n // babel-plugin-react-intl.\n return messageDescriptors;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// This is a \"hack\" until a proper `intl-pluralformat` package is created.\n\nfunction resolveLocale(locales) {\n // IntlMessageFormat#_resolveLocale() does not depend on `this`.\n return IntlMessageFormat.prototype._resolveLocale(locales);\n}\n\nfunction findPluralFunction(locale) {\n // IntlMessageFormat#_findPluralFunction() does not depend on `this`.\n return IntlMessageFormat.prototype._findPluralRuleFunction(locale);\n}\n\nvar IntlPluralFormat = function IntlPluralFormat(locales) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlPluralFormat);\n\n var useOrdinal = options.style === 'ordinal';\n var pluralFn = findPluralFunction(resolveLocale(locales));\n\n this.format = function (value) {\n return pluralFn(value, useOrdinal);\n };\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar DATE_TIME_FORMAT_OPTIONS = Object.keys(dateTimeFormatPropTypes);\nvar NUMBER_FORMAT_OPTIONS = Object.keys(numberFormatPropTypes);\nvar RELATIVE_FORMAT_OPTIONS = Object.keys(relativeFormatPropTypes);\nvar PLURAL_FORMAT_OPTIONS = Object.keys(pluralFormatPropTypes);\n\nvar RELATIVE_FORMAT_THRESHOLDS = {\n second: 60, // seconds to minute\n minute: 60, // minutes to hour\n hour: 24, // hours to day\n day: 30, // days to month\n month: 12 // months to year\n};\n\nfunction updateRelativeFormatThresholds(newThresholds) {\n var thresholds = IntlRelativeFormat.thresholds;\n thresholds.second = newThresholds.second;\n thresholds.minute = newThresholds.minute;\n thresholds.hour = newThresholds.hour;\n thresholds.day = newThresholds.day;\n thresholds.month = newThresholds.month;\n}\n\nfunction getNamedFormat(formats, type, name) {\n var format = formats && formats[type] && formats[type][name];\n if (format) {\n return format;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] No ' + type + ' format named: ' + name);\n }\n}\n\nfunction formatDate(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'date', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting date.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatTime(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'time', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n if (!filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = _extends({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting time.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatRelative(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var now = new Date(options.now);\n var defaults$$1 = format && getNamedFormat(formats, 'relative', format);\n var filteredOptions = filterProps(options, RELATIVE_FORMAT_OPTIONS, defaults$$1);\n\n // Capture the current threshold values, then temporarily override them with\n // specific values just for this render.\n var oldThresholds = _extends({}, IntlRelativeFormat.thresholds);\n updateRelativeFormatThresholds(RELATIVE_FORMAT_THRESHOLDS);\n\n try {\n return state.getRelativeFormat(locale, filteredOptions).format(date, {\n now: isFinite(now) ? now : state.now()\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting relative time.\\n' + e);\n }\n } finally {\n updateRelativeFormatThresholds(oldThresholds);\n }\n\n return String(date);\n}\n\nfunction formatNumber(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var defaults$$1 = format && getNamedFormat(formats, 'number', format);\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getNumberFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting number.\\n' + e);\n }\n }\n\n return String(value);\n}\n\nfunction formatPlural(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale;\n\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n\n try {\n return state.getPluralFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting plural.\\n' + e);\n }\n }\n\n return 'other';\n}\n\nfunction formatMessage(config, state) {\n var messageDescriptor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var values = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n messages = config.messages,\n defaultLocale = config.defaultLocale,\n defaultFormats = config.defaultFormats;\n var id = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage;\n\n // `id` is a required field of a Message Descriptor.\n\n invariant(id, '[React Intl] An `id` must be provided to format a message.');\n\n var message = messages && messages[id];\n var hasValues = Object.keys(values).length > 0;\n\n // Avoid expensive message formatting for simple messages without values. In\n // development messages will always be formatted in case of missing values.\n if (!hasValues && process.env.NODE_ENV === 'production') {\n return message || defaultMessage || id;\n }\n\n var formattedMessage = void 0;\n\n if (message) {\n try {\n var formatter = state.getMessageFormat(message, locale, formats);\n\n formattedMessage = formatter.format(values);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : '') + ('\\n' + e));\n }\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale, and a default message is in the source.\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n console.error('[React Intl] Missing message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : ''));\n }\n }\n }\n\n if (!formattedMessage && defaultMessage) {\n try {\n var _formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n\n formattedMessage = _formatter.format(values);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting the default message for: \"' + id + '\"' + ('\\n' + e));\n }\n }\n }\n\n if (!formattedMessage) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Cannot format message: \"' + id + '\", ' + ('using message ' + (message || defaultMessage ? 'source' : 'id') + ' as fallback.'));\n }\n }\n\n return formattedMessage || message || defaultMessage || id;\n}\n\nfunction formatHTMLMessage(config, state, messageDescriptor) {\n var rawValues = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) {\n var value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n\nvar format = Object.freeze({\n formatDate: formatDate,\n formatTime: formatTime,\n formatRelative: formatRelative,\n formatNumber: formatNumber,\n formatPlural: formatPlural,\n formatMessage: formatMessage,\n formatHTMLMessage: formatHTMLMessage\n});\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar intlConfigPropNames$1 = Object.keys(intlConfigPropTypes);\nvar intlFormatPropNames = Object.keys(intlFormatPropTypes);\n\n// These are not a static property on the `IntlProvider` class so the intl\n// config values can be inherited from an ancestor.\nvar defaultProps = {\n formats: {},\n messages: {},\n textComponent: 'span',\n\n defaultLocale: 'en',\n defaultFormats: {}\n};\n\nvar IntlProvider = function (_Component) {\n inherits(IntlProvider, _Component);\n\n function IntlProvider(props) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlProvider);\n\n var _this = possibleConstructorReturn(this, (IntlProvider.__proto__ || Object.getPrototypeOf(IntlProvider)).call(this, props, context));\n\n invariant(typeof Intl !== 'undefined', '[React Intl] The `Intl` APIs must be available in the runtime, ' + 'and do not appear to be built-in. An `Intl` polyfill should be loaded.\\n' + 'See: http://formatjs.io/guides/runtime-environments/');\n\n var intlContext = context.intl;\n\n // Used to stabilize time when performing an initial rendering so that\n // all relative times use the same reference \"now\" time.\n\n var initialNow = void 0;\n if (isFinite(props.initialNow)) {\n initialNow = Number(props.initialNow);\n } else {\n // When an `initialNow` isn't provided via `props`, look to see an\n // exists in the ancestry and call its `now()`\n // function to propagate its value for \"now\".\n initialNow = intlContext ? intlContext.now() : Date.now();\n }\n\n // Creating `Intl*` formatters is expensive. If there's a parent\n // ``, then its formatters will be used. Otherwise, this\n // memoize the `Intl*` constructors and cache them for the lifecycle of\n // this IntlProvider instance.\n\n var _ref = intlContext || {},\n _ref$formatters = _ref.formatters,\n formatters = _ref$formatters === undefined ? {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat),\n getRelativeFormat: memoizeIntlConstructor(IntlRelativeFormat),\n getPluralFormat: memoizeIntlConstructor(IntlPluralFormat)\n } : _ref$formatters;\n\n _this.state = _extends({}, formatters, {\n\n // Wrapper to provide stable \"now\" time for initial render.\n now: function now() {\n return _this._didDisplay ? Date.now() : initialNow;\n }\n });\n return _this;\n }\n\n createClass(IntlProvider, [{\n key: 'getConfig',\n value: function getConfig() {\n var intlContext = this.context.intl;\n\n // Build a whitelisted config object from `props`, defaults, and\n // `context.intl`, if an exists in the ancestry.\n\n var config = filterProps(this.props, intlConfigPropNames$1, intlContext);\n\n // Apply default props. This must be applied last after the props have\n // been resolved and inherited from any in the ancestry.\n // This matches how React resolves `defaultProps`.\n for (var propName in defaultProps) {\n if (config[propName] === undefined) {\n config[propName] = defaultProps[propName];\n }\n }\n\n if (!hasLocaleData(config.locale)) {\n var _config = config,\n locale = _config.locale,\n defaultLocale = _config.defaultLocale,\n defaultFormats = _config.defaultFormats;\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Missing locale data for locale: \"' + locale + '\". ' + ('Using default locale: \"' + defaultLocale + '\" as fallback.'));\n }\n\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n config = _extends({}, config, {\n locale: defaultLocale,\n formats: defaultFormats,\n messages: defaultProps.messages\n });\n }\n\n return config;\n }\n }, {\n key: 'getBoundFormatFns',\n value: function getBoundFormatFns(config, state) {\n return intlFormatPropNames.reduce(function (boundFormatFns, name) {\n boundFormatFns[name] = format[name].bind(null, config, state);\n return boundFormatFns;\n }, {});\n }\n }, {\n key: 'getChildContext',\n value: function getChildContext() {\n var config = this.getConfig();\n\n // Bind intl factories and current config to the format functions.\n var boundFormatFns = this.getBoundFormatFns(config, this.state);\n\n var _state = this.state,\n now = _state.now,\n formatters = objectWithoutProperties(_state, ['now']);\n\n return {\n intl: _extends({}, config, boundFormatFns, {\n formatters: formatters,\n now: now\n })\n };\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._didDisplay = true;\n }\n }, {\n key: 'render',\n value: function render() {\n return Children.only(this.props.children);\n }\n }]);\n return IntlProvider;\n}(Component);\n\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.contextTypes = {\n intl: intlShape\n};\nIntlProvider.childContextTypes = {\n intl: intlShape.isRequired\n};\nprocess.env.NODE_ENV !== \"production\" ? IntlProvider.propTypes = _extends({}, intlConfigPropTypes, {\n children: PropTypes.element.isRequired,\n initialNow: PropTypes.any\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedDate = function (_Component) {\n inherits(FormattedDate, _Component);\n\n function FormattedDate(props, context) {\n classCallCheck(this, FormattedDate);\n\n var _this = possibleConstructorReturn(this, (FormattedDate.__proto__ || Object.getPrototypeOf(FormattedDate)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedDate, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatDate = _context$intl.formatDate,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedDate = formatDate(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedDate);\n }\n\n return React.createElement(Text, null, formattedDate);\n }\n }]);\n return FormattedDate;\n}(Component);\n\nFormattedDate.displayName = 'FormattedDate';\nFormattedDate.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedTime = function (_Component) {\n inherits(FormattedTime, _Component);\n\n function FormattedTime(props, context) {\n classCallCheck(this, FormattedTime);\n\n var _this = possibleConstructorReturn(this, (FormattedTime.__proto__ || Object.getPrototypeOf(FormattedTime)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedTime, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatTime = _context$intl.formatTime,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedTime = formatTime(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedTime);\n }\n\n return React.createElement(Text, null, formattedTime);\n }\n }]);\n return FormattedTime;\n}(Component);\n\nFormattedTime.displayName = 'FormattedTime';\nFormattedTime.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar SECOND = 1000;\nvar MINUTE = 1000 * 60;\nvar HOUR = 1000 * 60 * 60;\nvar DAY = 1000 * 60 * 60 * 24;\n\n// The maximum timer delay value is a 32-bit signed integer.\n// See: https://mdn.io/setTimeout\nvar MAX_TIMER_DELAY = 2147483647;\n\nfunction selectUnits(delta) {\n var absDelta = Math.abs(delta);\n\n if (absDelta < MINUTE) {\n return 'second';\n }\n\n if (absDelta < HOUR) {\n return 'minute';\n }\n\n if (absDelta < DAY) {\n return 'hour';\n }\n\n // The maximum scheduled delay will be measured in days since the maximum\n // timer delay is less than the number of milliseconds in 25 days.\n return 'day';\n}\n\nfunction getUnitDelay(units) {\n switch (units) {\n case 'second':\n return SECOND;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n case 'day':\n return DAY;\n default:\n return MAX_TIMER_DELAY;\n }\n}\n\nfunction isSameDate(a, b) {\n if (a === b) {\n return true;\n }\n\n var aTime = new Date(a).getTime();\n var bTime = new Date(b).getTime();\n\n return isFinite(aTime) && isFinite(bTime) && aTime === bTime;\n}\n\nvar FormattedRelative = function (_Component) {\n inherits(FormattedRelative, _Component);\n\n function FormattedRelative(props, context) {\n classCallCheck(this, FormattedRelative);\n\n var _this = possibleConstructorReturn(this, (FormattedRelative.__proto__ || Object.getPrototypeOf(FormattedRelative)).call(this, props, context));\n\n invariantIntlContext(context);\n\n var now = isFinite(props.initialNow) ? Number(props.initialNow) : context.intl.now();\n\n // `now` is stored as state so that `render()` remains a function of\n // props + state, instead of accessing `Date.now()` inside `render()`.\n _this.state = { now: now };\n return _this;\n }\n\n createClass(FormattedRelative, [{\n key: 'scheduleNextUpdate',\n value: function scheduleNextUpdate(props, state) {\n var _this2 = this;\n\n // Cancel and pending update because we're scheduling a new update.\n clearTimeout(this._timer);\n\n var value = props.value,\n units = props.units,\n updateInterval = props.updateInterval;\n\n var time = new Date(value).getTime();\n\n // If the `updateInterval` is falsy, including `0` or we don't have a\n // valid date, then auto updates have been turned off, so we bail and\n // skip scheduling an update.\n if (!updateInterval || !isFinite(time)) {\n return;\n }\n\n var delta = time - state.now;\n var unitDelay = getUnitDelay(units || selectUnits(delta));\n var unitRemainder = Math.abs(delta % unitDelay);\n\n // We want the largest possible timer delay which will still display\n // accurate information while reducing unnecessary re-renders. The delay\n // should be until the next \"interesting\" moment, like a tick from\n // \"1 minute ago\" to \"2 minutes ago\" when the delta is 120,000ms.\n var delay = delta < 0 ? Math.max(updateInterval, unitDelay - unitRemainder) : Math.max(updateInterval, unitRemainder);\n\n this._timer = setTimeout(function () {\n _this2.setState({ now: _this2.context.intl.now() });\n }, delay);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(_ref) {\n var nextValue = _ref.value;\n\n // When the `props.value` date changes, `state.now` needs to be updated,\n // and the next update can be rescheduled.\n if (!isSameDate(nextValue, this.props.value)) {\n this.setState({ now: this.context.intl.now() });\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n this.scheduleNextUpdate(nextProps, nextState);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this._timer);\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatRelative = _context$intl.formatRelative,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedRelative = formatRelative(value, _extends({}, this.props, this.state));\n\n if (typeof children === 'function') {\n return children(formattedRelative);\n }\n\n return React.createElement(Text, null, formattedRelative);\n }\n }]);\n return FormattedRelative;\n}(Component);\n\nFormattedRelative.displayName = 'FormattedRelative';\nFormattedRelative.contextTypes = {\n intl: intlShape\n};\nFormattedRelative.defaultProps = {\n updateInterval: 1000 * 10\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedNumber = function (_Component) {\n inherits(FormattedNumber, _Component);\n\n function FormattedNumber(props, context) {\n classCallCheck(this, FormattedNumber);\n\n var _this = possibleConstructorReturn(this, (FormattedNumber.__proto__ || Object.getPrototypeOf(FormattedNumber)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedNumber, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatNumber = _context$intl.formatNumber,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedNumber = formatNumber(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedNumber);\n }\n\n return React.createElement(Text, null, formattedNumber);\n }\n }]);\n return FormattedNumber;\n}(Component);\n\nFormattedNumber.displayName = 'FormattedNumber';\nFormattedNumber.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedPlural = function (_Component) {\n inherits(FormattedPlural, _Component);\n\n function FormattedPlural(props, context) {\n classCallCheck(this, FormattedPlural);\n\n var _this = possibleConstructorReturn(this, (FormattedPlural.__proto__ || Object.getPrototypeOf(FormattedPlural)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedPlural, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatPlural = _context$intl.formatPlural,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n other = _props.other,\n children = _props.children;\n\n var pluralCategory = formatPlural(value, this.props);\n var formattedPlural = this.props[pluralCategory] || other;\n\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n\n return React.createElement(Text, null, formattedPlural);\n }\n }]);\n return FormattedPlural;\n}(Component);\n\nFormattedPlural.displayName = 'FormattedPlural';\nFormattedPlural.contextTypes = {\n intl: intlShape\n};\nFormattedPlural.defaultProps = {\n style: 'cardinal'\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedMessage = function (_Component) {\n inherits(FormattedMessage, _Component);\n\n function FormattedMessage(props, context) {\n classCallCheck(this, FormattedMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedMessage.__proto__ || Object.getPrototypeOf(FormattedMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatMessage = _context$intl.formatMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n values = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n var tokenDelimiter = void 0;\n var tokenizedValues = void 0;\n var elements = void 0;\n\n var hasValues = values && Object.keys(values).length > 0;\n if (hasValues) {\n // Creates a token with a random UID that should not be guessable or\n // conflict with other parts of the `message` string.\n var uid = Math.floor(Math.random() * 0x10000000000).toString(16);\n\n var generateToken = function () {\n var counter = 0;\n return function () {\n return 'ELEMENT-' + uid + '-' + (counter += 1);\n };\n }();\n\n // Splitting with a delimiter to support IE8. When using a regex\n // with a capture group IE8 does not include the capture group in\n // the resulting array.\n tokenDelimiter = '@__' + uid + '__@';\n tokenizedValues = {};\n elements = {};\n\n // Iterates over the `props` to keep track of any React Element\n // values so they can be represented by the `token` as a placeholder\n // when the `message` is formatted. This allows the formatted\n // message to then be broken-up into parts with references to the\n // React Elements inserted back in.\n Object.keys(values).forEach(function (name) {\n var value = values[name];\n\n if (isValidElement(value)) {\n var token = generateToken();\n tokenizedValues[name] = tokenDelimiter + token + tokenDelimiter;\n elements[token] = value;\n } else {\n tokenizedValues[name] = value;\n }\n });\n }\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedMessage = formatMessage(descriptor, tokenizedValues || values);\n\n var nodes = void 0;\n\n var hasElements = elements && Object.keys(elements).length > 0;\n if (hasElements) {\n // Split the message into parts so the React Element values captured\n // above can be inserted back into the rendered message. This\n // approach allows messages to render with React Elements while\n // keeping React's virtual diffing working properly.\n nodes = formattedMessage.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(function (part) {\n return elements[part] || part;\n });\n } else {\n nodes = [formattedMessage];\n }\n\n if (typeof children === 'function') {\n return children.apply(undefined, toConsumableArray(nodes));\n }\n\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return createElement.apply(undefined, [Component$$1, null].concat(toConsumableArray(nodes)));\n }\n }]);\n return FormattedMessage;\n}(Component);\n\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.contextTypes = {\n intl: intlShape\n};\nFormattedMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedHTMLMessage = function (_Component) {\n inherits(FormattedHTMLMessage, _Component);\n\n function FormattedHTMLMessage(props, context) {\n classCallCheck(this, FormattedHTMLMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedHTMLMessage.__proto__ || Object.getPrototypeOf(FormattedHTMLMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedHTMLMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatHTMLMessage = _context$intl.formatHTMLMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n rawValues = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n var html = { __html: formattedHTMLMessage };\n return React.createElement(Component$$1, { dangerouslySetInnerHTML: html });\n }\n }]);\n return FormattedHTMLMessage;\n}(Component);\n\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.contextTypes = {\n intl: intlShape\n};\nFormattedHTMLMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(defaultLocaleData);\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(allLocaleData);\n\nexport { addLocaleData, intlShape, injectIntl, defineMessages, IntlProvider, FormattedDate, FormattedTime, FormattedRelative, FormattedNumber, FormattedPlural, FormattedMessage, FormattedHTMLMessage };" + }, + { + "id": 159, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "name": "./app/javascript/mastodon/components/media_gallery.js", + "index": 703, + "index2": 693, + "size": 9703, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13, + 26, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "issuerId": 654, + "issuerName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../../components/media_gallery", + "loc": "94:9-99" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "../components/media_gallery", + "loc": "11:0-55" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "../../../components/media_gallery", + "loc": "14:0-61" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2, _class2, _class3, _temp4;\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { is } from 'immutable';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { isIOS } from '../is_mobile';\nimport classNames from 'classnames';\nimport { autoPlayGif } from '../initial_state';\n\nvar messages = defineMessages({\n toggle_visible: {\n 'id': 'media_gallery.toggle_visible',\n 'defaultMessage': 'Toggle visibility'\n }\n});\n\nvar Item = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(Item, _React$PureComponent);\n\n function Item() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Item);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleMouseEnter = function (e) {\n if (_this.hoverToPlay()) {\n e.target.play();\n }\n }, _this.handleMouseLeave = function (e) {\n if (_this.hoverToPlay()) {\n e.target.pause();\n e.target.currentTime = 0;\n }\n }, _this.handleClick = function (e) {\n var _this$props = _this.props,\n index = _this$props.index,\n onClick = _this$props.onClick;\n\n\n if (_this.context.router && e.button === 0) {\n e.preventDefault();\n onClick(index);\n }\n\n e.stopPropagation();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Item.prototype.hoverToPlay = function hoverToPlay() {\n var attachment = this.props.attachment;\n\n return !autoPlayGif && attachment.get('type') === 'gifv';\n };\n\n Item.prototype.render = function render() {\n var _props = this.props,\n attachment = _props.attachment,\n index = _props.index,\n size = _props.size,\n standalone = _props.standalone;\n\n\n var width = 50;\n var height = 100;\n var top = 'auto';\n var left = 'auto';\n var bottom = 'auto';\n var right = 'auto';\n\n if (size === 1) {\n width = 100;\n }\n\n if (size === 4 || size === 3 && index > 0) {\n height = 50;\n }\n\n if (size === 2) {\n if (index === 0) {\n right = '2px';\n } else {\n left = '2px';\n }\n } else if (size === 3) {\n if (index === 0) {\n right = '2px';\n } else if (index > 0) {\n left = '2px';\n }\n\n if (index === 1) {\n bottom = '2px';\n } else if (index > 1) {\n top = '2px';\n }\n } else if (size === 4) {\n if (index === 0 || index === 2) {\n right = '2px';\n }\n\n if (index === 1 || index === 3) {\n left = '2px';\n }\n\n if (index < 2) {\n bottom = '2px';\n } else {\n top = '2px';\n }\n }\n\n var thumbnail = '';\n\n if (attachment.get('type') === 'image') {\n var previewUrl = attachment.get('preview_url');\n var previewWidth = attachment.getIn(['meta', 'small', 'width']);\n\n var originalUrl = attachment.get('url');\n var originalWidth = attachment.getIn(['meta', 'original', 'width']);\n\n var hasSize = typeof originalWidth === 'number' && typeof previewWidth === 'number';\n\n var srcSet = hasSize ? originalUrl + ' ' + originalWidth + 'w, ' + previewUrl + ' ' + previewWidth + 'w' : null;\n var sizes = hasSize ? '(min-width: 1025px) ' + 320 * (width / 100) + 'px, ' + width + 'vw' : null;\n\n thumbnail = _jsx('a', {\n className: 'media-gallery__item-thumbnail',\n href: attachment.get('remote_url') || originalUrl,\n onClick: this.handleClick,\n target: '_blank'\n }, void 0, _jsx('img', {\n src: previewUrl,\n srcSet: srcSet,\n sizes: sizes,\n alt: attachment.get('description'),\n title: attachment.get('description')\n }));\n } else if (attachment.get('type') === 'gifv') {\n var autoPlay = !isIOS() && autoPlayGif;\n\n thumbnail = _jsx('div', {\n className: classNames('media-gallery__gifv', { autoplay: autoPlay })\n }, void 0, _jsx('video', {\n className: 'media-gallery__item-gifv-thumbnail',\n 'aria-label': attachment.get('description'),\n role: 'application',\n src: attachment.get('url'),\n onClick: this.handleClick,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n autoPlay: autoPlay,\n loop: true,\n muted: true\n }), _jsx('span', {\n className: 'media-gallery__gifv__label'\n }, void 0, 'GIF'));\n }\n\n return _jsx('div', {\n className: classNames('media-gallery__item', { standalone: standalone }),\n style: { left: left, top: top, right: right, bottom: bottom, width: width + '%', height: height + '%' }\n }, attachment.get('id'), thumbnail);\n };\n\n return Item;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n standalone: false,\n index: 0,\n size: 1\n}, _temp2);\n\nvar MediaGallery = injectIntl(_class2 = (_temp4 = _class3 = function (_React$PureComponent2) {\n _inherits(MediaGallery, _React$PureComponent2);\n\n function MediaGallery() {\n var _temp3, _this2, _ret2;\n\n _classCallCheck(this, MediaGallery);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp3 = (_this2 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n visible: !_this2.props.sensitive\n }, _this2.handleOpen = function () {\n _this2.setState({ visible: !_this2.state.visible });\n }, _this2.handleClick = function (index) {\n _this2.props.onOpenMedia(_this2.props.media, index);\n }, _this2.handleRef = function (node) {\n if (node && _this2.isStandaloneEligible()) {\n // offsetWidth triggers a layout, so only calculate when we need to\n _this2.setState({\n width: node.offsetWidth\n });\n }\n }, _temp3), _possibleConstructorReturn(_this2, _ret2);\n }\n\n MediaGallery.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!is(nextProps.media, this.props.media)) {\n this.setState({ visible: !nextProps.sensitive });\n }\n };\n\n MediaGallery.prototype.isStandaloneEligible = function isStandaloneEligible() {\n var _props2 = this.props,\n media = _props2.media,\n standalone = _props2.standalone;\n\n return standalone && media.size === 1 && media.getIn([0, 'meta', 'small', 'aspect']);\n };\n\n MediaGallery.prototype.render = function render() {\n var _this3 = this;\n\n var _props3 = this.props,\n media = _props3.media,\n intl = _props3.intl,\n sensitive = _props3.sensitive,\n height = _props3.height;\n var _state = this.state,\n width = _state.width,\n visible = _state.visible;\n\n\n var children = void 0;\n\n var style = {};\n\n if (this.isStandaloneEligible()) {\n if (!visible && width) {\n // only need to forcibly set the height in \"sensitive\" mode\n style.height = width / this.props.media.getIn([0, 'meta', 'small', 'aspect']);\n } else {\n // layout automatically, using image's natural aspect ratio\n style.height = '';\n }\n } else {\n // crop the image\n style.height = height;\n }\n\n if (!visible) {\n var warning = void 0;\n\n if (sensitive) {\n warning = _jsx(FormattedMessage, {\n id: 'status.sensitive_warning',\n defaultMessage: 'Sensitive content'\n });\n } else {\n warning = _jsx(FormattedMessage, {\n id: 'status.media_hidden',\n defaultMessage: 'Media hidden'\n });\n }\n\n children = React.createElement(\n 'button',\n { className: 'media-spoiler', onClick: this.handleOpen, style: style, ref: this.handleRef },\n _jsx('span', {\n className: 'media-spoiler__warning'\n }, void 0, warning),\n _jsx('span', {\n className: 'media-spoiler__trigger'\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.sensitive_toggle',\n defaultMessage: 'Click to view'\n }))\n );\n } else {\n var size = media.take(4).size;\n\n if (this.isStandaloneEligible()) {\n children = _jsx(Item, {\n standalone: true,\n onClick: this.handleClick,\n attachment: media.get(0)\n });\n } else {\n children = media.take(4).map(function (attachment, i) {\n return _jsx(Item, {\n onClick: _this3.handleClick,\n attachment: attachment,\n index: i,\n size: size\n }, attachment.get('id'));\n });\n }\n }\n\n return _jsx('div', {\n className: 'media-gallery',\n style: style\n }, void 0, _jsx('div', {\n className: classNames('spoiler-button', { 'spoiler-button--visible': visible })\n }, void 0, _jsx(IconButton, {\n title: intl.formatMessage(messages.toggle_visible),\n icon: visible ? 'eye' : 'eye-slash',\n overlay: true,\n onClick: this.handleOpen\n })), children);\n };\n\n return MediaGallery;\n}(React.PureComponent), _class3.defaultProps = {\n standalone: false\n}, _temp4)) || _class2;\n\nexport { MediaGallery as default };" + }, + { + "id": 316, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "name": "./app/javascript/mastodon/features/status/components/card.js", + "index": 706, + "index2": 696, + "size": 4186, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "issuerId": 655, + "issuerName": "./app/javascript/mastodon/containers/card_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 655, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "module": "./app/javascript/mastodon/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/containers/card_container.js", + "type": "harmony import", + "userRequest": "../features/status/components/card", + "loc": "8:0-54" + }, + { + "moduleId": 894, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/containers/card_container.js", + "module": "./app/javascript/mastodon/features/status/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/features/status/containers/card_container.js", + "type": "harmony import", + "userRequest": "../components/card", + "loc": "2:0-38" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\n\nimport punycode from 'punycode';\nimport classnames from 'classnames';\n\nvar IDNA_PREFIX = 'xn--';\n\nvar decodeIDNA = function decodeIDNA(domain) {\n return domain.split('.').map(function (part) {\n return part.indexOf(IDNA_PREFIX) === 0 ? punycode.decode(part.slice(IDNA_PREFIX.length)) : part;\n }).join('.');\n};\n\nvar getHostname = function getHostname(url) {\n var parser = document.createElement('a');\n parser.href = url;\n return parser.hostname;\n};\n\nvar Card = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(Card, _React$PureComponent);\n\n function Card() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Card);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n width: 0\n }, _this.setRef = function (c) {\n if (c) {\n _this.setState({ width: c.offsetWidth });\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Card.prototype.renderLink = function renderLink() {\n var _props = this.props,\n card = _props.card,\n maxDescription = _props.maxDescription;\n\n\n var image = '';\n var provider = card.get('provider_name');\n\n if (card.get('image')) {\n image = _jsx('div', {\n className: 'status-card__image'\n }, void 0, _jsx('img', {\n src: card.get('image'),\n alt: card.get('title'),\n className: 'status-card__image-image',\n width: card.get('width'),\n height: card.get('height')\n }));\n }\n\n if (provider.length < 1) {\n provider = decodeIDNA(getHostname(card.get('url')));\n }\n\n var className = classnames('status-card', {\n 'horizontal': card.get('width') > card.get('height')\n });\n\n return _jsx('a', {\n href: card.get('url'),\n className: className,\n target: '_blank',\n rel: 'noopener'\n }, void 0, image, _jsx('div', {\n className: 'status-card__content'\n }, void 0, _jsx('strong', {\n className: 'status-card__title',\n title: card.get('title')\n }, void 0, card.get('title')), _jsx('p', {\n className: 'status-card__description'\n }, void 0, (card.get('description') || '').substring(0, maxDescription)), _jsx('span', {\n className: 'status-card__host'\n }, void 0, provider)));\n };\n\n Card.prototype.renderPhoto = function renderPhoto() {\n var card = this.props.card;\n\n\n return _jsx('a', {\n href: card.get('url'),\n className: 'status-card-photo',\n target: '_blank',\n rel: 'noopener'\n }, void 0, _jsx('img', {\n src: card.get('url'),\n alt: card.get('title'),\n width: card.get('width'),\n height: card.get('height')\n }));\n };\n\n Card.prototype.renderVideo = function renderVideo() {\n var card = this.props.card;\n\n var content = { __html: card.get('html') };\n var width = this.state.width;\n\n var ratio = card.get('width') / card.get('height');\n var height = card.get('width') > card.get('height') ? width / ratio : width * ratio;\n\n return React.createElement('div', {\n ref: this.setRef,\n className: 'status-card-video',\n dangerouslySetInnerHTML: content,\n style: { height: height }\n });\n };\n\n Card.prototype.render = function render() {\n var card = this.props.card;\n\n\n if (card === null) {\n return null;\n }\n\n switch (card.get('type')) {\n case 'link':\n return this.renderLink();\n case 'photo':\n return this.renderPhoto();\n case 'video':\n return this.renderVideo();\n case 'rich':\n default:\n return null;\n }\n };\n\n return Card;\n}(React.PureComponent), _class.defaultProps = {\n maxDescription: 50\n}, _temp2);\nexport { Card as default };" + }, + { + "id": 317, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "name": "./node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "index": 707, + "index2": 695, + "size": 14658, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 13, + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "issuerId": 316, + "issuerName": "./app/javascript/mastodon/features/status/components/card.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 316, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "module": "./app/javascript/mastodon/features/status/components/card.js", + "moduleName": "./app/javascript/mastodon/features/status/components/card.js", + "type": "harmony import", + "userRequest": "punycode", + "loc": "10:0-32" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function (root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module && !module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n * The `punycode` object.\n * @name punycode\n * @type Object\n */\n\tvar punycode,\n\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647,\n\t // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\t tMin = 1,\n\t tMax = 26,\n\t skew = 38,\n\t damp = 700,\n\t initialBias = 72,\n\t initialN = 128,\n\t // 0x80\n\tdelimiter = '-',\n\t // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\t regexNonASCII = /[^\\x20-\\x7E]/,\n\t // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g,\n\t // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\t floor = Math.floor,\n\t stringFromCharCode = String.fromCharCode,\n\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t\t// low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function (value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\n\t\t/** Cached calculation results */\n\t\tbaseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\n\t\t/** `inputLength` will hold the number of code points in `input`. */\n\t\tinputLength,\n\n\t\t/** Cached calculation results */\n\t\thandledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t\t});\n\t}\n\n\t/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n * A string representing the current Punycode.js version number.\n * @memberOf punycode\n * @type String\n */\n\t\t'version': '1.4.1',\n\t\t/**\n * An object of methods to convert from JavaScript's internal character\n * representation (UCS-2) to Unicode code points, and back.\n * @see \n * @memberOf punycode\n * @type Object\n */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n\t\tdefine('punycode', function () {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n})(this);" + }, + { + "id": 652, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "name": "./app/javascript/packs/public.js", + "index": 810, + "index2": 813, + "size": 5550, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 30 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport loadPolyfills from '../mastodon/load_polyfills';\nimport ready from '../mastodon/ready';\n\nwindow.addEventListener('message', function (e) {\n var data = e.data || {};\n\n if (!window.parent || data.type !== 'setHeight') {\n return;\n }\n\n ready(function () {\n window.parent.postMessage({\n type: 'setHeight',\n id: data.id,\n height: document.getElementsByTagName('html')[0].scrollHeight\n }, '*');\n });\n});\n\nfunction main() {\n var _require = require('stringz'),\n length = _require.length;\n\n var IntlRelativeFormat = require('intl-relativeformat').default;\n\n var _require2 = require('rails-ujs'),\n delegate = _require2.delegate;\n\n var emojify = require('../mastodon/features/emoji/emoji').default;\n\n var _require3 = require('../mastodon/locales'),\n getLocale = _require3.getLocale;\n\n var _getLocale = getLocale(),\n localeData = _getLocale.localeData;\n\n var VideoContainer = require('../mastodon/containers/video_container').default;\n var MediaGalleryContainer = require('../mastodon/containers/media_gallery_container').default;\n var CardContainer = require('../mastodon/containers/card_container').default;\n var React = require('react');\n var ReactDOM = require('react-dom');\n\n localeData.forEach(IntlRelativeFormat.__addLocaleData);\n\n ready(function () {\n var locale = document.documentElement.lang;\n\n var dateTimeFormat = new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric'\n });\n\n var relativeFormat = new IntlRelativeFormat(locale);\n\n [].forEach.call(document.querySelectorAll('.emojify'), function (content) {\n content.innerHTML = emojify(content.innerHTML);\n });\n\n [].forEach.call(document.querySelectorAll('time.formatted'), function (content) {\n var datetime = new Date(content.getAttribute('datetime'));\n var formattedDate = dateTimeFormat.format(datetime);\n\n content.title = formattedDate;\n content.textContent = formattedDate;\n });\n\n [].forEach.call(document.querySelectorAll('time.time-ago'), function (content) {\n var datetime = new Date(content.getAttribute('datetime'));\n\n content.title = dateTimeFormat.format(datetime);\n content.textContent = relativeFormat.format(datetime);\n });\n\n [].forEach.call(document.querySelectorAll('.logo-button'), function (content) {\n content.addEventListener('click', function (e) {\n e.preventDefault();\n window.open(e.target.href, 'mastodon-intent', 'width=400,height=400,resizable=no,menubar=no,status=no,scrollbars=yes');\n });\n });\n\n [].forEach.call(document.querySelectorAll('[data-component=\"Video\"]'), function (content) {\n var props = JSON.parse(content.getAttribute('data-props'));\n ReactDOM.render(React.createElement(VideoContainer, _extends({ locale: locale }, props)), content);\n });\n\n [].forEach.call(document.querySelectorAll('[data-component=\"MediaGallery\"]'), function (content) {\n var props = JSON.parse(content.getAttribute('data-props'));\n ReactDOM.render(React.createElement(MediaGalleryContainer, _extends({ locale: locale }, props)), content);\n });\n\n [].forEach.call(document.querySelectorAll('[data-component=\"Card\"]'), function (content) {\n var props = JSON.parse(content.getAttribute('data-props'));\n ReactDOM.render(React.createElement(CardContainer, _extends({ locale: locale }, props)), content);\n });\n });\n\n delegate(document, '.webapp-btn', 'click', function (_ref) {\n var target = _ref.target,\n button = _ref.button;\n\n if (button !== 0) {\n return true;\n }\n window.location.href = target.href;\n return false;\n });\n\n delegate(document, '.status__content__spoiler-link', 'click', function (_ref2) {\n var target = _ref2.target;\n\n var contentEl = target.parentNode.parentNode.querySelector('.e-content');\n\n if (contentEl.style.display === 'block') {\n contentEl.style.display = 'none';\n target.parentNode.style.marginBottom = 0;\n } else {\n contentEl.style.display = 'block';\n target.parentNode.style.marginBottom = null;\n }\n\n return false;\n });\n\n delegate(document, '.account_display_name', 'input', function (_ref3) {\n var target = _ref3.target;\n\n var nameCounter = document.querySelector('.name-counter');\n\n if (nameCounter) {\n nameCounter.textContent = 30 - length(target.value);\n }\n });\n\n delegate(document, '.account_note', 'input', function (_ref4) {\n var target = _ref4.target;\n\n var noteCounter = document.querySelector('.note-counter');\n\n if (noteCounter) {\n noteCounter.textContent = 160 - length(target.value);\n }\n });\n\n delegate(document, '#account_avatar', 'change', function (_ref5) {\n var target = _ref5.target;\n\n var avatar = document.querySelector('.card.compact .avatar img');\n\n var _ref6 = target.files || [],\n file = _ref6[0];\n\n var url = file ? URL.createObjectURL(file) : avatar.dataset.originalSrc;\n\n avatar.src = url;\n });\n\n delegate(document, '#account_header', 'change', function (_ref7) {\n var target = _ref7.target;\n\n var header = document.querySelector('.card.compact');\n\n var _ref8 = target.files || [],\n file = _ref8[0];\n\n var url = file ? URL.createObjectURL(file) : header.dataset.originalSrc;\n\n header.style.backgroundImage = 'url(' + url + ')';\n });\n}\n\nloadPolyfills().then(main).catch(function (error) {\n console.error(error);\n});" + }, + { + "id": 653, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "name": "./app/javascript/mastodon/containers/video_container.js", + "index": 811, + "index2": 810, + "size": 1326, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "issuerId": 652, + "issuerName": "./app/javascript/packs/public.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "cjs require", + "userRequest": "../mastodon/containers/video_container", + "loc": "38:23-72" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 1, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport { IntlProvider, addLocaleData } from 'react-intl';\nimport { getLocale } from '../locales';\nimport Video from '../features/video';\n\nvar _getLocale = getLocale(),\n localeData = _getLocale.localeData,\n messages = _getLocale.messages;\n\naddLocaleData(localeData);\n\nvar VideoContainer = function (_React$PureComponent) {\n _inherits(VideoContainer, _React$PureComponent);\n\n function VideoContainer() {\n _classCallCheck(this, VideoContainer);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n VideoContainer.prototype.render = function render() {\n var _props = this.props,\n locale = _props.locale,\n props = _objectWithoutProperties(_props, ['locale']);\n\n return _jsx(IntlProvider, {\n locale: locale,\n messages: messages\n }, void 0, React.createElement(Video, props));\n };\n\n return VideoContainer;\n}(React.PureComponent);\n\nexport { VideoContainer as default };" + }, + { + "id": 654, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "name": "./app/javascript/mastodon/containers/media_gallery_container.js", + "index": 812, + "index2": 811, + "size": 1935, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "issuerId": 652, + "issuerName": "./app/javascript/packs/public.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "cjs require", + "userRequest": "../mastodon/containers/media_gallery_container", + "loc": "39:30-87" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 1, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport { IntlProvider, addLocaleData } from 'react-intl';\nimport { getLocale } from '../locales';\nimport MediaGallery from '../components/media_gallery';\nimport { fromJS } from 'immutable';\n\nvar _getLocale = getLocale(),\n localeData = _getLocale.localeData,\n messages = _getLocale.messages;\n\naddLocaleData(localeData);\n\nvar MediaGalleryContainer = function (_React$PureComponent) {\n _inherits(MediaGalleryContainer, _React$PureComponent);\n\n function MediaGalleryContainer() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, MediaGalleryContainer);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleOpenMedia = function () {}, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n MediaGalleryContainer.prototype.render = function render() {\n var _props = this.props,\n locale = _props.locale,\n media = _props.media,\n props = _objectWithoutProperties(_props, ['locale', 'media']);\n\n return _jsx(IntlProvider, {\n locale: locale,\n messages: messages\n }, void 0, React.createElement(MediaGallery, _extends({}, props, {\n media: fromJS(media),\n onOpenMedia: this.handleOpenMedia\n })));\n };\n\n return MediaGalleryContainer;\n}(React.PureComponent);\n\nexport { MediaGalleryContainer as default };" + }, + { + "id": 655, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "name": "./app/javascript/mastodon/containers/card_container.js", + "index": 813, + "index2": 812, + "size": 1089, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 30 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "issuerId": 652, + "issuerName": "./app/javascript/packs/public.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "cjs require", + "userRequest": "../mastodon/containers/card_container", + "loc": "40:22-70" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 1, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport Card from '../features/status/components/card';\nimport { fromJS } from 'immutable';\n\nvar CardContainer = function (_React$PureComponent) {\n _inherits(CardContainer, _React$PureComponent);\n\n function CardContainer() {\n _classCallCheck(this, CardContainer);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n CardContainer.prototype.render = function render() {\n var _props = this.props,\n card = _props.card,\n props = _objectWithoutProperties(_props, ['card']);\n\n return React.createElement(Card, _extends({ card: fromJS(card) }, props));\n };\n\n return CardContainer;\n}(React.PureComponent);\n\nexport { CardContainer as default };" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 652, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "loc": "", + "name": "public", + "reasons": [] + } + ] + }, + { + "id": 31, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 14249, + "names": [ + "locale_zh-TW" + ], + "files": [ + "locale_zh-TW-2ce95af6015c1c812a17.js", + "locale_zh-TW-2ce95af6015c1c812a17.js.map" + ], + "hash": "2ce95af6015c1c812a17", + "parents": [ + 65 + ], + "modules": [ + { + "id": 68, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/zh.js", + "name": "./node_modules/react-intl/locale-data/zh.js", + "index": 904, + "index2": 903, + "size": 5925, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 31, + 32, + 33 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "issuerId": 742, + "issuerName": "./tmp/packs/locale_zh-CN.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 742, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "module": "./tmp/packs/locale_zh-CN.js", + "moduleName": "./tmp/packs/locale_zh-CN.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/zh.js", + "loc": "6:0-54" + }, + { + "moduleId": 744, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-HK.js", + "module": "./tmp/packs/locale_zh-HK.js", + "moduleName": "./tmp/packs/locale_zh-HK.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/zh.js", + "loc": "6:0-54" + }, + { + "moduleId": 746, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-TW.js", + "module": "./tmp/packs/locale_zh-TW.js", + "moduleName": "./tmp/packs/locale_zh-TW.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/zh.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.zh = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"zh\", pluralRuleFunction: function (e, t) {\n return \"other\";\n }, fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒钟后\" }, past: { other: \"{0}秒钟前\" } } } } }, { locale: \"zh-Hans\", parentLocale: \"zh\" }, { locale: \"zh-Hans-HK\", parentLocale: \"zh-Hans\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒后\" }, past: { other: \"{0}秒前\" } } } } }, { locale: \"zh-Hans-MO\", parentLocale: \"zh-Hans\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒后\" }, past: { other: \"{0}秒前\" } } } } }, { locale: \"zh-Hans-SG\", parentLocale: \"zh-Hans\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒后\" }, past: { other: \"{0}秒前\" } } } } }, { locale: \"zh-Hant\", pluralRuleFunction: function (e, t) {\n return \"other\";\n }, fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0} 年後\" }, past: { other: \"{0} 年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下個月\", \"-1\": \"上個月\" }, relativeTime: { future: { other: \"{0} 個月後\" }, past: { other: \"{0} 個月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"後天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0} 天後\" }, past: { other: \"{0} 天前\" } } }, hour: { displayName: \"小時\", relative: { 0: \"這一小時\" }, relativeTime: { future: { other: \"{0} 小時後\" }, past: { other: \"{0} 小時前\" } } }, minute: { displayName: \"分鐘\", relative: { 0: \"這一分鐘\" }, relativeTime: { future: { other: \"{0} 分鐘後\" }, past: { other: \"{0} 分鐘前\" } } }, second: { displayName: \"秒\", relative: { 0: \"現在\" }, relativeTime: { future: { other: \"{0} 秒後\" }, past: { other: \"{0} 秒前\" } } } } }, { locale: \"zh-Hant-HK\", parentLocale: \"zh-Hant\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"下年\", \"-1\": \"上年\" }, relativeTime: { future: { other: \"{0} 年後\" }, past: { other: \"{0} 年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下個月\", \"-1\": \"上個月\" }, relativeTime: { future: { other: \"{0} 個月後\" }, past: { other: \"{0} 個月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今日\", 1: \"明日\", 2: \"後日\", \"-2\": \"前日\", \"-1\": \"昨日\" }, relativeTime: { future: { other: \"{0} 日後\" }, past: { other: \"{0} 日前\" } } }, hour: { displayName: \"小時\", relative: { 0: \"這個小時\" }, relativeTime: { future: { other: \"{0} 小時後\" }, past: { other: \"{0} 小時前\" } } }, minute: { displayName: \"分鐘\", relative: { 0: \"這分鐘\" }, relativeTime: { future: { other: \"{0} 分鐘後\" }, past: { other: \"{0} 分鐘前\" } } }, second: { displayName: \"秒\", relative: { 0: \"現在\" }, relativeTime: { future: { other: \"{0} 秒後\" }, past: { other: \"{0} 秒前\" } } } } }, { locale: \"zh-Hant-MO\", parentLocale: \"zh-Hant-HK\" }];\n});" + }, + { + "id": 746, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-TW.js", + "name": "./tmp/packs/locale_zh-TW.js", + "index": 907, + "index2": 908, + "size": 331, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 31 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_zh-TW.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/zh-TW.json';\nimport localeData from \"react-intl/locale-data/zh.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 747, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/zh-TW.json", + "name": "./app/javascript/mastodon/locales/zh-TW.json", + "index": 908, + "index2": 907, + "size": 7993, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 31 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-TW.js", + "issuerId": 746, + "issuerName": "./tmp/packs/locale_zh-TW.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 746, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-TW.js", + "module": "./tmp/packs/locale_zh-TW.js", + "moduleName": "./tmp/packs/locale_zh-TW.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/zh-TW.json", + "loc": "5:0-72" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"封鎖 @{name}\",\"account.block_domain\":\"隱藏來自 {domain} 的一切貼文\",\"account.disclaimer_full\":\"下列資料不一定完整。\",\"account.edit_profile\":\"編輯用者資訊\",\"account.follow\":\"關注\",\"account.followers\":\"專注者\",\"account.follows\":\"正關注\",\"account.follows_you\":\"關注你\",\"account.media\":\"媒體\",\"account.mention\":\"提到 @{name}\",\"account.mute\":\"消音 @{name}\",\"account.posts\":\"貼文\",\"account.report\":\"檢舉 @{name}\",\"account.requested\":\"正在等待許可\",\"account.share\":\"分享 @{name} 的用者資訊\",\"account.unblock\":\"取消封鎖 @{name}\",\"account.unblock_domain\":\"不再隱藏 {domain}\",\"account.unfollow\":\"取消關注\",\"account.unmute\":\"不再消音 @{name}\",\"account.view_full_profile\":\"查看完整資訊\",\"boost_modal.combo\":\"下次你可以按 {combo} 來跳過\",\"bundle_column_error.body\":\"加載本組件出錯。\",\"bundle_column_error.retry\":\"重試\",\"bundle_column_error.title\":\"網路錯誤\",\"bundle_modal_error.close\":\"關閉\",\"bundle_modal_error.message\":\"加載本組件出錯。\",\"bundle_modal_error.retry\":\"重試\",\"column.blocks\":\"封鎖的使用者\",\"column.community\":\"本地時間軸\",\"column.favourites\":\"最愛\",\"column.follow_requests\":\"關注請求\",\"column.home\":\"家\",\"column.mutes\":\"消音的使用者\",\"column.notifications\":\"通知\",\"column.pins\":\"置頂貼文\",\"column.public\":\"聯盟時間軸\",\"column_back_button.label\":\"上一頁\",\"column_header.hide_settings\":\"隱藏設定\",\"column_header.moveLeft_settings\":\"將欄左移\",\"column_header.moveRight_settings\":\"將欄右移\",\"column_header.pin\":\"固定\",\"column_header.show_settings\":\"顯示設定\",\"column_header.unpin\":\"取下\",\"column_subheading.navigation\":\"瀏覽\",\"column_subheading.settings\":\"設定\",\"compose_form.lock_disclaimer\":\"你的帳號沒有{locked}。任何人都可以關注你,看到發給關注者的貼文。\",\"compose_form.lock_disclaimer.lock\":\"上鎖\",\"compose_form.placeholder\":\"在想些什麼?\",\"compose_form.publish\":\"貼掉\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"將此媒體標為敏感\",\"compose_form.spoiler\":\"將訊息隱藏在警告訊息之後\",\"compose_form.spoiler_placeholder\":\"內容警告\",\"confirmation_modal.cancel\":\"取消\",\"confirmations.block.confirm\":\"封鎖\",\"confirmations.block.message\":\"你確定要封鎖 {name} ?\",\"confirmations.delete.confirm\":\"刪除\",\"confirmations.delete.message\":\"你確定要刪除這個狀態?\",\"confirmations.domain_block.confirm\":\"隱藏整個網域\",\"confirmations.domain_block.message\":\"你真的真的確定要隱藏整個 {domain} ?多數情況下,比較推薦封鎖或消音幾個特定目標就好。\",\"confirmations.mute.confirm\":\"消音\",\"confirmations.mute.message\":\"你確定要消音 {name} ?\",\"confirmations.unfollow.confirm\":\"取消關注\",\"confirmations.unfollow.message\":\"真的不要繼續關注 {name} 了嗎?\",\"embed.instructions\":\"要內嵌此貼文,請將以下代碼貼進你的網站。\",\"embed.preview\":\"看上去會變成這樣:\",\"emoji_button.activity\":\"活動\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"旗幟\",\"emoji_button.food\":\"食物與飲料\",\"emoji_button.label\":\"插入表情符號\",\"emoji_button.nature\":\"自然\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"物件\",\"emoji_button.people\":\"人\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"搜尋…\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"符號\",\"emoji_button.travel\":\"旅遊與地點\",\"empty_column.community\":\"本地時間軸是空的。公開寫點什麼吧!\",\"empty_column.hashtag\":\"這個主題標籤下什麼都沒有。\",\"empty_column.home\":\"你還沒關注任何人。造訪{public}或利用搜尋功能找到其他用者。\",\"empty_column.home.public_timeline\":\"公開時間軸\",\"empty_column.notifications\":\"還沒有任何通知。和別的使用者互動來開始對話。\",\"empty_column.public\":\"這裡什麼都沒有!公開寫些什麼,或是關注其他副本的使用者。\",\"follow_request.authorize\":\"授權\",\"follow_request.reject\":\"拒絕\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"馬上開始\",\"getting_started.open_source_notice\":\"Mastodon 是開源軟體。你可以在 GitHub {github} 上做出貢獻或是回報問題。\",\"getting_started.userguide\":\"使用者指南\",\"home.column_settings.advanced\":\"進階\",\"home.column_settings.basic\":\"基本\",\"home.column_settings.filter_regex\":\"以正規表示式過濾\",\"home.column_settings.show_reblogs\":\"顯示轉推\",\"home.column_settings.show_replies\":\"顯示回應\",\"home.settings\":\"欄位設定\",\"lightbox.close\":\"關閉\",\"lightbox.next\":\"繼續\",\"lightbox.previous\":\"回退\",\"loading_indicator.label\":\"讀取中...\",\"media_gallery.toggle_visible\":\"切換可見性\",\"missing_indicator.label\":\"找不到\",\"navigation_bar.blocks\":\"封鎖的使用者\",\"navigation_bar.community_timeline\":\"本地時間軸\",\"navigation_bar.edit_profile\":\"編輯用者資訊\",\"navigation_bar.favourites\":\"最愛\",\"navigation_bar.follow_requests\":\"關注請求\",\"navigation_bar.info\":\"關於本站\",\"navigation_bar.logout\":\"登出\",\"navigation_bar.mutes\":\"消音的使用者\",\"navigation_bar.pins\":\"置頂貼文\",\"navigation_bar.preferences\":\"偏好設定\",\"navigation_bar.public_timeline\":\"聯盟時間軸\",\"notification.favourite\":\"{name}收藏了你的狀態\",\"notification.follow\":\"{name}關注了你\",\"notification.mention\":\"{name}提到了你\",\"notification.reblog\":\"{name}推了你的狀態\",\"notifications.clear\":\"清除通知\",\"notifications.clear_confirmation\":\"確定要永久清除你的通知嗎?\",\"notifications.column_settings.alert\":\"桌面通知\",\"notifications.column_settings.favourite\":\"最愛:\",\"notifications.column_settings.follow\":\"新的關注者:\",\"notifications.column_settings.mention\":\"提到:\",\"notifications.column_settings.push\":\"推送通知\",\"notifications.column_settings.push_meta\":\"這臺設備\",\"notifications.column_settings.reblog\":\"轉推:\",\"notifications.column_settings.show\":\"顯示在欄位中\",\"notifications.column_settings.sound\":\"播放音效\",\"onboarding.done\":\"完成\",\"onboarding.next\":\"下一步\",\"onboarding.page_five.public_timelines\":\"本地時間軸顯示 {domain} 上所有人的公開貼文。聯盟時間軸顯示 {domain} 上所有人關注的公開貼文。這就是公開時間軸,發現新朋友的好地方。\",\"onboarding.page_four.home\":\"家時間軸顯示所有你關注的人的貼文。\",\"onboarding.page_four.notifications\":\"通知欄顯示別人和你的互動。\",\"onboarding.page_one.federation\":\"Mastodon 是由獨立的伺服器連結起來,形成的大社群網路。我們把這些伺服器稱為副本。\",\"onboarding.page_one.handle\":\"你在 {domain} 上,所以你的帳號全名是 {handle}\",\"onboarding.page_one.welcome\":\"歡迎來到 Mastodon !\",\"onboarding.page_six.admin\":\"你的副本的管理員是 {admin} 。\",\"onboarding.page_six.almost_done\":\"快好了…\",\"onboarding.page_six.appetoot\":\"貼口大開!\",\"onboarding.page_six.apps_available\":\"在 iOS 、 Android 和其他平台上有這些 {apps} 可以用。\",\"onboarding.page_six.github\":\"Mastodon 是自由的開源軟體。你可以在 {github} 上回報臭蟲、請求新功能或是做出貢獻。\",\"onboarding.page_six.guidelines\":\"社群指南\",\"onboarding.page_six.read_guidelines\":\"請閱讀 {domain} 的 {guidelines} !\",\"onboarding.page_six.various_app\":\"行動 apps\",\"onboarding.page_three.profile\":\"編輯你的大頭貼、自傳和顯示名稱。你也可以在這邊找到其他設定。\",\"onboarding.page_three.search\":\"利用搜尋列來找到其他人或是主題標籤,像是 {illustration} 或 {introductions} 。用完整的帳號名稱來找不在這個副本上的使用者。\",\"onboarding.page_two.compose\":\"在編輯欄寫些什麼。可以上傳圖片、改變隱私設定或是用下面的圖示加上內容警告。\",\"onboarding.skip\":\"跳過\",\"privacy.change\":\"調整隱私狀態\",\"privacy.direct.long\":\"只貼給提到的使用者\",\"privacy.direct.short\":\"直接貼\",\"privacy.private.long\":\"只貼給關注者\",\"privacy.private.short\":\"關注貼\",\"privacy.public.long\":\"貼到公開時間軸\",\"privacy.public.short\":\"公開貼\",\"privacy.unlisted.long\":\"不要貼到公開時間軸\",\"privacy.unlisted.short\":\"不列出來\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"取消\",\"report.placeholder\":\"更多訊息\",\"report.submit\":\"送出\",\"report.target\":\"通報中\",\"search.placeholder\":\"搜尋\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} 項結果\",\"standalone.public_title\":\"站點一瞥…\",\"status.cannot_reblog\":\"此貼文無法轉推\",\"status.delete\":\"刪除\",\"status.embed\":\"Embed\",\"status.favourite\":\"收藏\",\"status.load_more\":\"載入更多\",\"status.media_hidden\":\"媒體已隱藏\",\"status.mention\":\"提到 @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"消音對話\",\"status.open\":\"展開這個狀態\",\"status.pin\":\"置頂到個人資訊頁\",\"status.reblog\":\"轉推\",\"status.reblogged_by\":\"{name} 轉推了\",\"status.reply\":\"回應\",\"status.replyAll\":\"回應這串\",\"status.report\":\"通報 @{name}\",\"status.sensitive_toggle\":\"點來看\",\"status.sensitive_warning\":\"敏感內容\",\"status.share\":\"Share\",\"status.show_less\":\"看少點\",\"status.show_more\":\"看更多\",\"status.unmute_conversation\":\"不消音對話\",\"status.unpin\":\"解除置頂\",\"tabs_bar.compose\":\"編輯\",\"tabs_bar.federated_timeline\":\"聯盟\",\"tabs_bar.home\":\"家\",\"tabs_bar.local_timeline\":\"本地\",\"tabs_bar.notifications\":\"通知\",\"upload_area.title\":\"拖放來上傳\",\"upload_button.label\":\"增加媒體\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"復原\",\"upload_progress.label\":\"上傳中...\",\"video.close\":\"關閉影片\",\"video.exit_fullscreen\":\"退出全熒幕\",\"video.expand\":\"展開影片\",\"video.fullscreen\":\"全熒幕\",\"video.hide\":\"隱藏影片\",\"video.mute\":\"消音\",\"video.pause\":\"暫停\",\"video.play\":\"播放\",\"video.unmute\":\"解除消音\"}" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 746, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-TW.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-TW.js", + "moduleName": "./tmp/packs/locale_zh-TW.js", + "loc": "", + "name": "locale_zh-TW", + "reasons": [] + } + ] + }, + { + "id": 32, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 14442, + "names": [ + "locale_zh-HK" + ], + "files": [ + "locale_zh-HK-b59fc4967cc8ed927fe9.js", + "locale_zh-HK-b59fc4967cc8ed927fe9.js.map" + ], + "hash": "b59fc4967cc8ed927fe9", + "parents": [ + 65 + ], + "modules": [ + { + "id": 68, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/zh.js", + "name": "./node_modules/react-intl/locale-data/zh.js", + "index": 904, + "index2": 903, + "size": 5925, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 31, + 32, + 33 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "issuerId": 742, + "issuerName": "./tmp/packs/locale_zh-CN.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 742, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "module": "./tmp/packs/locale_zh-CN.js", + "moduleName": "./tmp/packs/locale_zh-CN.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/zh.js", + "loc": "6:0-54" + }, + { + "moduleId": 744, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-HK.js", + "module": "./tmp/packs/locale_zh-HK.js", + "moduleName": "./tmp/packs/locale_zh-HK.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/zh.js", + "loc": "6:0-54" + }, + { + "moduleId": 746, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-TW.js", + "module": "./tmp/packs/locale_zh-TW.js", + "moduleName": "./tmp/packs/locale_zh-TW.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/zh.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.zh = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"zh\", pluralRuleFunction: function (e, t) {\n return \"other\";\n }, fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒钟后\" }, past: { other: \"{0}秒钟前\" } } } } }, { locale: \"zh-Hans\", parentLocale: \"zh\" }, { locale: \"zh-Hans-HK\", parentLocale: \"zh-Hans\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒后\" }, past: { other: \"{0}秒前\" } } } } }, { locale: \"zh-Hans-MO\", parentLocale: \"zh-Hans\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒后\" }, past: { other: \"{0}秒前\" } } } } }, { locale: \"zh-Hans-SG\", parentLocale: \"zh-Hans\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒后\" }, past: { other: \"{0}秒前\" } } } } }, { locale: \"zh-Hant\", pluralRuleFunction: function (e, t) {\n return \"other\";\n }, fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0} 年後\" }, past: { other: \"{0} 年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下個月\", \"-1\": \"上個月\" }, relativeTime: { future: { other: \"{0} 個月後\" }, past: { other: \"{0} 個月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"後天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0} 天後\" }, past: { other: \"{0} 天前\" } } }, hour: { displayName: \"小時\", relative: { 0: \"這一小時\" }, relativeTime: { future: { other: \"{0} 小時後\" }, past: { other: \"{0} 小時前\" } } }, minute: { displayName: \"分鐘\", relative: { 0: \"這一分鐘\" }, relativeTime: { future: { other: \"{0} 分鐘後\" }, past: { other: \"{0} 分鐘前\" } } }, second: { displayName: \"秒\", relative: { 0: \"現在\" }, relativeTime: { future: { other: \"{0} 秒後\" }, past: { other: \"{0} 秒前\" } } } } }, { locale: \"zh-Hant-HK\", parentLocale: \"zh-Hant\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"下年\", \"-1\": \"上年\" }, relativeTime: { future: { other: \"{0} 年後\" }, past: { other: \"{0} 年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下個月\", \"-1\": \"上個月\" }, relativeTime: { future: { other: \"{0} 個月後\" }, past: { other: \"{0} 個月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今日\", 1: \"明日\", 2: \"後日\", \"-2\": \"前日\", \"-1\": \"昨日\" }, relativeTime: { future: { other: \"{0} 日後\" }, past: { other: \"{0} 日前\" } } }, hour: { displayName: \"小時\", relative: { 0: \"這個小時\" }, relativeTime: { future: { other: \"{0} 小時後\" }, past: { other: \"{0} 小時前\" } } }, minute: { displayName: \"分鐘\", relative: { 0: \"這分鐘\" }, relativeTime: { future: { other: \"{0} 分鐘後\" }, past: { other: \"{0} 分鐘前\" } } }, second: { displayName: \"秒\", relative: { 0: \"現在\" }, relativeTime: { future: { other: \"{0} 秒後\" }, past: { other: \"{0} 秒前\" } } } } }, { locale: \"zh-Hant-MO\", parentLocale: \"zh-Hant-HK\" }];\n});" + }, + { + "id": 744, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-HK.js", + "name": "./tmp/packs/locale_zh-HK.js", + "index": 905, + "index2": 906, + "size": 331, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 32 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_zh-HK.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/zh-HK.json';\nimport localeData from \"react-intl/locale-data/zh.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 745, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/zh-HK.json", + "name": "./app/javascript/mastodon/locales/zh-HK.json", + "index": 906, + "index2": 905, + "size": 8186, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 32 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-HK.js", + "issuerId": 744, + "issuerName": "./tmp/packs/locale_zh-HK.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 744, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-HK.js", + "module": "./tmp/packs/locale_zh-HK.js", + "moduleName": "./tmp/packs/locale_zh-HK.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/zh-HK.json", + "loc": "5:0-72" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"封鎖 @{name}\",\"account.block_domain\":\"隱藏來自 {domain} 的一切文章\",\"account.disclaimer_full\":\"下列資料不一定完整。\",\"account.edit_profile\":\"修改個人資料\",\"account.follow\":\"關注\",\"account.followers\":\"關注的人\",\"account.follows\":\"正關注\",\"account.follows_you\":\"關注你\",\"account.media\":\"媒體\",\"account.mention\":\"提及 @{name}\",\"account.mute\":\"將 @{name} 靜音\",\"account.posts\":\"文章\",\"account.report\":\"舉報 @{name}\",\"account.requested\":\"等候審批\",\"account.share\":\"分享 @{name} 的個人資料\",\"account.unblock\":\"解除對 @{name} 的封鎖\",\"account.unblock_domain\":\"不再隱藏 {domain}\",\"account.unfollow\":\"取消關注\",\"account.unmute\":\"取消 @{name} 的靜音\",\"account.view_full_profile\":\"查看完整資料\",\"boost_modal.combo\":\"如你想在下次路過這顯示,請按{combo},\",\"bundle_column_error.body\":\"加載本組件出錯。\",\"bundle_column_error.retry\":\"重試\",\"bundle_column_error.title\":\"網絡錯誤\",\"bundle_modal_error.close\":\"關閉\",\"bundle_modal_error.message\":\"加載本組件出錯。\",\"bundle_modal_error.retry\":\"重試\",\"column.blocks\":\"封鎖用戶\",\"column.community\":\"本站時間軸\",\"column.favourites\":\"最愛的文章\",\"column.follow_requests\":\"關注請求\",\"column.home\":\"主頁\",\"column.mutes\":\"靜音名單\",\"column.notifications\":\"通知\",\"column.pins\":\"置頂文章\",\"column.public\":\"跨站時間軸\",\"column_back_button.label\":\"返回\",\"column_header.hide_settings\":\"隱藏設定\",\"column_header.moveLeft_settings\":\"將欄左移\",\"column_header.moveRight_settings\":\"將欄右移\",\"column_header.pin\":\"固定\",\"column_header.show_settings\":\"顯示設定\",\"column_header.unpin\":\"取下\",\"column_subheading.navigation\":\"瀏覽\",\"column_subheading.settings\":\"設定\",\"compose_form.lock_disclaimer\":\"你的用戶狀態為「{locked}」,任何人都能立即關注你,然後看到「只有關注者能看」的文章。\",\"compose_form.lock_disclaimer.lock\":\"公共\",\"compose_form.placeholder\":\"你在想甚麼?\",\"compose_form.publish\":\"發文\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"將媒體檔案標示為「敏感內容」\",\"compose_form.spoiler\":\"將部份文字藏於警告訊息之後\",\"compose_form.spoiler_placeholder\":\"敏感警告訊息\",\"confirmation_modal.cancel\":\"取消\",\"confirmations.block.confirm\":\"封鎖\",\"confirmations.block.message\":\"你確定要封鎖{name}嗎?\",\"confirmations.delete.confirm\":\"刪除\",\"confirmations.delete.message\":\"你確定要刪除{name}嗎?\",\"confirmations.domain_block.confirm\":\"隱藏整個網站\",\"confirmations.domain_block.message\":\"你真的真的確定要隱藏整個 {domain} ?多數情況下,比較推薦封鎖或靜音幾個特定目標就好。\",\"confirmations.mute.confirm\":\"靜音\",\"confirmations.mute.message\":\"你確定要將{name}靜音嗎?\",\"confirmations.unfollow.confirm\":\"取消關注\",\"confirmations.unfollow.message\":\"真的不要繼續關注 {name} 了嗎?\",\"embed.instructions\":\"要內嵌此文章,請將以下代碼貼進你的網站。\",\"embed.preview\":\"看上去會是這樣:\",\"emoji_button.activity\":\"活動\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"旗幟\",\"emoji_button.food\":\"飲飲食食\",\"emoji_button.label\":\"加入表情符號\",\"emoji_button.nature\":\"自然\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"物品\",\"emoji_button.people\":\"人物\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"搜尋…\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"符號\",\"emoji_button.travel\":\"旅遊景物\",\"empty_column.community\":\"本站時間軸暫時未有內容,快文章來搶頭香啊!\",\"empty_column.hashtag\":\"這個標籤暫時未有內容。\",\"empty_column.home\":\"你還沒有關注任何用戶。快看看{public},向其他用戶搭訕吧。\",\"empty_column.home.public_timeline\":\"公共時間軸\",\"empty_column.notifications\":\"你沒有任何通知紀錄,快向其他用戶搭訕吧。\",\"empty_column.public\":\"跨站時間軸暫時沒有內容!快寫一些公共的文章,或者關注另一些服務站的用戶吧!你和本站、友站的交流,將決定這裏出現的內容。\",\"follow_request.authorize\":\"批准\",\"follow_request.reject\":\"拒絕\",\"getting_started.appsshort\":\"手機應用\",\"getting_started.faq\":\"常見問題\",\"getting_started.heading\":\"開始使用\",\"getting_started.open_source_notice\":\"Mastodon(萬象)是一個開放源碼的軟件。你可以在官方 GitHub ({github}) 貢獻或者回報問題。\",\"getting_started.userguide\":\"使用指南\",\"home.column_settings.advanced\":\"進階\",\"home.column_settings.basic\":\"基本\",\"home.column_settings.filter_regex\":\"使用正規表達式 (regular expression) 過濾\",\"home.column_settings.show_reblogs\":\"顯示被轉推的文章\",\"home.column_settings.show_replies\":\"顯示回應文章\",\"home.settings\":\"欄位設定\",\"lightbox.close\":\"關閉\",\"lightbox.next\":\"繼續\",\"lightbox.previous\":\"回退\",\"loading_indicator.label\":\"載入中...\",\"media_gallery.toggle_visible\":\"打開或關上\",\"missing_indicator.label\":\"找不到內容\",\"navigation_bar.blocks\":\"被你封鎖的用戶\",\"navigation_bar.community_timeline\":\"本站時間軸\",\"navigation_bar.edit_profile\":\"修改個人資料\",\"navigation_bar.favourites\":\"最愛的內容\",\"navigation_bar.follow_requests\":\"關注請求\",\"navigation_bar.info\":\"關於本服務站\",\"navigation_bar.logout\":\"登出\",\"navigation_bar.mutes\":\"被你靜音的用戶\",\"navigation_bar.pins\":\"置頂文章\",\"navigation_bar.preferences\":\"偏好設定\",\"navigation_bar.public_timeline\":\"跨站時間軸\",\"notification.favourite\":\"{name} 收藏了你的文章\",\"notification.follow\":\"{name} 開始關注你\",\"notification.mention\":\"{name} 提及你\",\"notification.reblog\":\"{name} 轉推你的文章\",\"notifications.clear\":\"清空通知紀錄\",\"notifications.clear_confirmation\":\"你確定要清空通知紀錄嗎?\",\"notifications.column_settings.alert\":\"顯示桌面通知\",\"notifications.column_settings.favourite\":\"收藏了你的文章:\",\"notifications.column_settings.follow\":\"關注你:\",\"notifications.column_settings.mention\":\"提及你:\",\"notifications.column_settings.push\":\"推送通知\",\"notifications.column_settings.push_meta\":\"這臺設備\",\"notifications.column_settings.reblog\":\"轉推你的文章:\",\"notifications.column_settings.show\":\"在通知欄顯示\",\"notifications.column_settings.sound\":\"播放音效\",\"onboarding.done\":\"開始使用\",\"onboarding.next\":\"繼續\",\"onboarding.page_five.public_timelines\":\"「本站時間軸」顯示在 {domain} 各用戶的公開文章。「跨站時間軸」顯示在 {domain} 各人關注的所有用戶(包括其他服務站)的公開文章。這些都是「公共時間軸」,是認識新朋友的好地方。\",\"onboarding.page_four.home\":\"「主頁」顯示你所關注用戶的文章\",\"onboarding.page_four.notifications\":\"「通知」欄顯示你和其他人的互動。\",\"onboarding.page_one.federation\":\"Mastodon(萬象社交)是由一批獨立網站組成的龐大網絡,我們將這些獨立又互連網站稱為「服務站」(instance)\",\"onboarding.page_one.handle\":\"你的帳戶在 {domain} 上面,由 {handle} 代理\",\"onboarding.page_one.welcome\":\"歡迎使用 Mastodon(萬象社交)\",\"onboarding.page_six.admin\":\"你服務站的管理員是{admin}\",\"onboarding.page_six.almost_done\":\"差不多了……\",\"onboarding.page_six.appetoot\":\"手機,你好!\",\"onboarding.page_six.apps_available\":\"目前支援 Mastodon 的{apps}已經支援 iOS、Android 和其他系統平台\",\"onboarding.page_six.github\":\"Mastodon (萬象)是一個開源的程式,你可以在 {github} 上回報問題、提議新功能、或者參與開發貢獻。\",\"onboarding.page_six.guidelines\":\"社群守則\",\"onboarding.page_six.read_guidelines\":\"請留意閱讀 {domain} 的 {guidelines}!\",\"onboarding.page_six.various_app\":\"各手機應用程式\",\"onboarding.page_three.profile\":\"修改你個人頭像、簡介和顯示名稱,並可找到其他設定的頁面。\",\"onboarding.page_three.search\":\"用「搜尋」框去找用戶或標籤像「{illustration}」和「{introductions}」。若你想找的人在別的服務站,請用完整的「@用戶名@網域」格式搜尋。\",\"onboarding.page_two.compose\":\"在編寫欄寫你的文章。你可以在此上載圖片、修改文章的私隱度、及加入適當的內容警告。\",\"onboarding.skip\":\"略過\",\"privacy.change\":\"調整私隱設定\",\"privacy.direct.long\":\"只有提及的用戶能看到\",\"privacy.direct.short\":\"私人訊息\",\"privacy.private.long\":\"只有關注你用戶能看到\",\"privacy.private.short\":\"關注者\",\"privacy.public.long\":\"在公共時間軸顯示\",\"privacy.public.short\":\"公共\",\"privacy.unlisted.long\":\"公開,但不在公共時間軸顯示\",\"privacy.unlisted.short\":\"公開\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"取消\",\"report.placeholder\":\"額外訊息\",\"report.submit\":\"提交\",\"report.target\":\"舉報\",\"search.placeholder\":\"搜尋\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} 項結果\",\"standalone.public_title\":\"站點一瞥…\",\"status.cannot_reblog\":\"這篇文章無法被轉推\",\"status.delete\":\"刪除\",\"status.embed\":\"鑲嵌\",\"status.favourite\":\"收藏\",\"status.load_more\":\"載入更多\",\"status.media_hidden\":\"隱藏媒體內容\",\"status.mention\":\"提及 @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"靜音對話\",\"status.open\":\"展開文章\",\"status.pin\":\"置頂到資料頁\",\"status.reblog\":\"轉推\",\"status.reblogged_by\":\"{name} 轉推\",\"status.reply\":\"回應\",\"status.replyAll\":\"回應所有人\",\"status.report\":\"舉報 @{name}\",\"status.sensitive_toggle\":\"點擊顯示\",\"status.sensitive_warning\":\"敏感內容\",\"status.share\":\"Share\",\"status.show_less\":\"減少顯示\",\"status.show_more\":\"顯示更多\",\"status.unmute_conversation\":\"解禁對話\",\"status.unpin\":\"解除置頂\",\"tabs_bar.compose\":\"撰寫\",\"tabs_bar.federated_timeline\":\"跨站\",\"tabs_bar.home\":\"主頁\",\"tabs_bar.local_timeline\":\"本站\",\"tabs_bar.notifications\":\"通知\",\"upload_area.title\":\"將檔案拖放至此上載\",\"upload_button.label\":\"上載媒體檔案\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"還原\",\"upload_progress.label\":\"上載中……\",\"video.close\":\"關閉影片\",\"video.exit_fullscreen\":\"退出全熒幕\",\"video.expand\":\"展開影片\",\"video.fullscreen\":\"全熒幕\",\"video.hide\":\"隱藏影片\",\"video.mute\":\"靜音\",\"video.pause\":\"暫停\",\"video.play\":\"播放\",\"video.unmute\":\"解除靜音\"}" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 744, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-HK.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-HK.js", + "moduleName": "./tmp/packs/locale_zh-HK.js", + "loc": "", + "name": "locale_zh-HK", + "reasons": [] + } + ] + }, + { + "id": 33, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 14355, + "names": [ + "locale_zh-CN" + ], + "files": [ + "locale_zh-CN-601e45ab96a4205d0315.js", + "locale_zh-CN-601e45ab96a4205d0315.js.map" + ], + "hash": "601e45ab96a4205d0315", + "parents": [ + 65 + ], + "modules": [ + { + "id": 68, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/zh.js", + "name": "./node_modules/react-intl/locale-data/zh.js", + "index": 904, + "index2": 903, + "size": 5925, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 31, + 32, + 33 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "issuerId": 742, + "issuerName": "./tmp/packs/locale_zh-CN.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 742, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "module": "./tmp/packs/locale_zh-CN.js", + "moduleName": "./tmp/packs/locale_zh-CN.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/zh.js", + "loc": "6:0-54" + }, + { + "moduleId": 744, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-HK.js", + "module": "./tmp/packs/locale_zh-HK.js", + "moduleName": "./tmp/packs/locale_zh-HK.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/zh.js", + "loc": "6:0-54" + }, + { + "moduleId": 746, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-TW.js", + "module": "./tmp/packs/locale_zh-TW.js", + "moduleName": "./tmp/packs/locale_zh-TW.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/zh.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.zh = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"zh\", pluralRuleFunction: function (e, t) {\n return \"other\";\n }, fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒钟后\" }, past: { other: \"{0}秒钟前\" } } } } }, { locale: \"zh-Hans\", parentLocale: \"zh\" }, { locale: \"zh-Hans-HK\", parentLocale: \"zh-Hans\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒后\" }, past: { other: \"{0}秒前\" } } } } }, { locale: \"zh-Hans-MO\", parentLocale: \"zh-Hans\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒后\" }, past: { other: \"{0}秒前\" } } } } }, { locale: \"zh-Hans-SG\", parentLocale: \"zh-Hans\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0}年后\" }, past: { other: \"{0}年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下个月\", \"-1\": \"上个月\" }, relativeTime: { future: { other: \"{0}个月后\" }, past: { other: \"{0}个月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"后天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0}天后\" }, past: { other: \"{0}天前\" } } }, hour: { displayName: \"小时\", relative: { 0: \"这一时间 / 此时\" }, relativeTime: { future: { other: \"{0}小时后\" }, past: { other: \"{0}小时前\" } } }, minute: { displayName: \"分钟\", relative: { 0: \"此刻\" }, relativeTime: { future: { other: \"{0}分钟后\" }, past: { other: \"{0}分钟前\" } } }, second: { displayName: \"秒\", relative: { 0: \"现在\" }, relativeTime: { future: { other: \"{0}秒后\" }, past: { other: \"{0}秒前\" } } } } }, { locale: \"zh-Hant\", pluralRuleFunction: function (e, t) {\n return \"other\";\n }, fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"明年\", \"-1\": \"去年\" }, relativeTime: { future: { other: \"{0} 年後\" }, past: { other: \"{0} 年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下個月\", \"-1\": \"上個月\" }, relativeTime: { future: { other: \"{0} 個月後\" }, past: { other: \"{0} 個月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今天\", 1: \"明天\", 2: \"後天\", \"-2\": \"前天\", \"-1\": \"昨天\" }, relativeTime: { future: { other: \"{0} 天後\" }, past: { other: \"{0} 天前\" } } }, hour: { displayName: \"小時\", relative: { 0: \"這一小時\" }, relativeTime: { future: { other: \"{0} 小時後\" }, past: { other: \"{0} 小時前\" } } }, minute: { displayName: \"分鐘\", relative: { 0: \"這一分鐘\" }, relativeTime: { future: { other: \"{0} 分鐘後\" }, past: { other: \"{0} 分鐘前\" } } }, second: { displayName: \"秒\", relative: { 0: \"現在\" }, relativeTime: { future: { other: \"{0} 秒後\" }, past: { other: \"{0} 秒前\" } } } } }, { locale: \"zh-Hant-HK\", parentLocale: \"zh-Hant\", fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"下年\", \"-1\": \"上年\" }, relativeTime: { future: { other: \"{0} 年後\" }, past: { other: \"{0} 年前\" } } }, month: { displayName: \"月\", relative: { 0: \"本月\", 1: \"下個月\", \"-1\": \"上個月\" }, relativeTime: { future: { other: \"{0} 個月後\" }, past: { other: \"{0} 個月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今日\", 1: \"明日\", 2: \"後日\", \"-2\": \"前日\", \"-1\": \"昨日\" }, relativeTime: { future: { other: \"{0} 日後\" }, past: { other: \"{0} 日前\" } } }, hour: { displayName: \"小時\", relative: { 0: \"這個小時\" }, relativeTime: { future: { other: \"{0} 小時後\" }, past: { other: \"{0} 小時前\" } } }, minute: { displayName: \"分鐘\", relative: { 0: \"這分鐘\" }, relativeTime: { future: { other: \"{0} 分鐘後\" }, past: { other: \"{0} 分鐘前\" } } }, second: { displayName: \"秒\", relative: { 0: \"現在\" }, relativeTime: { future: { other: \"{0} 秒後\" }, past: { other: \"{0} 秒前\" } } } } }, { locale: \"zh-Hant-MO\", parentLocale: \"zh-Hant-HK\" }];\n});" + }, + { + "id": 742, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "name": "./tmp/packs/locale_zh-CN.js", + "index": 902, + "index2": 904, + "size": 331, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 33 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_zh-CN.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/zh-CN.json';\nimport localeData from \"react-intl/locale-data/zh.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 743, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/zh-CN.json", + "name": "./app/javascript/mastodon/locales/zh-CN.json", + "index": 903, + "index2": 902, + "size": 8099, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 33 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "issuerId": 742, + "issuerName": "./tmp/packs/locale_zh-CN.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 742, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "module": "./tmp/packs/locale_zh-CN.js", + "moduleName": "./tmp/packs/locale_zh-CN.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/zh-CN.json", + "loc": "5:0-72" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"屏蔽 @{name}\",\"account.block_domain\":\"隐藏一切来自 {domain} 的嘟文\",\"account.disclaimer_full\":\"此处显示的信息可能不是全部内容。\",\"account.edit_profile\":\"修改个人资料\",\"account.follow\":\"关注\",\"account.followers\":\"关注者\",\"account.follows\":\"正在关注\",\"account.follows_you\":\"关注了你\",\"account.media\":\"媒体\",\"account.mention\":\"提及 @{name}\",\"account.mute\":\"静音 @{name}\",\"account.posts\":\"嘟文\",\"account.report\":\"举报 @{name}\",\"account.requested\":\"正在等待对方同意。点击以取消发送关注请求\",\"account.share\":\"分享 @{name} 的个人资料\",\"account.unblock\":\"不再屏蔽 @{name}\",\"account.unblock_domain\":\"不再隐藏 {domain}\",\"account.unfollow\":\"取消关注\",\"account.unmute\":\"不再静音 @{name}\",\"account.view_full_profile\":\"查看完整资料\",\"boost_modal.combo\":\"下次按住 {combo} 即可跳过此提示\",\"bundle_column_error.body\":\"载入组件出错。\",\"bundle_column_error.retry\":\"重试\",\"bundle_column_error.title\":\"网络错误\",\"bundle_modal_error.close\":\"关闭\",\"bundle_modal_error.message\":\"载入组件出错。\",\"bundle_modal_error.retry\":\"重试\",\"column.blocks\":\"屏蔽用户\",\"column.community\":\"本站时间轴\",\"column.favourites\":\"收藏过的嘟文\",\"column.follow_requests\":\"关注请求\",\"column.home\":\"主页\",\"column.mutes\":\"被静音的用户\",\"column.notifications\":\"通知\",\"column.pins\":\"置顶嘟文\",\"column.public\":\"跨站公共时间轴\",\"column_back_button.label\":\"返回\",\"column_header.hide_settings\":\"隐藏设置\",\"column_header.moveLeft_settings\":\"将此栏左移\",\"column_header.moveRight_settings\":\"将此栏右移\",\"column_header.pin\":\"固定\",\"column_header.show_settings\":\"显示设置\",\"column_header.unpin\":\"取消固定\",\"column_subheading.navigation\":\"导航\",\"column_subheading.settings\":\"设置\",\"compose_form.lock_disclaimer\":\"你的帐户没有{locked}。任何人都可以通过关注你来查看仅关注者可见的嘟文。\",\"compose_form.lock_disclaimer.lock\":\"被保护\",\"compose_form.placeholder\":\"在想啥?\",\"compose_form.publish\":\"嘟嘟\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"将媒体文件标记为“敏感内容”\",\"compose_form.spoiler\":\"将部分文字隐藏于警告消息之后\",\"compose_form.spoiler_placeholder\":\"隐藏文字的警告消息\",\"confirmation_modal.cancel\":\"取消\",\"confirmations.block.confirm\":\"屏蔽\",\"confirmations.block.message\":\"想好了,真的要屏蔽 {name}?\",\"confirmations.delete.confirm\":\"删除\",\"confirmations.delete.message\":\"想好了,真的要删除这条嘟文?\",\"confirmations.domain_block.confirm\":\"隐藏整个网站\",\"confirmations.domain_block.message\":\"你真的真的确定要隐藏整个 {domain}?多数情况下,屏蔽或静音几个特定的用户就应该能满足你的需要了。\",\"confirmations.mute.confirm\":\"静音\",\"confirmations.mute.message\":\"想好了,真的要静音 {name}?\",\"confirmations.unfollow.confirm\":\"取消关注\",\"confirmations.unfollow.message\":\"确定要取消关注 {name} 吗?\",\"embed.instructions\":\"要在你的网站上嵌入这条嘟文,请复制以下代码。\",\"embed.preview\":\"它会像这样显示出来:\",\"emoji_button.activity\":\"活动\",\"emoji_button.custom\":\"自定义\",\"emoji_button.flags\":\"旗帜\",\"emoji_button.food\":\"食物和饮料\",\"emoji_button.label\":\"加入表情符号\",\"emoji_button.nature\":\"自然\",\"emoji_button.not_found\":\"木有这个表情符号!(╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"物体\",\"emoji_button.people\":\"人物\",\"emoji_button.recent\":\"常用\",\"emoji_button.search\":\"搜索…\",\"emoji_button.search_results\":\"搜索结果\",\"emoji_button.symbols\":\"符号\",\"emoji_button.travel\":\"旅行和地点\",\"empty_column.community\":\"本站时间轴暂时没有内容,快嘟几个来抢头香啊!\",\"empty_column.hashtag\":\"这个话题标签下暂时没有内容。\",\"empty_column.home\":\"你还没有关注任何用户。快看看{public},向其他用户搭讪吧。\",\"empty_column.home.public_timeline\":\"公共时间轴\",\"empty_column.notifications\":\"你还没有收到过通知信息,快向其他用户搭讪吧。\",\"empty_column.public\":\"这里神马都没有!写一些公开的嘟文,或者关注其他实例的用户,这里就会有嘟文出现了哦!\",\"follow_request.authorize\":\"同意\",\"follow_request.reject\":\"拒绝\",\"getting_started.appsshort\":\"应用\",\"getting_started.faq\":\"常见问题\",\"getting_started.heading\":\"开始使用\",\"getting_started.open_source_notice\":\"Mastodon 是一个开放源码的软件。你可以在官方 GitHub({github})贡献或者回报问题。\",\"getting_started.userguide\":\"用户指南\",\"home.column_settings.advanced\":\"高级设置\",\"home.column_settings.basic\":\"基本设置\",\"home.column_settings.filter_regex\":\"使用正则表达式(regex)过滤\",\"home.column_settings.show_reblogs\":\"显示转嘟\",\"home.column_settings.show_replies\":\"显示回复\",\"home.settings\":\"栏目设置\",\"lightbox.close\":\"关闭\",\"lightbox.next\":\"下一步\",\"lightbox.previous\":\"上一步\",\"loading_indicator.label\":\"加载中……\",\"media_gallery.toggle_visible\":\"切换显示/隐藏\",\"missing_indicator.label\":\"找不到内容\",\"navigation_bar.blocks\":\"被屏蔽的用户\",\"navigation_bar.community_timeline\":\"本站时间轴\",\"navigation_bar.edit_profile\":\"修改个人资料\",\"navigation_bar.favourites\":\"收藏的内容\",\"navigation_bar.follow_requests\":\"关注请求\",\"navigation_bar.info\":\"关于本站\",\"navigation_bar.logout\":\"注销\",\"navigation_bar.mutes\":\"被静音的用户\",\"navigation_bar.pins\":\"置顶嘟文\",\"navigation_bar.preferences\":\"首选项\",\"navigation_bar.public_timeline\":\"跨站公共时间轴\",\"notification.favourite\":\"{name} 收藏了你的嘟文\",\"notification.follow\":\"{name} 开始关注你\",\"notification.mention\":\"{name} 提及你\",\"notification.reblog\":\"{name} 转嘟了你的嘟文\",\"notifications.clear\":\"清空通知列表\",\"notifications.clear_confirmation\":\"你确定要清空通知列表吗?\",\"notifications.column_settings.alert\":\"桌面通知\",\"notifications.column_settings.favourite\":\"你的嘟文被收藏:\",\"notifications.column_settings.follow\":\"关注你:\",\"notifications.column_settings.mention\":\"提及你:\",\"notifications.column_settings.push\":\"推送通知\",\"notifications.column_settings.push_meta\":\"此设备\",\"notifications.column_settings.reblog\":\"你的嘟文被转嘟:\",\"notifications.column_settings.show\":\"在通知栏显示\",\"notifications.column_settings.sound\":\"播放音效\",\"onboarding.done\":\"出发!\",\"onboarding.next\":\"下一步\",\"onboarding.page_five.public_timelines\":\"本站时间轴显示的是由本站({domain})用户发布的所有公开嘟文。跨站公共时间轴显示的的是由本站用户关注对象所发布的所有公开嘟文。这些就是寻人好去处的公共时间轴啦。\",\"onboarding.page_four.home\":\"你的主页上的时间轴上显示的是你关注对象的嘟文。\",\"onboarding.page_four.notifications\":\"如果有人与你互动,便会出现在通知栏中哦~\",\"onboarding.page_one.federation\":\"Mastodon 是由一系列独立的服务器共同打造的强大的社交网络,我们将这些各自独立但又相互连接的服务器叫做实例。\",\"onboarding.page_one.handle\":\"你在 {domain},{handle} 就是你的完整帐户名称。\",\"onboarding.page_one.welcome\":\"欢迎来到 Mastodon!\",\"onboarding.page_six.admin\":\"{admin} 是你所在服务器实例的管理员.\",\"onboarding.page_six.almost_done\":\"差不多了……\",\"onboarding.page_six.appetoot\":\"嗷呜~\",\"onboarding.page_six.apps_available\":\"我们还有适用于 iOS、Android 和其它平台的{apps}哦~\",\"onboarding.page_six.github\":\"Mastodon 是自由的开源软件。欢迎前往 {github} 反馈问题、提出对新功能的建议或贡献代码 :-)\",\"onboarding.page_six.guidelines\":\"社区指南\",\"onboarding.page_six.read_guidelines\":\"别忘了看看 {domain} 的{guidelines}!\",\"onboarding.page_six.various_app\":\"移动设备应用\",\"onboarding.page_three.profile\":\"你可以修改你的个人资料,比如头像、简介和昵称等偏好设置。\",\"onboarding.page_three.search\":\"你可以通过搜索功能寻找用户和话题标签,比如{illustration}或者{introductions}。如果你想搜索其他实例上的用户,就需要输入完整帐户名称(用户名@域名)哦。\",\"onboarding.page_two.compose\":\"在撰写栏中开始嘟嘟吧!下方的按钮分别用来上传图片,修改嘟文可见范围,以及添加警告信息。\",\"onboarding.skip\":\"跳过\",\"privacy.change\":\"设置嘟文可见范围\",\"privacy.direct.long\":\"只有被提及的用户能看到\",\"privacy.direct.short\":\"私信\",\"privacy.private.long\":\"只有关注你的用户能看到\",\"privacy.private.short\":\"仅关注者\",\"privacy.public.long\":\"所有人可见,并会出现在公共时间轴上\",\"privacy.public.short\":\"公开\",\"privacy.unlisted.long\":\"所有人可见,但不会出现在公共时间轴上\",\"privacy.unlisted.short\":\"不公开\",\"relative_time.days\":\"{number} 天\",\"relative_time.hours\":\"{number} 时\",\"relative_time.just_now\":\"刚刚\",\"relative_time.minutes\":\"{number} 分\",\"relative_time.seconds\":\"{number} 秒\",\"reply_indicator.cancel\":\"取消\",\"report.placeholder\":\"附言\",\"report.submit\":\"提交\",\"report.target\":\"举报 {target}\",\"search.placeholder\":\"搜索\",\"search_popout.search_format\":\"高级搜索格式\",\"search_popout.tips.hashtag\":\"话题标签\",\"search_popout.tips.status\":\"嘟文\",\"search_popout.tips.text\":\"使用普通字符进行搜索将会返回昵称、用户名和话题标签\",\"search_popout.tips.user\":\"用户\",\"search_results.total\":\"共 {count, number} 个结果\",\"standalone.public_title\":\"大家都在干啥?\",\"status.cannot_reblog\":\"无法转嘟这条嘟文\",\"status.delete\":\"删除\",\"status.embed\":\"嵌入\",\"status.favourite\":\"收藏\",\"status.load_more\":\"加载更多\",\"status.media_hidden\":\"隐藏媒体内容\",\"status.mention\":\"提及 @{name}\",\"status.more\":\"更多\",\"status.mute_conversation\":\"静音此对话\",\"status.open\":\"展开嘟文\",\"status.pin\":\"在个人资料页面置顶\",\"status.reblog\":\"转嘟\",\"status.reblogged_by\":\"{name} 转嘟了\",\"status.reply\":\"回复\",\"status.replyAll\":\"回复所有人\",\"status.report\":\"举报 @{name}\",\"status.sensitive_toggle\":\"点击显示\",\"status.sensitive_warning\":\"敏感内容\",\"status.share\":\"分享\",\"status.show_less\":\"隐藏内容\",\"status.show_more\":\"显示内容\",\"status.unmute_conversation\":\"不再静音此对话\",\"status.unpin\":\"在个人资料页面取消置顶\",\"tabs_bar.compose\":\"撰写\",\"tabs_bar.federated_timeline\":\"跨站\",\"tabs_bar.home\":\"主页\",\"tabs_bar.local_timeline\":\"本站\",\"tabs_bar.notifications\":\"通知\",\"upload_area.title\":\"将文件拖放到此处开始上传\",\"upload_button.label\":\"上传媒体文件\",\"upload_form.description\":\"为视觉障碍人士添加文字说明\",\"upload_form.undo\":\"取消上传\",\"upload_progress.label\":\"上传中…\",\"video.close\":\"关闭视频\",\"video.exit_fullscreen\":\"退出全屏\",\"video.expand\":\"展开视频\",\"video.fullscreen\":\"全屏\",\"video.hide\":\"隐藏视频\",\"video.mute\":\"静音\",\"video.pause\":\"暂停\",\"video.play\":\"播放\",\"video.unmute\":\"取消静音\"}" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 742, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "moduleName": "./tmp/packs/locale_zh-CN.js", + "loc": "", + "name": "locale_zh-CN", + "reasons": [] + } + ] + }, + { + "id": 34, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 14585, + "names": [ + "locale_uk" + ], + "files": [ + "locale_uk-1dc16dc9b7d7c6e9c566.js", + "locale_uk-1dc16dc9b7d7c6e9c566.js.map" + ], + "hash": "1dc16dc9b7d7c6e9c566", + "parents": [ + 65 + ], + "modules": [ + { + "id": 739, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_uk.js", + "name": "./tmp/packs/locale_uk.js", + "index": 899, + "index2": 901, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 34 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_uk.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/uk.json';\nimport localeData from \"react-intl/locale-data/uk.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 740, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/uk.json", + "name": "./app/javascript/mastodon/locales/uk.json", + "index": 900, + "index2": 899, + "size": 11470, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 34 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_uk.js", + "issuerId": 739, + "issuerName": "./tmp/packs/locale_uk.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 739, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_uk.js", + "module": "./tmp/packs/locale_uk.js", + "moduleName": "./tmp/packs/locale_uk.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/uk.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Заблокувати\",\"account.block_domain\":\"Заглушити {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Налаштування профілю\",\"account.follow\":\"Підписатися\",\"account.followers\":\"Підписники\",\"account.follows\":\"Підписки\",\"account.follows_you\":\"Підписаний(-а) на Вас\",\"account.media\":\"Медія\",\"account.mention\":\"Згадати\",\"account.mute\":\"Заглушити\",\"account.posts\":\"Пости\",\"account.report\":\"Поскаржитися\",\"account.requested\":\"Очікує підтвердження\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Розблокувати\",\"account.unblock_domain\":\"Розблокувати {domain}\",\"account.unfollow\":\"Відписатися\",\"account.unmute\":\"Зняти глушення\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"Ви можете натиснути {combo}, щоб пропустити це наступного разу\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Заблоковані користувачі\",\"column.community\":\"Локальна стрічка\",\"column.favourites\":\"Вподобане\",\"column.follow_requests\":\"Запити на підписку\",\"column.home\":\"Головна\",\"column.mutes\":\"Заглушені користувачі\",\"column.notifications\":\"Сповіщення\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Глобальна стрічка\",\"column_back_button.label\":\"Назад\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Навігація\",\"column_subheading.settings\":\"Налаштування\",\"compose_form.lock_disclaimer\":\"Ваш акаунт не {locked}. Кожен може підписатися на Вас та бачити Ваші приватні пости.\",\"compose_form.lock_disclaimer.lock\":\"приватний\",\"compose_form.placeholder\":\"Що у Вас на думці?\",\"compose_form.publish\":\"Дмухнути\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Відмітити як непристойний зміст\",\"compose_form.spoiler\":\"Приховати текст за попередженням\",\"compose_form.spoiler_placeholder\":\"Попередження щодо прихованого тексту\",\"confirmation_modal.cancel\":\"Відмінити\",\"confirmations.block.confirm\":\"Заблокувати\",\"confirmations.block.message\":\"Ви впевнені, що хочете заблокувати {name}?\",\"confirmations.delete.confirm\":\"Видалити\",\"confirmations.delete.message\":\"Ви впевнені, що хочете видалити цей допис?\",\"confirmations.domain_block.confirm\":\"Сховати весь домен\",\"confirmations.domain_block.message\":\"Ви точно, точно впевнені, що хочете заблокувати весь домен {domain}? У більшості випадків для нормальної роботи краще заблокувати/заглушити лише деяких користувачів.\",\"confirmations.mute.confirm\":\"Заглушити\",\"confirmations.mute.message\":\"Ви впевнені, що хочете заглушити {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Заняття\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Прапори\",\"emoji_button.food\":\"Їжа та напої\",\"emoji_button.label\":\"Вставити емодзі\",\"emoji_button.nature\":\"Природа\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Предмети\",\"emoji_button.people\":\"Люди\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Знайти...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Символи\",\"emoji_button.travel\":\"Подорожі\",\"empty_column.community\":\"Локальна стрічка пуста. Напишіть щось, щоб розігріти народ!\",\"empty_column.hashtag\":\"Дописів з цим хештегом поки не існує.\",\"empty_column.home\":\"Ви поки ні на кого не підписані. Погортайте {public}, або скористуйтесь пошуком, щоб освоїтися та познайомитися з іншими користувачами.\",\"empty_column.home.public_timeline\":\"публічні стрічки\",\"empty_column.notifications\":\"У вас ще немає сповіщень. Переписуйтесь з іншими користувачами, щоб почати розмову.\",\"empty_column.public\":\"Тут поки нічого немає! Опублікуйте щось, або вручну підпишіться на користувачів інших інстанцій, щоб заповнити стрічку.\",\"follow_request.authorize\":\"Авторизувати\",\"follow_request.reject\":\"Відмовити\",\"getting_started.appsshort\":\"Додатки\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Ласкаво просимо\",\"getting_started.open_source_notice\":\"Mastodon - програма з відкритим вихідним кодом. Ви можете допомогти проекту, або повідомити про проблеми на GitHub за адресою {github}.\",\"getting_started.userguide\":\"Посібник\",\"home.column_settings.advanced\":\"Додаткові\",\"home.column_settings.basic\":\"Основні\",\"home.column_settings.filter_regex\":\"Відфільтрувати регулярним виразом\",\"home.column_settings.show_reblogs\":\"Показувати передмухи\",\"home.column_settings.show_replies\":\"Показувати відповіді\",\"home.settings\":\"Налаштування колонок\",\"lightbox.close\":\"Закрити\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Завантаження...\",\"media_gallery.toggle_visible\":\"Показати/приховати\",\"missing_indicator.label\":\"Не знайдено\",\"navigation_bar.blocks\":\"Заблоковані користувачі\",\"navigation_bar.community_timeline\":\"Локальна стрічка\",\"navigation_bar.edit_profile\":\"Редагувати профіль\",\"navigation_bar.favourites\":\"Вподобане\",\"navigation_bar.follow_requests\":\"Запити на підписку\",\"navigation_bar.info\":\"Про інстанцію\",\"navigation_bar.logout\":\"Вийти\",\"navigation_bar.mutes\":\"Заглушені користувачі\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Налаштування\",\"navigation_bar.public_timeline\":\"Глобальна стрічка\",\"notification.favourite\":\"{name} сподобався ваш допис\",\"notification.follow\":\"{name} підписався(-лась) на Вас\",\"notification.mention\":\"{name} згадав(-ла) Вас\",\"notification.reblog\":\"{name} передмухнув(-ла) Ваш допис\",\"notifications.clear\":\"Очистити сповіщення\",\"notifications.clear_confirmation\":\"Ви впевнені, що хочете видалити всі сповіщеня?\",\"notifications.column_settings.alert\":\"Десктопні сповіщення\",\"notifications.column_settings.favourite\":\"Вподобане:\",\"notifications.column_settings.follow\":\"Нові підписники:\",\"notifications.column_settings.mention\":\"Сповіщення:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Передмухи:\",\"notifications.column_settings.show\":\"Показати в колонці\",\"notifications.column_settings.sound\":\"Відтворювати звук\",\"onboarding.done\":\"Готово\",\"onboarding.next\":\"Далі\",\"onboarding.page_five.public_timelines\":\"Локальна стрічка показує публічні пости усіх користувачів {domain}. Глобальна стрічка показує публічні пости усіх людей, на яких підписані користувачі {domain}. Це публичні стрічки, відмінний спосіб знайти нових людей.\",\"onboarding.page_four.home\":\"Домашня стрічка показує пости користувачів, на яких Ви підписані.\",\"onboarding.page_four.notifications\":\"Колонка сповіщень показує моменти, коли хтось звертається до Вас.\",\"onboarding.page_one.federation\":\"Mastodon - це мережа незалежних серверів, які разом образовують єдину соціальну мережу. Ми называємо ці сервери інстанціями.\",\"onboarding.page_one.handle\":\"Ви знаходитесь на домені {domain}, тому Ваш повний нік - {handle}\",\"onboarding.page_one.welcome\":\"Ласкаво просимо до Mastodon!\",\"onboarding.page_six.admin\":\"Адміністратором Вашої інстанції є {admin}.\",\"onboarding.page_six.almost_done\":\"Майже готово...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"Для Mastodon існують {apps}, доступні для iOS, Android та інших платформ.\",\"onboarding.page_six.github\":\"Ви можете допомогти проектові чи сповістити про проблеми на GitHub за адресою {github}.\",\"onboarding.page_six.guidelines\":\"правила\",\"onboarding.page_six.read_guidelines\":\"Будь ласка, прочитайте {guidelines} домену {domain}!\",\"onboarding.page_six.various_app\":\"мобільні додатки\",\"onboarding.page_three.profile\":\"Відредагуйте Ваш профіль, щоб змінити Ваши аватарку, інформацію та відображуване ім'я. Там Ви зможете знайти і інші налаштування.\",\"onboarding.page_three.search\":\"Використовуйте рядок пошуку, щоб знайти інших людей та подивитися хештеги накшталт {illustration} та {introductions}. Для того, щоб знайти людину з іншої інстанції, використовуйте їхній повний нікнейм.\",\"onboarding.page_two.compose\":\"Пишіть пости у колонці 'Написати'. Ви можете завантажувати зображення, міняти налаштування приватності та додавати попередження за допомогою піктограм знизу.\",\"onboarding.skip\":\"Пропустити\",\"privacy.change\":\"Змінити видимість допису\",\"privacy.direct.long\":\"Показати тільки згаданим користувачам\",\"privacy.direct.short\":\"Направлений\",\"privacy.private.long\":\"Показати тільки підписникам\",\"privacy.private.short\":\"Тільки для підписників\",\"privacy.public.long\":\"Показувати у публічних стрічках\",\"privacy.public.short\":\"Публічний\",\"privacy.unlisted.long\":\"Не показувати у публічних стрічках\",\"privacy.unlisted.short\":\"Прихований\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Відмінити\",\"report.placeholder\":\"Додаткові коментарі\",\"report.submit\":\"Відправити\",\"report.target\":\"Скаржимося на\",\"search.placeholder\":\"Пошук\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {результат} few {результати} many {результатів} other {результатів}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"Цей допис не може бути передмухнутий\",\"status.delete\":\"Видалити\",\"status.embed\":\"Embed\",\"status.favourite\":\"Подобається\",\"status.load_more\":\"Завантажити більше\",\"status.media_hidden\":\"Медіаконтент приховано\",\"status.mention\":\"Згадати\",\"status.more\":\"More\",\"status.mute_conversation\":\"Заглушити діалог\",\"status.open\":\"Розгорнути допис\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Передмухнути\",\"status.reblogged_by\":\"{name} передмухнув(-ла)\",\"status.reply\":\"Відповісти\",\"status.replyAll\":\"Відповісти на тред\",\"status.report\":\"Поскаржитися\",\"status.sensitive_toggle\":\"Натисніть, щоб подивитися\",\"status.sensitive_warning\":\"Непристойний зміст\",\"status.share\":\"Share\",\"status.show_less\":\"Згорнути\",\"status.show_more\":\"Розгорнути\",\"status.unmute_conversation\":\"Зняти глушення з діалогу\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Написати\",\"tabs_bar.federated_timeline\":\"Глобальна\",\"tabs_bar.home\":\"Головна\",\"tabs_bar.local_timeline\":\"Локальна\",\"tabs_bar.notifications\":\"Сповіщення\",\"upload_area.title\":\"Перетягніть сюди, щоб завантажити\",\"upload_button.label\":\"Додати медіаконтент\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Відмінити\",\"upload_progress.label\":\"Завантаження...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 741, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/uk.js", + "name": "./node_modules/react-intl/locale-data/uk.js", + "index": 901, + "index2": 900, + "size": 2790, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 34 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_uk.js", + "issuerId": 739, + "issuerName": "./tmp/packs/locale_uk.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 739, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_uk.js", + "module": "./tmp/packs/locale_uk.js", + "moduleName": "./tmp/packs/locale_uk.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/uk.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.uk = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"uk\", pluralRuleFunction: function (e, t) {\n var a = String(e).split(\".\"),\n n = a[0],\n o = !a[1],\n r = Number(a[0]) == e,\n i = r && a[0].slice(-1),\n l = r && a[0].slice(-2),\n f = n.slice(-1),\n m = n.slice(-2);return t ? 3 == i && 13 != l ? \"few\" : \"other\" : o && 1 == f && 11 != m ? \"one\" : o && f >= 2 && f <= 4 && (m < 12 || m > 14) ? \"few\" : o && 0 == f || o && f >= 5 && f <= 9 || o && m >= 11 && m <= 14 ? \"many\" : \"other\";\n }, fields: { year: { displayName: \"рік\", relative: { 0: \"цього року\", 1: \"наступного року\", \"-1\": \"торік\" }, relativeTime: { future: { one: \"через {0} рік\", few: \"через {0} роки\", many: \"через {0} років\", other: \"через {0} року\" }, past: { one: \"{0} рік тому\", few: \"{0} роки тому\", many: \"{0} років тому\", other: \"{0} року тому\" } } }, month: { displayName: \"місяць\", relative: { 0: \"цього місяця\", 1: \"наступного місяця\", \"-1\": \"минулого місяця\" }, relativeTime: { future: { one: \"через {0} місяць\", few: \"через {0} місяці\", many: \"через {0} місяців\", other: \"через {0} місяця\" }, past: { one: \"{0} місяць тому\", few: \"{0} місяці тому\", many: \"{0} місяців тому\", other: \"{0} місяця тому\" } } }, day: { displayName: \"день\", relative: { 0: \"сьогодні\", 1: \"завтра\", 2: \"післязавтра\", \"-2\": \"позавчора\", \"-1\": \"учора\" }, relativeTime: { future: { one: \"через {0} день\", few: \"через {0} дні\", many: \"через {0} днів\", other: \"через {0} дня\" }, past: { one: \"{0} день тому\", few: \"{0} дні тому\", many: \"{0} днів тому\", other: \"{0} дня тому\" } } }, hour: { displayName: \"година\", relative: { 0: \"цієї години\" }, relativeTime: { future: { one: \"через {0} годину\", few: \"через {0} години\", many: \"через {0} годин\", other: \"через {0} години\" }, past: { one: \"{0} годину тому\", few: \"{0} години тому\", many: \"{0} годин тому\", other: \"{0} години тому\" } } }, minute: { displayName: \"хвилина\", relative: { 0: \"цієї хвилини\" }, relativeTime: { future: { one: \"через {0} хвилину\", few: \"через {0} хвилини\", many: \"через {0} хвилин\", other: \"через {0} хвилини\" }, past: { one: \"{0} хвилину тому\", few: \"{0} хвилини тому\", many: \"{0} хвилин тому\", other: \"{0} хвилини тому\" } } }, second: { displayName: \"секунда\", relative: { 0: \"зараз\" }, relativeTime: { future: { one: \"через {0} секунду\", few: \"через {0} секунди\", many: \"через {0} секунд\", other: \"через {0} секунди\" }, past: { one: \"{0} секунду тому\", few: \"{0} секунди тому\", many: \"{0} секунд тому\", other: \"{0} секунди тому\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 739, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_uk.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_uk.js", + "moduleName": "./tmp/packs/locale_uk.js", + "loc": "", + "name": "locale_uk", + "reasons": [] + } + ] + }, + { + "id": 35, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 13810, + "names": [ + "locale_tr" + ], + "files": [ + "locale_tr-71d85a06079f5471426f.js", + "locale_tr-71d85a06079f5471426f.js.map" + ], + "hash": "71d85a06079f5471426f", + "parents": [ + 65 + ], + "modules": [ + { + "id": 736, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_tr.js", + "name": "./tmp/packs/locale_tr.js", + "index": 896, + "index2": 898, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 35 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_tr.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/tr.json';\nimport localeData from \"react-intl/locale-data/tr.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 737, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/tr.json", + "name": "./app/javascript/mastodon/locales/tr.json", + "index": 897, + "index2": 896, + "size": 11726, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 35 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_tr.js", + "issuerId": 736, + "issuerName": "./tmp/packs/locale_tr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 736, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_tr.js", + "module": "./tmp/packs/locale_tr.js", + "moduleName": "./tmp/packs/locale_tr.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/tr.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Engelle @{name}\",\"account.block_domain\":\"Hide everything from {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Profili düzenle\",\"account.follow\":\"Takip et\",\"account.followers\":\"Takipçiler\",\"account.follows\":\"Takip ettikleri\",\"account.follows_you\":\"Seni takip ediyor\",\"account.media\":\"Media\",\"account.mention\":\"Bahset @{name}\",\"account.mute\":\"Sustur @{name}\",\"account.posts\":\"Gönderiler\",\"account.report\":\"Rapor et @{name}\",\"account.requested\":\"Onay bekleniyor\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Engeli kaldır @{name}\",\"account.unblock_domain\":\"Unhide {domain}\",\"account.unfollow\":\"Takipten vazgeç\",\"account.unmute\":\"Sesi aç @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"Bir dahaki sefere {combo} tuşuna basabilirsiniz\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Engellenen kullanıcılar\",\"column.community\":\"Yerel zaman tüneli\",\"column.favourites\":\"Favoriler\",\"column.follow_requests\":\"Takip istekleri\",\"column.home\":\"Anasayfa\",\"column.mutes\":\"Susturulmuş kullanıcılar\",\"column.notifications\":\"Bildirimler\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Federe zaman tüneli\",\"column_back_button.label\":\"Geri\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigasyon\",\"column_subheading.settings\":\"Ayarlar\",\"compose_form.lock_disclaimer\":\"Hesabınız {locked} değil. Sadece takipçilerle paylaştığınız gönderileri görebilmek için sizi herhangi bir kullanıcı takip edebilir.\",\"compose_form.lock_disclaimer.lock\":\"kilitli\",\"compose_form.placeholder\":\"Ne düşünüyorsun?\",\"compose_form.publish\":\"Toot\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Görseli hassas olarak işaretle\",\"compose_form.spoiler\":\"Metni uyarı arkasına gizle\",\"compose_form.spoiler_placeholder\":\"İçerik uyarısı\",\"confirmation_modal.cancel\":\"İptal\",\"confirmations.block.confirm\":\"Engelle\",\"confirmations.block.message\":\"{name} kullanıcısını engellemek istiyor musunuz?\",\"confirmations.delete.confirm\":\"Sil\",\"confirmations.delete.message\":\"Bu gönderiyi silmek istiyor musunuz?\",\"confirmations.domain_block.confirm\":\"Hide entire domain\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Sessize al\",\"confirmations.mute.message\":\"{name} kullanıcısını sessize almak istiyor musunuz?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Aktivite\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Bayraklar\",\"emoji_button.food\":\"Yiyecek ve İçecek\",\"emoji_button.label\":\"Emoji ekle\",\"emoji_button.nature\":\"Doğa\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Nesneler\",\"emoji_button.people\":\"İnsanlar\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Emoji ara...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Semboller\",\"emoji_button.travel\":\"Seyahat ve Yerler\",\"empty_column.community\":\"Yerel zaman tüneliniz boş. Daha fazla eğlence için herkese açık bir gönderi paylaşın.\",\"empty_column.hashtag\":\"Henüz bu hashtag’e sahip hiçbir gönderi yok.\",\"empty_column.home\":\"Henüz kimseyi takip etmiyorsunuz. {public} ziyaret edebilir veya arama kısmını kullanarak diğer kullanıcılarla iletişime geçebilirsiniz.\",\"empty_column.home.public_timeline\":\"herkese açık zaman tüneli\",\"empty_column.notifications\":\"Henüz hiçbir bildiriminiz yok. Diğer insanlarla sobhet edebilmek için etkileşime geçebilirsiniz.\",\"empty_column.public\":\"Burada hiçbir gönderi yok! Herkese açık bir şeyler yazın, veya diğer sunucudaki insanları takip ederek bu alanın dolmasını sağlayın\",\"follow_request.authorize\":\"Yetkilendir\",\"follow_request.reject\":\"Reddet\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Başlangıç\",\"getting_started.open_source_notice\":\"Mastodon açık kaynaklı bir yazılımdır. Github {github}. {apps} üzerinden katkıda bulunabilir, hata raporlayabilirsiniz.\",\"getting_started.userguide\":\"User Guide\",\"home.column_settings.advanced\":\"Gelişmiş\",\"home.column_settings.basic\":\"Temel\",\"home.column_settings.filter_regex\":\"Regex kullanarak filtrele\",\"home.column_settings.show_reblogs\":\"Boost edilenleri göster\",\"home.column_settings.show_replies\":\"Cevapları göster\",\"home.settings\":\"Kolon ayarları\",\"lightbox.close\":\"Kapat\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Yükleniyor...\",\"media_gallery.toggle_visible\":\"Görünürlüğü değiştir\",\"missing_indicator.label\":\"Bulunamadı\",\"navigation_bar.blocks\":\"Engellenen kullanıcılar\",\"navigation_bar.community_timeline\":\"Yerel zaman tüneli\",\"navigation_bar.edit_profile\":\"Profili düzenle\",\"navigation_bar.favourites\":\"Favoriler\",\"navigation_bar.follow_requests\":\"Takip istekleri\",\"navigation_bar.info\":\"Genişletilmiş bilgi\",\"navigation_bar.logout\":\"Çıkış\",\"navigation_bar.mutes\":\"Sessize alınmış kullanıcılar\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Tercihler\",\"navigation_bar.public_timeline\":\"Federe zaman tüneli\",\"notification.favourite\":\"{name} senin durumunu favorilere ekledi\",\"notification.follow\":\"{name} seni takip ediyor\",\"notification.mention\":\"{name} mentioned you\",\"notification.reblog\":\"{name} senin durumunu boost etti\",\"notifications.clear\":\"Bildirimleri temizle\",\"notifications.clear_confirmation\":\"Tüm bildirimlerinizi kalıcı olarak temizlemek ister misiniz?\",\"notifications.column_settings.alert\":\"Masaüstü bildirimleri\",\"notifications.column_settings.favourite\":\"Favoriler:\",\"notifications.column_settings.follow\":\"Yeni takipçiler:\",\"notifications.column_settings.mention\":\"Bahsedilenler:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Boost’lar:\",\"notifications.column_settings.show\":\"Bildirimlerde göster\",\"notifications.column_settings.sound\":\"Ses çal\",\"onboarding.done\":\"Tamam\",\"onboarding.next\":\"Sıradaki\",\"onboarding.page_five.public_timelines\":\"Yerel zaman tüneli, bu sunucudaki herkesten gelen gönderileri gösterir.Federe zaman tüneli, kullanıcıların diğer sunuculardan takip ettiği kişilerin herkese açık gönderilerini gösterir. Bunlar herkese açık zaman tünelleridir ve yeni insanlarla tanışmak için harika yerlerdir. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new \",\"onboarding.page_four.home\":\"Takip ettiğiniz insanlardan gelen gönderileri gosteren zaman tünelidir\",\"onboarding.page_four.notifications\":\"Herkimse sizinle iletişime geçtiğinde gelen bildirimleri gösterir.\",\"onboarding.page_one.federation\":\"Mastodon, geniş bir sosyal ağ kurmak için birleşen bağımsız sunuculardan oluşan bir ağdır.\",\"onboarding.page_one.handle\":\"{domain} sunucundasınız, bu yüzden tüm kontrol {handle}\",\"onboarding.page_one.welcome\":\"Mastodon'a hoş geldiniz.\",\"onboarding.page_six.admin\":\"{admin}, şu anda bulunduğunuz sunucunun yöneticisidir.\",\"onboarding.page_six.almost_done\":\"Neredeyse tamam...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"iOS, Android ve diğer platformlar için {apps} mevcuttur\",\"onboarding.page_six.github\":\"Mastodon açık kaynaklı bir yazılımdır. Github {github} üzerinden katkıda bulunabilir, özellik başvurusunda bulunabilir,hata raporlayabilirsiniz.\",\"onboarding.page_six.guidelines\":\"topluluk kılavuzları\",\"onboarding.page_six.read_guidelines\":\"Lütfen {domain}'in {guidelines} kılavuzlarını okuyunuz.\",\"onboarding.page_six.various_app\":\"mobil uygulamalar\",\"onboarding.page_three.profile\":\"Profil resminizi, kişisel bilgilerinizi ve görünen isminizi değiştirmek için profilinizi düzenleyebilirsiniz. Ayrıca diğer tercihlerinizi de düzenleyebilirsiniz.\",\"onboarding.page_three.search\":\"Arama çubuğunu kullanarak kişileri bulabilir, ve {illustration} ve {introductions} gibi hashtag'leri arayabilirsiniz. Eğer bu sunucuda olmayan birini aramak istiyorsanız, kullanıcı adının tamamını yazarak arayabilirsiniz.\",\"onboarding.page_two.compose\":\"Toot oluşturma alanını kullanarak gönderiler yazabilirsiniz. Aşağıdaki ikonları kullanarak görseller ekleyebilir, gizlilik ayarlarını değiştirebilir ve içerik uyarısı ekleyebilirsiniz.\",\"onboarding.skip\":\"Geç\",\"privacy.change\":\"Gönderi gizliliğini ayarla\",\"privacy.direct.long\":\"Sadece bahsedilen kişilere gönder\",\"privacy.direct.short\":\"Direkt\",\"privacy.private.long\":\"Sadece takipçilerime gönder\",\"privacy.private.short\":\"Sadece takipçiler\",\"privacy.public.long\":\"Herkese açık zaman tüneline gönder\",\"privacy.public.short\":\"Herkese açık\",\"privacy.unlisted.long\":\"Herkese açık zaman tüneline gönderme\",\"privacy.unlisted.short\":\"Listelenmemiş\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"İptal\",\"report.placeholder\":\"Ek yorumlar\",\"report.submit\":\"Gönder\",\"report.target\":\"Raporlama\",\"search.placeholder\":\"Ara\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {sonuç} other {sonuçlar}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"Bu gönderi boost edilemez\",\"status.delete\":\"Sil\",\"status.embed\":\"Embed\",\"status.favourite\":\"Favorilere ekle\",\"status.load_more\":\"Daha fazla\",\"status.media_hidden\":\"Gizli görsel\",\"status.mention\":\"Bahset @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Mute conversation\",\"status.open\":\"Bu gönderiyi genişlet\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Boost'la\",\"status.reblogged_by\":\"{name} boost etti\",\"status.reply\":\"Cevapla\",\"status.replyAll\":\"Konuşmayı cevapla\",\"status.report\":\"@{name}'i raporla\",\"status.sensitive_toggle\":\"Görmek için tıklayınız\",\"status.sensitive_warning\":\"Hassas içerik\",\"status.share\":\"Share\",\"status.show_less\":\"Daha azı\",\"status.show_more\":\"Daha fazlası\",\"status.unmute_conversation\":\"Unmute conversation\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Oluştur\",\"tabs_bar.federated_timeline\":\"Federe\",\"tabs_bar.home\":\"Ana sayfa\",\"tabs_bar.local_timeline\":\"Yerel\",\"tabs_bar.notifications\":\"Bildirimler\",\"upload_area.title\":\"Upload için sürükle bırak yapınız\",\"upload_button.label\":\"Görsel ekle\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Geri al\",\"upload_progress.label\":\"Yükleniyor...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 738, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/tr.js", + "name": "./node_modules/react-intl/locale-data/tr.js", + "index": 898, + "index2": 897, + "size": 1759, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 35 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_tr.js", + "issuerId": 736, + "issuerName": "./tmp/packs/locale_tr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 736, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_tr.js", + "module": "./tmp/packs/locale_tr.js", + "moduleName": "./tmp/packs/locale_tr.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/tr.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a() : \"function\" == typeof define && define.amd ? define(a) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.tr = a());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"tr\", pluralRuleFunction: function (e, a) {\n return a ? \"other\" : 1 == e ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"yıl\", relative: { 0: \"bu yıl\", 1: \"gelecek yıl\", \"-1\": \"geçen yıl\" }, relativeTime: { future: { one: \"{0} yıl sonra\", other: \"{0} yıl sonra\" }, past: { one: \"{0} yıl önce\", other: \"{0} yıl önce\" } } }, month: { displayName: \"ay\", relative: { 0: \"bu ay\", 1: \"gelecek ay\", \"-1\": \"geçen ay\" }, relativeTime: { future: { one: \"{0} ay sonra\", other: \"{0} ay sonra\" }, past: { one: \"{0} ay önce\", other: \"{0} ay önce\" } } }, day: { displayName: \"gün\", relative: { 0: \"bugün\", 1: \"yarın\", 2: \"öbür gün\", \"-2\": \"evvelsi gün\", \"-1\": \"dün\" }, relativeTime: { future: { one: \"{0} gün sonra\", other: \"{0} gün sonra\" }, past: { one: \"{0} gün önce\", other: \"{0} gün önce\" } } }, hour: { displayName: \"saat\", relative: { 0: \"bu saat\" }, relativeTime: { future: { one: \"{0} saat sonra\", other: \"{0} saat sonra\" }, past: { one: \"{0} saat önce\", other: \"{0} saat önce\" } } }, minute: { displayName: \"dakika\", relative: { 0: \"bu dakika\" }, relativeTime: { future: { one: \"{0} dakika sonra\", other: \"{0} dakika sonra\" }, past: { one: \"{0} dakika önce\", other: \"{0} dakika önce\" } } }, second: { displayName: \"saniye\", relative: { 0: \"şimdi\" }, relativeTime: { future: { one: \"{0} saniye sonra\", other: \"{0} saniye sonra\" }, past: { one: \"{0} saniye önce\", other: \"{0} saniye önce\" } } } } }, { locale: \"tr-CY\", parentLocale: \"tr\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 736, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_tr.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_tr.js", + "moduleName": "./tmp/packs/locale_tr.js", + "loc": "", + "name": "locale_tr", + "reasons": [] + } + ] + }, + { + "id": 36, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 12659, + "names": [ + "locale_th" + ], + "files": [ + "locale_th-9c80f19a54e11880465c.js", + "locale_th-9c80f19a54e11880465c.js.map" + ], + "hash": "9c80f19a54e11880465c", + "parents": [ + 65 + ], + "modules": [ + { + "id": 733, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_th.js", + "name": "./tmp/packs/locale_th.js", + "index": 893, + "index2": 895, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 36 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_th.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/th.json';\nimport localeData from \"react-intl/locale-data/th.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 734, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/th.json", + "name": "./app/javascript/mastodon/locales/th.json", + "index": 894, + "index2": 893, + "size": 10875, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 36 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_th.js", + "issuerId": 733, + "issuerName": "./tmp/packs/locale_th.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 733, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_th.js", + "module": "./tmp/packs/locale_th.js", + "moduleName": "./tmp/packs/locale_th.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/th.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Block @{name}\",\"account.block_domain\":\"Hide everything from {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Edit profile\",\"account.follow\":\"Follow\",\"account.followers\":\"Followers\",\"account.follows\":\"Follows\",\"account.follows_you\":\"Follows you\",\"account.media\":\"Media\",\"account.mention\":\"Mention @{name}\",\"account.mute\":\"Mute @{name}\",\"account.posts\":\"Posts\",\"account.report\":\"Report @{name}\",\"account.requested\":\"Awaiting approval\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Unblock @{name}\",\"account.unblock_domain\":\"Unhide {domain}\",\"account.unfollow\":\"Unfollow\",\"account.unmute\":\"Unmute @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"You can press {combo} to skip this next time\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Blocked users\",\"column.community\":\"Local timeline\",\"column.favourites\":\"Favourites\",\"column.follow_requests\":\"Follow requests\",\"column.home\":\"Home\",\"column.mutes\":\"Muted users\",\"column.notifications\":\"Notifications\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Federated timeline\",\"column_back_button.label\":\"Back\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Settings\",\"compose_form.lock_disclaimer\":\"Your account is not {locked}. Anyone can follow you to view your follower-only posts.\",\"compose_form.lock_disclaimer.lock\":\"locked\",\"compose_form.placeholder\":\"What is on your mind?\",\"compose_form.publish\":\"Toot\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Mark media as sensitive\",\"compose_form.spoiler\":\"Hide text behind warning\",\"compose_form.spoiler_placeholder\":\"Content warning\",\"confirmation_modal.cancel\":\"Cancel\",\"confirmations.block.confirm\":\"Block\",\"confirmations.block.message\":\"Are you sure you want to block {name}?\",\"confirmations.delete.confirm\":\"Delete\",\"confirmations.delete.message\":\"Are you sure you want to delete this status?\",\"confirmations.domain_block.confirm\":\"Hide entire domain\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Mute\",\"confirmations.mute.message\":\"Are you sure you want to mute {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Activity\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Flags\",\"emoji_button.food\":\"Food & Drink\",\"emoji_button.label\":\"Insert emoji\",\"emoji_button.nature\":\"Nature\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objects\",\"emoji_button.people\":\"People\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Search...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Symbols\",\"emoji_button.travel\":\"Travel & Places\",\"empty_column.community\":\"The local timeline is empty. Write something publicly to get the ball rolling!\",\"empty_column.hashtag\":\"There is nothing in this hashtag yet.\",\"empty_column.home\":\"Your home timeline is empty! Visit {public} or use search to get started and meet other users.\",\"empty_column.home.public_timeline\":\"the public timeline\",\"empty_column.notifications\":\"You don't have any notifications yet. Interact with others to start the conversation.\",\"empty_column.public\":\"There is nothing here! Write something publicly, or manually follow users from other instances to fill it up\",\"follow_request.authorize\":\"Authorize\",\"follow_request.reject\":\"Reject\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Getting started\",\"getting_started.open_source_notice\":\"Mastodon is open source software. You can contribute or report issues on GitHub at {github}.\",\"getting_started.userguide\":\"User Guide\",\"home.column_settings.advanced\":\"Advanced\",\"home.column_settings.basic\":\"Basic\",\"home.column_settings.filter_regex\":\"Filter out by regular expressions\",\"home.column_settings.show_reblogs\":\"Show boosts\",\"home.column_settings.show_replies\":\"Show replies\",\"home.settings\":\"Column settings\",\"lightbox.close\":\"Close\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Loading...\",\"media_gallery.toggle_visible\":\"Toggle visibility\",\"missing_indicator.label\":\"Not found\",\"navigation_bar.blocks\":\"Blocked users\",\"navigation_bar.community_timeline\":\"Local timeline\",\"navigation_bar.edit_profile\":\"Edit profile\",\"navigation_bar.favourites\":\"Favourites\",\"navigation_bar.follow_requests\":\"Follow requests\",\"navigation_bar.info\":\"About this instance\",\"navigation_bar.logout\":\"Logout\",\"navigation_bar.mutes\":\"Muted users\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Preferences\",\"navigation_bar.public_timeline\":\"Federated timeline\",\"notification.favourite\":\"{name} favourited your status\",\"notification.follow\":\"{name} followed you\",\"notification.mention\":\"{name} mentioned you\",\"notification.reblog\":\"{name} boosted your status\",\"notifications.clear\":\"Clear notifications\",\"notifications.clear_confirmation\":\"Are you sure you want to permanently clear all your notifications?\",\"notifications.column_settings.alert\":\"Desktop notifications\",\"notifications.column_settings.favourite\":\"Favourites:\",\"notifications.column_settings.follow\":\"New followers:\",\"notifications.column_settings.mention\":\"Mentions:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Boosts:\",\"notifications.column_settings.show\":\"Show in column\",\"notifications.column_settings.sound\":\"Play sound\",\"onboarding.done\":\"Done\",\"onboarding.next\":\"Next\",\"onboarding.page_five.public_timelines\":\"The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.\",\"onboarding.page_four.home\":\"The home timeline shows posts from people you follow.\",\"onboarding.page_four.notifications\":\"The notifications column shows when someone interacts with you.\",\"onboarding.page_one.federation\":\"Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.\",\"onboarding.page_one.handle\":\"You are on {domain}, so your full handle is {handle}\",\"onboarding.page_one.welcome\":\"Welcome to Mastodon!\",\"onboarding.page_six.admin\":\"Your instance's admin is {admin}.\",\"onboarding.page_six.almost_done\":\"Almost done...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"There are {apps} available for iOS, Android and other platforms.\",\"onboarding.page_six.github\":\"Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.\",\"onboarding.page_six.guidelines\":\"community guidelines\",\"onboarding.page_six.read_guidelines\":\"Please read {domain}'s {guidelines}!\",\"onboarding.page_six.various_app\":\"mobile apps\",\"onboarding.page_three.profile\":\"Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.\",\"onboarding.page_three.search\":\"Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.\",\"onboarding.page_two.compose\":\"Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.\",\"onboarding.skip\":\"Skip\",\"privacy.change\":\"Adjust status privacy\",\"privacy.direct.long\":\"Post to mentioned users only\",\"privacy.direct.short\":\"Direct\",\"privacy.private.long\":\"Post to followers only\",\"privacy.private.short\":\"Followers-only\",\"privacy.public.long\":\"Post to public timelines\",\"privacy.public.short\":\"Public\",\"privacy.unlisted.long\":\"Do not post to public timelines\",\"privacy.unlisted.short\":\"Unlisted\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Cancel\",\"report.placeholder\":\"Additional comments\",\"report.submit\":\"Submit\",\"report.target\":\"Reporting\",\"search.placeholder\":\"Search\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {result} other {results}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"This post cannot be boosted\",\"status.delete\":\"Delete\",\"status.embed\":\"Embed\",\"status.favourite\":\"Favourite\",\"status.load_more\":\"Load more\",\"status.media_hidden\":\"Media hidden\",\"status.mention\":\"Mention @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Mute conversation\",\"status.open\":\"Expand this status\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Boost\",\"status.reblogged_by\":\"{name} boosted\",\"status.reply\":\"Reply\",\"status.replyAll\":\"Reply to thread\",\"status.report\":\"Report @{name}\",\"status.sensitive_toggle\":\"Click to view\",\"status.sensitive_warning\":\"Sensitive content\",\"status.share\":\"Share\",\"status.show_less\":\"Show less\",\"status.show_more\":\"Show more\",\"status.unmute_conversation\":\"Unmute conversation\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Compose\",\"tabs_bar.federated_timeline\":\"Federated\",\"tabs_bar.home\":\"Home\",\"tabs_bar.local_timeline\":\"Local\",\"tabs_bar.notifications\":\"Notifications\",\"upload_area.title\":\"Drag & drop to upload\",\"upload_button.label\":\"Add media\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Undo\",\"upload_progress.label\":\"Uploading...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 735, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/th.js", + "name": "./node_modules/react-intl/locale-data/th.js", + "index": 895, + "index2": 894, + "size": 1459, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 36 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_th.js", + "issuerId": 733, + "issuerName": "./tmp/packs/locale_th.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 733, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_th.js", + "module": "./tmp/packs/locale_th.js", + "moduleName": "./tmp/packs/locale_th.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/th.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.th = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"th\", pluralRuleFunction: function (e, t) {\n return \"other\";\n }, fields: { year: { displayName: \"ปี\", relative: { 0: \"ปีนี้\", 1: \"ปีหน้า\", \"-1\": \"ปีที่แล้ว\" }, relativeTime: { future: { other: \"ในอีก {0} ปี\" }, past: { other: \"{0} ปีที่แล้ว\" } } }, month: { displayName: \"เดือน\", relative: { 0: \"เดือนนี้\", 1: \"เดือนหน้า\", \"-1\": \"เดือนที่แล้ว\" }, relativeTime: { future: { other: \"ในอีก {0} เดือน\" }, past: { other: \"{0} เดือนที่ผ่านมา\" } } }, day: { displayName: \"วัน\", relative: { 0: \"วันนี้\", 1: \"พรุ่งนี้\", 2: \"มะรืนนี้\", \"-2\": \"เมื่อวานซืน\", \"-1\": \"เมื่อวาน\" }, relativeTime: { future: { other: \"ในอีก {0} วัน\" }, past: { other: \"{0} วันที่ผ่านมา\" } } }, hour: { displayName: \"ชั่วโมง\", relative: { 0: \"ชั่วโมงนี้\" }, relativeTime: { future: { other: \"ในอีก {0} ชั่วโมง\" }, past: { other: \"{0} ชั่วโมงที่ผ่านมา\" } } }, minute: { displayName: \"นาที\", relative: { 0: \"นาทีนี้\" }, relativeTime: { future: { other: \"ในอีก {0} นาที\" }, past: { other: \"{0} นาทีที่ผ่านมา\" } } }, second: { displayName: \"วินาที\", relative: { 0: \"ขณะนี้\" }, relativeTime: { future: { other: \"ในอีก {0} วินาที\" }, past: { other: \"{0} วินาทีที่ผ่านมา\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 733, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_th.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_th.js", + "moduleName": "./tmp/packs/locale_th.js", + "loc": "", + "name": "locale_th", + "reasons": [] + } + ] + }, + { + "id": 37, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 13616, + "names": [ + "locale_sv" + ], + "files": [ + "locale_sv-a171cdf4deaf1e12bb0d.js", + "locale_sv-a171cdf4deaf1e12bb0d.js.map" + ], + "hash": "a171cdf4deaf1e12bb0d", + "parents": [ + 65 + ], + "modules": [ + { + "id": 730, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_sv.js", + "name": "./tmp/packs/locale_sv.js", + "index": 890, + "index2": 892, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 37 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_sv.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/sv.json';\nimport localeData from \"react-intl/locale-data/sv.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 731, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/sv.json", + "name": "./app/javascript/mastodon/locales/sv.json", + "index": 891, + "index2": 890, + "size": 11218, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 37 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_sv.js", + "issuerId": 730, + "issuerName": "./tmp/packs/locale_sv.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 730, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_sv.js", + "module": "./tmp/packs/locale_sv.js", + "moduleName": "./tmp/packs/locale_sv.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/sv.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Blockera @{name}\",\"account.block_domain\":\"Dölj allt från {domain}\",\"account.disclaimer_full\":\"Informationen nedan kan spegla användarens profil ofullständigt.\",\"account.edit_profile\":\"Redigera profil\",\"account.follow\":\"Följ\",\"account.followers\":\"Följare\",\"account.follows\":\"Följer\",\"account.follows_you\":\"Följer dig\",\"account.media\":\"Media\",\"account.mention\":\"Nämna @{name}\",\"account.mute\":\"Tysta @{name}\",\"account.posts\":\"Inlägg\",\"account.report\":\"Rapportera @{name}\",\"account.requested\":\"Inväntar godkännande. Klicka för att avbryta följförfrågan\",\"account.share\":\"Dela @{name}'s profil\",\"account.unblock\":\"Avblockera @{name}\",\"account.unblock_domain\":\"Ta fram {domain}\",\"account.unfollow\":\"Sluta följa\",\"account.unmute\":\"Ta bort tystad @{name}\",\"account.view_full_profile\":\"Visa hela profilen\",\"boost_modal.combo\":\"Du kan trycka {combo} för att slippa denna nästa gång\",\"bundle_column_error.body\":\"Något gick fel när du laddade denna komponent.\",\"bundle_column_error.retry\":\"Försök igen\",\"bundle_column_error.title\":\"Nätverksfel\",\"bundle_modal_error.close\":\"Stäng\",\"bundle_modal_error.message\":\"Något gick fel när du laddade denna komponent.\",\"bundle_modal_error.retry\":\"Försök igen\",\"column.blocks\":\"Blockerade användare\",\"column.community\":\"Lokal tidslinje\",\"column.favourites\":\"Favoriter\",\"column.follow_requests\":\"Följ förfrågningar\",\"column.home\":\"Hem\",\"column.mutes\":\"Tystade användare\",\"column.notifications\":\"Meddelanden\",\"column.pins\":\"Nålade toots\",\"column.public\":\"Förenad tidslinje\",\"column_back_button.label\":\"Tillbaka\",\"column_header.hide_settings\":\"Dölj inställningar\",\"column_header.moveLeft_settings\":\"Flytta kolumnen till vänster\",\"column_header.moveRight_settings\":\"Flytta kolumnen till höger\",\"column_header.pin\":\"Fäst\",\"column_header.show_settings\":\"Visa inställningar\",\"column_header.unpin\":\"Ångra fäst\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Inställningar\",\"compose_form.lock_disclaimer\":\"Ditt konto är inte {locked}. Vemsomhelst kan följa dig och även se dina inlägg skrivna för endast dina följare.\",\"compose_form.lock_disclaimer.lock\":\"låst\",\"compose_form.placeholder\":\"Vad funderar du på?\",\"compose_form.publish\":\"Toot\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Markera media som känslig\",\"compose_form.spoiler\":\"Dölj text bakom varning\",\"compose_form.spoiler_placeholder\":\"Skriv din varning här\",\"confirmation_modal.cancel\":\"Ångra\",\"confirmations.block.confirm\":\"Blockera\",\"confirmations.block.message\":\"Är du säker att du vill blockera {name}?\",\"confirmations.delete.confirm\":\"Ta bort\",\"confirmations.delete.message\":\"Är du säker att du vill ta bort denna status?\",\"confirmations.domain_block.confirm\":\"Blockera hela domänen\",\"confirmations.domain_block.message\":\"Är du verkligen, verkligen säker på att du vill blockera hela {domain}? I de flesta fall är några riktade blockeringar eller nedtystade tillräckligt och föredras.\",\"confirmations.mute.confirm\":\"Tysta\",\"confirmations.mute.message\":\"Är du säker du vill tysta ner {name}?\",\"confirmations.unfollow.confirm\":\"Sluta följa\",\"confirmations.unfollow.message\":\"Är du säker på att du vill sluta följa {name}?\",\"embed.instructions\":\"Bädda in den här statusen på din webbplats genom att kopiera koden nedan.\",\"embed.preview\":\"Här ser du hur det kommer att se ut:\",\"emoji_button.activity\":\"Aktivitet\",\"emoji_button.custom\":\"Specialgjord\",\"emoji_button.flags\":\"Flaggor\",\"emoji_button.food\":\"Mat & Dryck\",\"emoji_button.label\":\"Lägg till emoji\",\"emoji_button.nature\":\"Natur\",\"emoji_button.not_found\":\"Inga emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objekt\",\"emoji_button.people\":\"Människor\",\"emoji_button.recent\":\"Ofta använda\",\"emoji_button.search\":\"Sök...\",\"emoji_button.search_results\":\"Sökresultat\",\"emoji_button.symbols\":\"Symboler\",\"emoji_button.travel\":\"Resor & Platser\",\"empty_column.community\":\"Den lokala tidslinjen är tom. Skriv något offentligt för att få bollen att rulla!\",\"empty_column.hashtag\":\"Det finns inget i denna hashtag ännu.\",\"empty_column.home\":\"Din hemma-tidslinje är tom! Besök {public} eller använd sökning för att komma igång och träffa andra användare.\",\"empty_column.home.inactivity\":\"Ditt hemmafeed är tomt. Om du har varit inaktiv ett tag kommer det att regenereras för dig snart.\",\"empty_column.home.public_timeline\":\"den publika tidslinjen\",\"empty_column.notifications\":\"Du har inga meddelanden än. Interagera med andra för att starta konversationen.\",\"empty_column.public\":\"Det finns inget här! Skriv något offentligt, eller följ manuellt användarna från andra instanser för att fylla på det\",\"follow_request.authorize\":\"Godkänn\",\"follow_request.reject\":\"Avvisa\",\"getting_started.appsshort\":\"Appar\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Kom igång\",\"getting_started.open_source_notice\":\"Mastodon är programvara med öppen källkod. Du kan bidra eller rapportera problem på GitHub på {github}.\",\"getting_started.userguide\":\"Användarguide\",\"home.column_settings.advanced\":\"Avancerad\",\"home.column_settings.basic\":\"Grundläggande\",\"home.column_settings.filter_regex\":\"Filtrera ut med regelbundna uttryck\",\"home.column_settings.show_reblogs\":\"Visa knuffar\",\"home.column_settings.show_replies\":\"Visa svar\",\"home.settings\":\"Kolumninställningar\",\"lightbox.close\":\"Stäng\",\"lightbox.next\":\"Nästa\",\"lightbox.previous\":\"Tidigare\",\"loading_indicator.label\":\"Laddar...\",\"media_gallery.toggle_visible\":\"Växla synlighet\",\"missing_indicator.label\":\"Hittades inte\",\"navigation_bar.blocks\":\"Blockerade användare\",\"navigation_bar.community_timeline\":\"Lokal tidslinje\",\"navigation_bar.edit_profile\":\"Redigera profil\",\"navigation_bar.favourites\":\"Favoriter\",\"navigation_bar.follow_requests\":\"Följförfrågningar\",\"navigation_bar.info\":\"Om denna instans\",\"navigation_bar.logout\":\"Logga ut\",\"navigation_bar.mutes\":\"Tystade användare\",\"navigation_bar.pins\":\"Nålade inlägg (toots)\",\"navigation_bar.preferences\":\"Inställningar\",\"navigation_bar.public_timeline\":\"Förenad tidslinje\",\"notification.favourite\":\"{name} favoriserade din status\",\"notification.follow\":\"{name} följer dig\",\"notification.mention\":\"{name} nämnde dig\",\"notification.reblog\":\"{name} knuffade din status\",\"notifications.clear\":\"Rensa meddelanden\",\"notifications.clear_confirmation\":\"Är du säker på att du vill radera alla dina meddelanden permanent?\",\"notifications.column_settings.alert\":\"Skrivbordsmeddelanden\",\"notifications.column_settings.favourite\":\"Favoriter:\",\"notifications.column_settings.follow\":\"Nya följare:\",\"notifications.column_settings.mention\":\"Omnämningar:\",\"notifications.column_settings.push\":\"Push meddelanden\",\"notifications.column_settings.push_meta\":\"Denna anordning\",\"notifications.column_settings.reblog\":\"Knuffar:\",\"notifications.column_settings.show\":\"Visa i kolumnen\",\"notifications.column_settings.sound\":\"Spela upp ljud\",\"onboarding.done\":\"Klart\",\"onboarding.next\":\"Nästa\",\"onboarding.page_five.public_timelines\":\"Den lokala tidslinjen visar offentliga inlägg från alla på {domain}. Den förenade tidslinjen visar offentliga inlägg från alla personer på {domain} som följer. Dom här offentliga tidslinjerna är ett bra sätt att upptäcka nya människor.\",\"onboarding.page_four.home\":\"Hemmatidslinjen visar inlägg från personer du följer.\",\"onboarding.page_four.notifications\":\"Meddelandekolumnen visar när någon interagerar med dig.\",\"onboarding.page_one.federation\":\"Mastodon är ett nätverk av oberoende servrar som ansluter för att skapa ett större socialt nätverk. Vi kallar dessa servrar instanser.\",\"onboarding.page_one.handle\":\"Du är på {domain}, så din fulla hantering är {handle}\",\"onboarding.page_one.welcome\":\"Välkommen till Mastodon!\",\"onboarding.page_six.admin\":\"Din instansadmin är {admin}.\",\"onboarding.page_six.almost_done\":\"Snart klart...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"Det finns {apps} tillgängligt för iOS, Android och andra plattformar.\",\"onboarding.page_six.github\":\"Mastodon är fri programvara med öppen källkod. Du kan rapportera fel, efterfråga funktioner eller bidra till koden på {github}.\",\"onboarding.page_six.guidelines\":\"gemenskapsriktlinjer\",\"onboarding.page_six.read_guidelines\":\"Vänligen läs {domain}'s {guidelines}!\",\"onboarding.page_six.various_app\":\"mobilappar\",\"onboarding.page_three.profile\":\"Redigera din profil för att ändra ditt avatar, bio och visningsnamn. Där hittar du även andra inställningar.\",\"onboarding.page_three.search\":\"Använd sökfältet för att hitta personer och titta på hashtags, till exempel {illustration} och {introductions}. För att leta efter en person som inte befinner sig i detta fall använd deras fulla handhavande.\",\"onboarding.page_two.compose\":\"Skriv inlägg från skrivkolumnen. Du kan ladda upp bilder, ändra integritetsinställningar och lägga till varningar med ikonerna nedan.\",\"onboarding.skip\":\"Hoppa över\",\"privacy.change\":\"Justera status sekretess\",\"privacy.direct.long\":\"Skicka endast till nämnda användare\",\"privacy.direct.short\":\"Direkt\",\"privacy.private.long\":\"Skicka endast till följare\",\"privacy.private.short\":\"Endast följare\",\"privacy.public.long\":\"Skicka till publik tidslinje\",\"privacy.public.short\":\"Publik\",\"privacy.unlisted.long\":\"Skicka inte till publik tidslinje\",\"privacy.unlisted.short\":\"Olistad\",\"reply_indicator.cancel\":\"Ångra\",\"report.placeholder\":\"Ytterligare kommentarer\",\"report.submit\":\"Skicka\",\"report.target\":\"Rapporterar {target}\",\"search.placeholder\":\"Sök\",\"search_popout.search_format\":\"Avancerat sökformat\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Enkel text returnerar matchande visningsnamn, användarnamn och hashtags\",\"search_popout.tips.user\":\"användare\",\"search_results.total\":\"{count, number} {count, plural, ett {result} andra {results}}\",\"standalone.public_title\":\"En titt inuti...\",\"status.cannot_reblog\":\"Detta inlägg kan inte knuffas\",\"status.delete\":\"Ta bort\",\"status.embed\":\"Bädda in\",\"status.favourite\":\"Favorit\",\"status.load_more\":\"Ladda fler\",\"status.media_hidden\":\"Media dold\",\"status.mention\":\"Omnämn @{name}\",\"status.mute_conversation\":\"Tysta konversation\",\"status.open\":\"Utvidga denna status\",\"status.pin\":\"Fäst i profil\",\"status.reblog\":\"Knuff\",\"status.reblogged_by\":\"{name} knuffade\",\"status.reply\":\"Svara\",\"status.replyAll\":\"Svara på tråden\",\"status.report\":\"Rapportera @{name}\",\"status.sensitive_toggle\":\"Klicka för att se\",\"status.sensitive_warning\":\"Känsligt innehåll\",\"status.share\":\"Dela\",\"status.show_less\":\"Visa mindre\",\"status.show_more\":\"Visa mer\",\"status.unmute_conversation\":\"Öppna konversation\",\"status.unpin\":\"Ångra fäst i profil\",\"tabs_bar.compose\":\"Skriv\",\"tabs_bar.federated_timeline\":\"Förenad\",\"tabs_bar.home\":\"Hem\",\"tabs_bar.local_timeline\":\"Lokal\",\"tabs_bar.notifications\":\"Meddelanden\",\"upload_area.title\":\"Dra & släpp för att ladda upp\",\"upload_button.label\":\"Lägg till media\",\"upload_form.description\":\"Beskriv för synskadade\",\"upload_form.undo\":\"Ångra\",\"upload_progress.label\":\"Laddar upp...\",\"video.close\":\"Stäng video\",\"video.exit_fullscreen\":\"Stäng helskärm\",\"video.expand\":\"Expandera video\",\"video.fullscreen\":\"Helskärm\",\"video.hide\":\"Dölj video\",\"video.mute\":\"Tysta ljud\",\"video.pause\":\"Pause\",\"video.play\":\"Spela upp\",\"video.unmute\":\"Spela upp ljud\"}" + }, + { + "id": 732, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/sv.js", + "name": "./node_modules/react-intl/locale-data/sv.js", + "index": 892, + "index2": 891, + "size": 2073, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 37 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_sv.js", + "issuerId": 730, + "issuerName": "./tmp/packs/locale_sv.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 730, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_sv.js", + "module": "./tmp/packs/locale_sv.js", + "moduleName": "./tmp/packs/locale_sv.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/sv.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a() : \"function\" == typeof define && define.amd ? define(a) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.sv = a());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"sv\", pluralRuleFunction: function (e, a) {\n var r = String(e).split(\".\"),\n n = !r[1],\n t = Number(r[0]) == e,\n o = t && r[0].slice(-1),\n i = t && r[0].slice(-2);return a ? 1 != o && 2 != o || 11 == i || 12 == i ? \"other\" : \"one\" : 1 == e && n ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"år\", relative: { 0: \"i år\", 1: \"nästa år\", \"-1\": \"i fjol\" }, relativeTime: { future: { one: \"om {0} år\", other: \"om {0} år\" }, past: { one: \"för {0} år sedan\", other: \"för {0} år sedan\" } } }, month: { displayName: \"månad\", relative: { 0: \"denna månad\", 1: \"nästa månad\", \"-1\": \"förra månaden\" }, relativeTime: { future: { one: \"om {0} månad\", other: \"om {0} månader\" }, past: { one: \"för {0} månad sedan\", other: \"för {0} månader sedan\" } } }, day: { displayName: \"dag\", relative: { 0: \"i dag\", 1: \"i morgon\", 2: \"i övermorgon\", \"-2\": \"i förrgår\", \"-1\": \"i går\" }, relativeTime: { future: { one: \"om {0} dag\", other: \"om {0} dagar\" }, past: { one: \"för {0} dag sedan\", other: \"för {0} dagar sedan\" } } }, hour: { displayName: \"timme\", relative: { 0: \"denna timme\" }, relativeTime: { future: { one: \"om {0} timme\", other: \"om {0} timmar\" }, past: { one: \"för {0} timme sedan\", other: \"för {0} timmar sedan\" } } }, minute: { displayName: \"minut\", relative: { 0: \"denna minut\" }, relativeTime: { future: { one: \"om {0} minut\", other: \"om {0} minuter\" }, past: { one: \"för {0} minut sedan\", other: \"för {0} minuter sedan\" } } }, second: { displayName: \"sekund\", relative: { 0: \"nu\" }, relativeTime: { future: { one: \"om {0} sekund\", other: \"om {0} sekunder\" }, past: { one: \"för {0} sekund sedan\", other: \"för {0} sekunder sedan\" } } } } }, { locale: \"sv-AX\", parentLocale: \"sv\" }, { locale: \"sv-FI\", parentLocale: \"sv\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 730, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_sv.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_sv.js", + "moduleName": "./tmp/packs/locale_sv.js", + "loc": "", + "name": "locale_sv", + "reasons": [] + } + ] + }, + { + "id": 38, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 14754, + "names": [ + "locale_ru" + ], + "files": [ + "locale_ru-6976b8c1b98d9a59e933.js", + "locale_ru-6976b8c1b98d9a59e933.js.map" + ], + "hash": "6976b8c1b98d9a59e933", + "parents": [ + 65 + ], + "modules": [ + { + "id": 727, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ru.js", + "name": "./tmp/packs/locale_ru.js", + "index": 887, + "index2": 889, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 38 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_ru.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/ru.json';\nimport localeData from \"react-intl/locale-data/ru.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 728, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/ru.json", + "name": "./app/javascript/mastodon/locales/ru.json", + "index": 888, + "index2": 887, + "size": 11560, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 38 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ru.js", + "issuerId": 727, + "issuerName": "./tmp/packs/locale_ru.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 727, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ru.js", + "module": "./tmp/packs/locale_ru.js", + "moduleName": "./tmp/packs/locale_ru.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/ru.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Блокировать\",\"account.block_domain\":\"Блокировать все с {domain}\",\"account.disclaimer_full\":\"Нижеуказанная информация может не полностью отражать профиль пользователя.\",\"account.edit_profile\":\"Изменить профиль\",\"account.follow\":\"Подписаться\",\"account.followers\":\"Подписаны\",\"account.follows\":\"Подписки\",\"account.follows_you\":\"Подписан(а) на Вас\",\"account.media\":\"Медиаконтент\",\"account.mention\":\"Упомянуть\",\"account.mute\":\"Заглушить\",\"account.posts\":\"Посты\",\"account.report\":\"Пожаловаться\",\"account.requested\":\"Ожидает подтверждения\",\"account.share\":\"Поделиться профилем @{name}\",\"account.unblock\":\"Разблокировать\",\"account.unblock_domain\":\"Разблокировать {domain}\",\"account.unfollow\":\"Отписаться\",\"account.unmute\":\"Снять глушение\",\"account.view_full_profile\":\"Показать полный профиль\",\"boost_modal.combo\":\"Нажмите {combo}, чтобы пропустить это в следующий раз\",\"bundle_column_error.body\":\"Что-то пошло не так при загрузке этого компонента.\",\"bundle_column_error.retry\":\"Попробовать снова\",\"bundle_column_error.title\":\"Ошибка сети\",\"bundle_modal_error.close\":\"Закрыть\",\"bundle_modal_error.message\":\"Что-то пошло не так при загрузке этого компонента.\",\"bundle_modal_error.retry\":\"Попробовать снова\",\"column.blocks\":\"Список блокировки\",\"column.community\":\"Локальная лента\",\"column.favourites\":\"Понравившееся\",\"column.follow_requests\":\"Запросы на подписку\",\"column.home\":\"Главная\",\"column.mutes\":\"Список глушения\",\"column.notifications\":\"Уведомления\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Глобальная лента\",\"column_back_button.label\":\"Назад\",\"column_header.hide_settings\":\"Скрыть настройки\",\"column_header.moveLeft_settings\":\"Передвинуть колонку влево\",\"column_header.moveRight_settings\":\"Передвинуть колонку вправо\",\"column_header.pin\":\"Закрепить\",\"column_header.show_settings\":\"Показать настройки\",\"column_header.unpin\":\"Открепить\",\"column_subheading.navigation\":\"Навигация\",\"column_subheading.settings\":\"Настройки\",\"compose_form.lock_disclaimer\":\"Ваш аккаунт не {locked}. Любой человек может подписаться на Вас и просматривать посты для подписчиков.\",\"compose_form.lock_disclaimer.lock\":\"закрыт\",\"compose_form.placeholder\":\"О чем Вы думаете?\",\"compose_form.publish\":\"Трубить\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Отметить как чувствительный контент\",\"compose_form.spoiler\":\"Скрыть текст за предупреждением\",\"compose_form.spoiler_placeholder\":\"Напишите свое предупреждение здесь\",\"confirmation_modal.cancel\":\"Отмена\",\"confirmations.block.confirm\":\"Заблокировать\",\"confirmations.block.message\":\"Вы уверены, что хотите заблокировать {name}?\",\"confirmations.delete.confirm\":\"Удалить\",\"confirmations.delete.message\":\"Вы уверены, что хотите удалить этот статус?\",\"confirmations.domain_block.confirm\":\"Блокировать весь домен\",\"confirmations.domain_block.message\":\"Вы на самом деле уверены, что хотите блокировать весь {domain}? В большинстве случаев нескольких отдельных блокировок или глушений достаточно.\",\"confirmations.mute.confirm\":\"Заглушить\",\"confirmations.mute.message\":\"Вы уверены, что хотите заглушить {name}?\",\"confirmations.unfollow.confirm\":\"Отписаться\",\"confirmations.unfollow.message\":\"Вы уверены, что хотите отписаться от {name}?\",\"embed.instructions\":\"Встройте этот статус на Вашем сайте, скопировав код внизу.\",\"embed.preview\":\"Так это будет выглядеть:\",\"emoji_button.activity\":\"Занятия\",\"emoji_button.custom\":\"Собственные\",\"emoji_button.flags\":\"Флаги\",\"emoji_button.food\":\"Еда и напитки\",\"emoji_button.label\":\"Вставить эмодзи\",\"emoji_button.nature\":\"Природа\",\"emoji_button.not_found\":\"Нет эмодзи!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Предметы\",\"emoji_button.people\":\"Люди\",\"emoji_button.recent\":\"Последние\",\"emoji_button.search\":\"Найти...\",\"emoji_button.search_results\":\"Результаты поиска\",\"emoji_button.symbols\":\"Символы\",\"emoji_button.travel\":\"Путешествия\",\"empty_column.community\":\"Локальная лента пуста. Напишите что-нибудь, чтобы разогреть народ!\",\"empty_column.hashtag\":\"Статусов с таким хэштегом еще не существует.\",\"empty_column.home\":\"Пока Вы ни на кого не подписаны. Полистайте {public} или используйте поиск, чтобы освоиться и завести новые знакомства.\",\"empty_column.home.public_timeline\":\"публичные ленты\",\"empty_column.notifications\":\"У Вас еще нет уведомлений. Заведите знакомство с другими пользователями, чтобы начать разговор.\",\"empty_column.public\":\"Здесь ничего нет! Опубликуйте что-нибудь или подпишитесь на пользователей с других узлов, чтобы заполнить ленту.\",\"follow_request.authorize\":\"Авторизовать\",\"follow_request.reject\":\"Отказать\",\"getting_started.appsshort\":\"Приложения\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Добро пожаловать\",\"getting_started.open_source_notice\":\"Mastodon - программа с открытым исходным кодом. Вы можете помочь проекту или сообщить о проблемах на GitHub по адресу {github}.\",\"getting_started.userguide\":\"Руководство\",\"home.column_settings.advanced\":\"Дополнительные\",\"home.column_settings.basic\":\"Основные\",\"home.column_settings.filter_regex\":\"Отфильтровать регулярным выражением\",\"home.column_settings.show_reblogs\":\"Показывать продвижения\",\"home.column_settings.show_replies\":\"Показывать ответы\",\"home.settings\":\"Настройки колонки\",\"lightbox.close\":\"Закрыть\",\"lightbox.next\":\"Далее\",\"lightbox.previous\":\"Назад\",\"loading_indicator.label\":\"Загрузка...\",\"media_gallery.toggle_visible\":\"Показать/скрыть\",\"missing_indicator.label\":\"Не найдено\",\"navigation_bar.blocks\":\"Список блокировки\",\"navigation_bar.community_timeline\":\"Локальная лента\",\"navigation_bar.edit_profile\":\"Изменить профиль\",\"navigation_bar.favourites\":\"Понравившееся\",\"navigation_bar.follow_requests\":\"Запросы на подписку\",\"navigation_bar.info\":\"Об узле\",\"navigation_bar.logout\":\"Выйти\",\"navigation_bar.mutes\":\"Список глушения\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Опции\",\"navigation_bar.public_timeline\":\"Глобальная лента\",\"notification.favourite\":\"{name} понравился Ваш статус\",\"notification.follow\":\"{name} подписался(-лась) на Вас\",\"notification.mention\":\"{name} упомянул(а) Вас\",\"notification.reblog\":\"{name} продвинул(а) Ваш статус\",\"notifications.clear\":\"Очистить уведомления\",\"notifications.clear_confirmation\":\"Вы уверены, что хотите очистить все уведомления?\",\"notifications.column_settings.alert\":\"Десктопные уведомления\",\"notifications.column_settings.favourite\":\"Нравится:\",\"notifications.column_settings.follow\":\"Новые подписчики:\",\"notifications.column_settings.mention\":\"Упоминания:\",\"notifications.column_settings.push\":\"Push-уведомления\",\"notifications.column_settings.push_meta\":\"Это устройство\",\"notifications.column_settings.reblog\":\"Продвижения:\",\"notifications.column_settings.show\":\"Показывать в колонке\",\"notifications.column_settings.sound\":\"Проигрывать звук\",\"onboarding.done\":\"Готово\",\"onboarding.next\":\"Далее\",\"onboarding.page_five.public_timelines\":\"Локальная лента показывает публичные посты всех пользователей {domain}. Глобальная лента показывает публичные посты всех людей, на которых подписаны пользователи {domain}. Это - публичные ленты, отличный способ найти новые знакомства.\",\"onboarding.page_four.home\":\"Домашняя лента показывает посты от тех, на кого Вы подписаны.\",\"onboarding.page_four.notifications\":\"Колонка уведомлений сообщает о взаимодействии с Вами других людей.\",\"onboarding.page_one.federation\":\"Mastodon - это сеть независимых серверов, которые вместе образуют единую социальную сеть. Мы называем эти сервера узлами.\",\"onboarding.page_one.handle\":\"Вы находитесь на {domain}, поэтому Ваше полное имя пользователя - {handle}\",\"onboarding.page_one.welcome\":\"Добро пожаловать в Mastodon!\",\"onboarding.page_six.admin\":\"Админ Вашего узла - {admin}.\",\"onboarding.page_six.almost_done\":\"Почти готово...\",\"onboarding.page_six.appetoot\":\"Удачи!\",\"onboarding.page_six.apps_available\":\"Для взаимодействия с Mastodon существуют {apps} для iOS, Android и других платформ.\",\"onboarding.page_six.github\":\"Mastodon - свободная программа с открытым исходным кодом. Вы можете сообщить о баге, предложить идею или поучаствовать в разработке на {github}.\",\"onboarding.page_six.guidelines\":\"правила поведения\",\"onboarding.page_six.read_guidelines\":\"Пожалуйста, прочитайте {guidelines} для {domain}!\",\"onboarding.page_six.various_app\":\"мобильные приложения\",\"onboarding.page_three.profile\":\"Отредактируйте свой профиль, чтобы изменить аватар, короткую информацию о Вас, отображаемое имя и другие настройки.\",\"onboarding.page_three.search\":\"Используйте панель поиска, чтобы искать людей и хэштеги, например, {illustration} и {introductions}. Чтобы найти человека, находящегося на другом узле, введите его полное имя пользователя.\",\"onboarding.page_two.compose\":\"Пишите посты в колонке автора. Вы можете загружать изображения, изменять настройки видимости и добавлять предупреждения о контенте с помощью иконок внизу.\",\"onboarding.skip\":\"Пропустить\",\"privacy.change\":\"Изменить видимость статуса\",\"privacy.direct.long\":\"Показать только упомянутым\",\"privacy.direct.short\":\"Направленный\",\"privacy.private.long\":\"Показать только подписчикам\",\"privacy.private.short\":\"Приватный\",\"privacy.public.long\":\"Показать в публичных лентах\",\"privacy.public.short\":\"Публичный\",\"privacy.unlisted.long\":\"Не показывать в лентах\",\"privacy.unlisted.short\":\"Скрытый\",\"relative_time.days\":\"{number}д\",\"relative_time.hours\":\"{number}ч\",\"relative_time.just_now\":\"только что\",\"relative_time.minutes\":\"{number}м\",\"relative_time.seconds\":\"{number}с\",\"reply_indicator.cancel\":\"Отмена\",\"report.placeholder\":\"Комментарий\",\"report.submit\":\"Отправить\",\"report.target\":\"Жалуемся на\",\"search.placeholder\":\"Поиск\",\"search_popout.search_format\":\"Продвинутый формат поиска\",\"search_popout.tips.hashtag\":\"хэштег\",\"search_popout.tips.status\":\"статус\",\"search_popout.tips.text\":\"Простой ввод текста покажет совпадающие имена пользователей, отображаемые имена и хэштеги\",\"search_popout.tips.user\":\"пользователь\",\"search_results.total\":\"{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}\",\"standalone.public_title\":\"Прямо сейчас\",\"status.cannot_reblog\":\"Этот статус не может быть продвинут\",\"status.delete\":\"Удалить\",\"status.embed\":\"Встроить\",\"status.favourite\":\"Нравится\",\"status.load_more\":\"Показать еще\",\"status.media_hidden\":\"Медиаконтент скрыт\",\"status.mention\":\"Упомянуть @{name}\",\"status.more\":\"Больше\",\"status.mute_conversation\":\"Заглушить тред\",\"status.open\":\"Развернуть статус\",\"status.pin\":\"Закрепить в профиле\",\"status.reblog\":\"Продвинуть\",\"status.reblogged_by\":\"{name} продвинул(а)\",\"status.reply\":\"Ответить\",\"status.replyAll\":\"Ответить на тред\",\"status.report\":\"Пожаловаться\",\"status.sensitive_toggle\":\"Нажмите для просмотра\",\"status.sensitive_warning\":\"Чувствительный контент\",\"status.share\":\"Поделиться\",\"status.show_less\":\"Свернуть\",\"status.show_more\":\"Развернуть\",\"status.unmute_conversation\":\"Снять глушение с треда\",\"status.unpin\":\"Открепить от профиля\",\"tabs_bar.compose\":\"Написать\",\"tabs_bar.federated_timeline\":\"Глобальная\",\"tabs_bar.home\":\"Главная\",\"tabs_bar.local_timeline\":\"Локальная\",\"tabs_bar.notifications\":\"Уведомления\",\"upload_area.title\":\"Перетащите сюда, чтобы загрузить\",\"upload_button.label\":\"Добавить медиаконтент\",\"upload_form.description\":\"Описать для людей с нарушениями зрения\",\"upload_form.undo\":\"Отменить\",\"upload_progress.label\":\"Загрузка...\",\"video.close\":\"Закрыть видео\",\"video.exit_fullscreen\":\"Покинуть полноэкранный режим\",\"video.expand\":\"Развернуть видео\",\"video.fullscreen\":\"Полноэкранный режим\",\"video.hide\":\"Скрыть видео\",\"video.mute\":\"Заглушить звук\",\"video.pause\":\"Пауза\",\"video.play\":\"Пуск\",\"video.unmute\":\"Включить звук\"}" + }, + { + "id": 729, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/ru.js", + "name": "./node_modules/react-intl/locale-data/ru.js", + "index": 889, + "index2": 888, + "size": 2869, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 38 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ru.js", + "issuerId": 727, + "issuerName": "./tmp/packs/locale_ru.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 727, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ru.js", + "module": "./tmp/packs/locale_ru.js", + "moduleName": "./tmp/packs/locale_ru.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/ru.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a() : \"function\" == typeof define && define.amd ? define(a) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.ru = a());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"ru\", pluralRuleFunction: function (e, a) {\n var t = String(e).split(\".\"),\n r = t[0],\n o = !t[1],\n n = r.slice(-1),\n l = r.slice(-2);return a ? \"other\" : o && 1 == n && 11 != l ? \"one\" : o && n >= 2 && n <= 4 && (l < 12 || l > 14) ? \"few\" : o && 0 == n || o && n >= 5 && n <= 9 || o && l >= 11 && l <= 14 ? \"many\" : \"other\";\n }, fields: { year: { displayName: \"год\", relative: { 0: \"в этом году\", 1: \"в следующем году\", \"-1\": \"в прошлом году\" }, relativeTime: { future: { one: \"через {0} год\", few: \"через {0} года\", many: \"через {0} лет\", other: \"через {0} года\" }, past: { one: \"{0} год назад\", few: \"{0} года назад\", many: \"{0} лет назад\", other: \"{0} года назад\" } } }, month: { displayName: \"месяц\", relative: { 0: \"в этом месяце\", 1: \"в следующем месяце\", \"-1\": \"в прошлом месяце\" }, relativeTime: { future: { one: \"через {0} месяц\", few: \"через {0} месяца\", many: \"через {0} месяцев\", other: \"через {0} месяца\" }, past: { one: \"{0} месяц назад\", few: \"{0} месяца назад\", many: \"{0} месяцев назад\", other: \"{0} месяца назад\" } } }, day: { displayName: \"день\", relative: { 0: \"сегодня\", 1: \"завтра\", 2: \"послезавтра\", \"-2\": \"позавчера\", \"-1\": \"вчера\" }, relativeTime: { future: { one: \"через {0} день\", few: \"через {0} дня\", many: \"через {0} дней\", other: \"через {0} дня\" }, past: { one: \"{0} день назад\", few: \"{0} дня назад\", many: \"{0} дней назад\", other: \"{0} дня назад\" } } }, hour: { displayName: \"час\", relative: { 0: \"в этом часе\" }, relativeTime: { future: { one: \"через {0} час\", few: \"через {0} часа\", many: \"через {0} часов\", other: \"через {0} часа\" }, past: { one: \"{0} час назад\", few: \"{0} часа назад\", many: \"{0} часов назад\", other: \"{0} часа назад\" } } }, minute: { displayName: \"минута\", relative: { 0: \"в эту минуту\" }, relativeTime: { future: { one: \"через {0} минуту\", few: \"через {0} минуты\", many: \"через {0} минут\", other: \"через {0} минуты\" }, past: { one: \"{0} минуту назад\", few: \"{0} минуты назад\", many: \"{0} минут назад\", other: \"{0} минуты назад\" } } }, second: { displayName: \"секунда\", relative: { 0: \"сейчас\" }, relativeTime: { future: { one: \"через {0} секунду\", few: \"через {0} секунды\", many: \"через {0} секунд\", other: \"через {0} секунды\" }, past: { one: \"{0} секунду назад\", few: \"{0} секунды назад\", many: \"{0} секунд назад\", other: \"{0} секунды назад\" } } } } }, { locale: \"ru-BY\", parentLocale: \"ru\" }, { locale: \"ru-KG\", parentLocale: \"ru\" }, { locale: \"ru-KZ\", parentLocale: \"ru\" }, { locale: \"ru-MD\", parentLocale: \"ru\" }, { locale: \"ru-UA\", parentLocale: \"ru\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 727, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ru.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ru.js", + "moduleName": "./tmp/packs/locale_ru.js", + "loc": "", + "name": "locale_ru", + "reasons": [] + } + ] + }, + { + "id": 39, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 14985, + "names": [ + "locale_pt" + ], + "files": [ + "locale_pt-ab5ecfe44d3e665b5bb7.js", + "locale_pt-ab5ecfe44d3e665b5bb7.js.map" + ], + "hash": "ab5ecfe44d3e665b5bb7", + "parents": [ + 65 + ], + "modules": [ + { + "id": 149, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/pt.js", + "name": "./node_modules/react-intl/locale-data/pt.js", + "index": 884, + "index2": 883, + "size": 3601, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 39, + 40 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt-BR.js", + "issuerId": 723, + "issuerName": "./tmp/packs/locale_pt-BR.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 723, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt-BR.js", + "module": "./tmp/packs/locale_pt-BR.js", + "moduleName": "./tmp/packs/locale_pt-BR.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/pt.js", + "loc": "6:0-54" + }, + { + "moduleId": 725, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt.js", + "module": "./tmp/packs/locale_pt.js", + "moduleName": "./tmp/packs/locale_pt.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/pt.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.pt = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"pt\", pluralRuleFunction: function (e, t) {\n var o = String(e).split(\".\")[0];return t ? \"other\" : 0 == o || 1 == o ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"ano\", relative: { 0: \"este ano\", 1: \"próximo ano\", \"-1\": \"ano passado\" }, relativeTime: { future: { one: \"em {0} ano\", other: \"em {0} anos\" }, past: { one: \"há {0} ano\", other: \"há {0} anos\" } } }, month: { displayName: \"mês\", relative: { 0: \"este mês\", 1: \"próximo mês\", \"-1\": \"mês passado\" }, relativeTime: { future: { one: \"em {0} mês\", other: \"em {0} meses\" }, past: { one: \"há {0} mês\", other: \"há {0} meses\" } } }, day: { displayName: \"dia\", relative: { 0: \"hoje\", 1: \"amanhã\", 2: \"depois de amanhã\", \"-2\": \"anteontem\", \"-1\": \"ontem\" }, relativeTime: { future: { one: \"em {0} dia\", other: \"em {0} dias\" }, past: { one: \"há {0} dia\", other: \"há {0} dias\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"em {0} hora\", other: \"em {0} horas\" }, past: { one: \"há {0} hora\", other: \"há {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"em {0} minuto\", other: \"em {0} minutos\" }, past: { one: \"há {0} minuto\", other: \"há {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"agora\" }, relativeTime: { future: { one: \"em {0} segundo\", other: \"em {0} segundos\" }, past: { one: \"há {0} segundo\", other: \"há {0} segundos\" } } } } }, { locale: \"pt-AO\", parentLocale: \"pt-PT\" }, { locale: \"pt-PT\", parentLocale: \"pt\", fields: { year: { displayName: \"ano\", relative: { 0: \"este ano\", 1: \"próximo ano\", \"-1\": \"ano passado\" }, relativeTime: { future: { one: \"dentro de {0} ano\", other: \"dentro de {0} anos\" }, past: { one: \"há {0} ano\", other: \"há {0} anos\" } } }, month: { displayName: \"mês\", relative: { 0: \"este mês\", 1: \"próximo mês\", \"-1\": \"mês passado\" }, relativeTime: { future: { one: \"dentro de {0} mês\", other: \"dentro de {0} meses\" }, past: { one: \"há {0} mês\", other: \"há {0} meses\" } } }, day: { displayName: \"dia\", relative: { 0: \"hoje\", 1: \"amanhã\", 2: \"depois de amanhã\", \"-2\": \"anteontem\", \"-1\": \"ontem\" }, relativeTime: { future: { one: \"dentro de {0} dia\", other: \"dentro de {0} dias\" }, past: { one: \"há {0} dia\", other: \"há {0} dias\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"há {0} hora\", other: \"há {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"há {0} minuto\", other: \"há {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"agora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"há {0} segundo\", other: \"há {0} segundos\" } } } } }, { locale: \"pt-CH\", parentLocale: \"pt-PT\" }, { locale: \"pt-CV\", parentLocale: \"pt-PT\" }, { locale: \"pt-GQ\", parentLocale: \"pt-PT\" }, { locale: \"pt-GW\", parentLocale: \"pt-PT\" }, { locale: \"pt-LU\", parentLocale: \"pt-PT\" }, { locale: \"pt-MO\", parentLocale: \"pt-PT\" }, { locale: \"pt-MZ\", parentLocale: \"pt-PT\" }, { locale: \"pt-ST\", parentLocale: \"pt-PT\" }, { locale: \"pt-TL\", parentLocale: \"pt-PT\" }];\n});" + }, + { + "id": 725, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt.js", + "name": "./tmp/packs/locale_pt.js", + "index": 885, + "index2": 886, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 39 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_pt.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/pt.json';\nimport localeData from \"react-intl/locale-data/pt.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 726, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/pt.json", + "name": "./app/javascript/mastodon/locales/pt.json", + "index": 886, + "index2": 885, + "size": 11059, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 39 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt.js", + "issuerId": 725, + "issuerName": "./tmp/packs/locale_pt.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 725, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt.js", + "module": "./tmp/packs/locale_pt.js", + "moduleName": "./tmp/packs/locale_pt.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/pt.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Bloquear @{name}\",\"account.block_domain\":\"Hide everything from {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Editar perfil\",\"account.follow\":\"Seguir\",\"account.followers\":\"Seguidores\",\"account.follows\":\"Segue\",\"account.follows_you\":\"É teu seguidor\",\"account.media\":\"Media\",\"account.mention\":\"Mencionar @{name}\",\"account.mute\":\"Silenciar @{name}\",\"account.posts\":\"Posts\",\"account.report\":\"Denunciar @{name}\",\"account.requested\":\"A aguardar aprovação\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Não bloquear @{name}\",\"account.unblock_domain\":\"Unhide {domain}\",\"account.unfollow\":\"Deixar de seguir\",\"account.unmute\":\"Não silenciar @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"Pode clicar {combo} para não voltar a ver\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Utilizadores Bloqueados\",\"column.community\":\"Local\",\"column.favourites\":\"Favoritos\",\"column.follow_requests\":\"Seguidores Pendentes\",\"column.home\":\"Home\",\"column.mutes\":\"Utilizadores silenciados\",\"column.notifications\":\"Notificações\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Global\",\"column_back_button.label\":\"Voltar\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Settings\",\"compose_form.lock_disclaimer\":\"Your account is not {locked}. Anyone can follow you to view your follower-only posts.\",\"compose_form.lock_disclaimer.lock\":\"locked\",\"compose_form.placeholder\":\"Em que estás a pensar?\",\"compose_form.publish\":\"Publicar\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Marcar media como conteúdo sensível\",\"compose_form.spoiler\":\"Esconder texto com aviso\",\"compose_form.spoiler_placeholder\":\"Aviso de conteúdo\",\"confirmation_modal.cancel\":\"Cancel\",\"confirmations.block.confirm\":\"Block\",\"confirmations.block.message\":\"Are you sure you want to block {name}?\",\"confirmations.delete.confirm\":\"Delete\",\"confirmations.delete.message\":\"Are you sure you want to delete this status?\",\"confirmations.domain_block.confirm\":\"Hide entire domain\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Mute\",\"confirmations.mute.message\":\"Are you sure you want to mute {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Activity\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Flags\",\"emoji_button.food\":\"Food & Drink\",\"emoji_button.label\":\"Inserir Emoji\",\"emoji_button.nature\":\"Nature\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objects\",\"emoji_button.people\":\"People\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Search...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Symbols\",\"emoji_button.travel\":\"Travel & Places\",\"empty_column.community\":\"Ainda não existem conteúdo local para mostrar!\",\"empty_column.hashtag\":\"Ainda não existe qualquer conteúdo com essa hashtag\",\"empty_column.home\":\"Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.\",\"empty_column.home.public_timeline\":\"global\",\"empty_column.notifications\":\"Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.\",\"empty_column.public\":\"Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.\",\"follow_request.authorize\":\"Autorizar\",\"follow_request.reject\":\"Rejeitar\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Primeiros passos\",\"getting_started.open_source_notice\":\"Mastodon é software de fonte aberta. Podes contribuir ou repostar problemas no GitHub do projecto: {github}.\",\"getting_started.userguide\":\"User Guide\",\"home.column_settings.advanced\":\"Avançado\",\"home.column_settings.basic\":\"Básico\",\"home.column_settings.filter_regex\":\"Filtrar com uma expressão regular\",\"home.column_settings.show_reblogs\":\"Mostrar as partilhas\",\"home.column_settings.show_replies\":\"Mostrar as respostas\",\"home.settings\":\"Parâmetros da listagem\",\"lightbox.close\":\"Fechar\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Carregando...\",\"media_gallery.toggle_visible\":\"Esconder/Mostrar\",\"missing_indicator.label\":\"Não encontrado\",\"navigation_bar.blocks\":\"Utilizadores bloqueados\",\"navigation_bar.community_timeline\":\"Local\",\"navigation_bar.edit_profile\":\"Editar perfil\",\"navigation_bar.favourites\":\"Favoritos\",\"navigation_bar.follow_requests\":\"Seguidores pendentes\",\"navigation_bar.info\":\"Mais informações\",\"navigation_bar.logout\":\"Sair\",\"navigation_bar.mutes\":\"Utilizadores silenciados\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Preferências\",\"navigation_bar.public_timeline\":\"Global\",\"notification.favourite\":\"{name} adicionou o teu post aos favoritos\",\"notification.follow\":\"{name} seguiu-te\",\"notification.mention\":\"{name} mencionou-te\",\"notification.reblog\":\"{name} partilhou o teu post\",\"notifications.clear\":\"Limpar notificações\",\"notifications.clear_confirmation\":\"Queres mesmo limpar todas as notificações?\",\"notifications.column_settings.alert\":\"Notificações no computador\",\"notifications.column_settings.favourite\":\"Favoritos:\",\"notifications.column_settings.follow\":\"Novos seguidores:\",\"notifications.column_settings.mention\":\"Menções:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Partilhas:\",\"notifications.column_settings.show\":\"Mostrar nas colunas\",\"notifications.column_settings.sound\":\"Reproduzir som\",\"onboarding.done\":\"Done\",\"onboarding.next\":\"Next\",\"onboarding.page_five.public_timelines\":\"The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.\",\"onboarding.page_four.home\":\"The home timeline shows posts from people you follow.\",\"onboarding.page_four.notifications\":\"The notifications column shows when someone interacts with you.\",\"onboarding.page_one.federation\":\"Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.\",\"onboarding.page_one.handle\":\"You are on {domain}, so your full handle is {handle}\",\"onboarding.page_one.welcome\":\"Welcome to Mastodon!\",\"onboarding.page_six.admin\":\"Your instance's admin is {admin}.\",\"onboarding.page_six.almost_done\":\"Almost done...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"There are {apps} available for iOS, Android and other platforms.\",\"onboarding.page_six.github\":\"Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.\",\"onboarding.page_six.guidelines\":\"community guidelines\",\"onboarding.page_six.read_guidelines\":\"Please read {domain}'s {guidelines}!\",\"onboarding.page_six.various_app\":\"mobile apps\",\"onboarding.page_three.profile\":\"Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.\",\"onboarding.page_three.search\":\"Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.\",\"onboarding.page_two.compose\":\"Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.\",\"onboarding.skip\":\"Skip\",\"privacy.change\":\"Ajustar a privacidade da mensagem\",\"privacy.direct.long\":\"Apenas para utilizadores mencionados\",\"privacy.direct.short\":\"Directo\",\"privacy.private.long\":\"Apenas para os seguidores\",\"privacy.private.short\":\"Privado\",\"privacy.public.long\":\"Publicar em todos os feeds\",\"privacy.public.short\":\"Público\",\"privacy.unlisted.long\":\"Não publicar nos feeds públicos\",\"privacy.unlisted.short\":\"Não listar\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Cancelar\",\"report.placeholder\":\"Comentários adicionais\",\"report.submit\":\"Enviar\",\"report.target\":\"Denunciar\",\"search.placeholder\":\"Pesquisar\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {resultado} other {resultados}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"This post cannot be boosted\",\"status.delete\":\"Eliminar\",\"status.embed\":\"Embed\",\"status.favourite\":\"Adicionar aos favoritos\",\"status.load_more\":\"Carregar mais\",\"status.media_hidden\":\"Media escondida\",\"status.mention\":\"Mencionar @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Mute conversation\",\"status.open\":\"Expandir\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Partilhar\",\"status.reblogged_by\":\"{name} partilhou\",\"status.reply\":\"Responder\",\"status.replyAll\":\"Reply to thread\",\"status.report\":\"Denúnciar @{name}\",\"status.sensitive_toggle\":\"Clique para ver\",\"status.sensitive_warning\":\"Conteúdo sensível\",\"status.share\":\"Share\",\"status.show_less\":\"Mostrar menos\",\"status.show_more\":\"Mostrar mais\",\"status.unmute_conversation\":\"Unmute conversation\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Criar\",\"tabs_bar.federated_timeline\":\"Global\",\"tabs_bar.home\":\"Home\",\"tabs_bar.local_timeline\":\"Local\",\"tabs_bar.notifications\":\"Notificações\",\"upload_area.title\":\"Arraste e solte para enviar\",\"upload_button.label\":\"Adicionar media\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Anular\",\"upload_progress.label\":\"A gravar...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 725, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt.js", + "moduleName": "./tmp/packs/locale_pt.js", + "loc": "", + "name": "locale_pt", + "reasons": [] + } + ] + }, + { + "id": 40, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 15773, + "names": [ + "locale_pt-BR" + ], + "files": [ + "locale_pt-BR-d2e312d147c156be6d25.js", + "locale_pt-BR-d2e312d147c156be6d25.js.map" + ], + "hash": "d2e312d147c156be6d25", + "parents": [ + 65 + ], + "modules": [ + { + "id": 149, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/pt.js", + "name": "./node_modules/react-intl/locale-data/pt.js", + "index": 884, + "index2": 883, + "size": 3601, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 39, + 40 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt-BR.js", + "issuerId": 723, + "issuerName": "./tmp/packs/locale_pt-BR.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 723, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt-BR.js", + "module": "./tmp/packs/locale_pt-BR.js", + "moduleName": "./tmp/packs/locale_pt-BR.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/pt.js", + "loc": "6:0-54" + }, + { + "moduleId": 725, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt.js", + "module": "./tmp/packs/locale_pt.js", + "moduleName": "./tmp/packs/locale_pt.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/pt.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.pt = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"pt\", pluralRuleFunction: function (e, t) {\n var o = String(e).split(\".\")[0];return t ? \"other\" : 0 == o || 1 == o ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"ano\", relative: { 0: \"este ano\", 1: \"próximo ano\", \"-1\": \"ano passado\" }, relativeTime: { future: { one: \"em {0} ano\", other: \"em {0} anos\" }, past: { one: \"há {0} ano\", other: \"há {0} anos\" } } }, month: { displayName: \"mês\", relative: { 0: \"este mês\", 1: \"próximo mês\", \"-1\": \"mês passado\" }, relativeTime: { future: { one: \"em {0} mês\", other: \"em {0} meses\" }, past: { one: \"há {0} mês\", other: \"há {0} meses\" } } }, day: { displayName: \"dia\", relative: { 0: \"hoje\", 1: \"amanhã\", 2: \"depois de amanhã\", \"-2\": \"anteontem\", \"-1\": \"ontem\" }, relativeTime: { future: { one: \"em {0} dia\", other: \"em {0} dias\" }, past: { one: \"há {0} dia\", other: \"há {0} dias\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"em {0} hora\", other: \"em {0} horas\" }, past: { one: \"há {0} hora\", other: \"há {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"em {0} minuto\", other: \"em {0} minutos\" }, past: { one: \"há {0} minuto\", other: \"há {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"agora\" }, relativeTime: { future: { one: \"em {0} segundo\", other: \"em {0} segundos\" }, past: { one: \"há {0} segundo\", other: \"há {0} segundos\" } } } } }, { locale: \"pt-AO\", parentLocale: \"pt-PT\" }, { locale: \"pt-PT\", parentLocale: \"pt\", fields: { year: { displayName: \"ano\", relative: { 0: \"este ano\", 1: \"próximo ano\", \"-1\": \"ano passado\" }, relativeTime: { future: { one: \"dentro de {0} ano\", other: \"dentro de {0} anos\" }, past: { one: \"há {0} ano\", other: \"há {0} anos\" } } }, month: { displayName: \"mês\", relative: { 0: \"este mês\", 1: \"próximo mês\", \"-1\": \"mês passado\" }, relativeTime: { future: { one: \"dentro de {0} mês\", other: \"dentro de {0} meses\" }, past: { one: \"há {0} mês\", other: \"há {0} meses\" } } }, day: { displayName: \"dia\", relative: { 0: \"hoje\", 1: \"amanhã\", 2: \"depois de amanhã\", \"-2\": \"anteontem\", \"-1\": \"ontem\" }, relativeTime: { future: { one: \"dentro de {0} dia\", other: \"dentro de {0} dias\" }, past: { one: \"há {0} dia\", other: \"há {0} dias\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"há {0} hora\", other: \"há {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"há {0} minuto\", other: \"há {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"agora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"há {0} segundo\", other: \"há {0} segundos\" } } } } }, { locale: \"pt-CH\", parentLocale: \"pt-PT\" }, { locale: \"pt-CV\", parentLocale: \"pt-PT\" }, { locale: \"pt-GQ\", parentLocale: \"pt-PT\" }, { locale: \"pt-GW\", parentLocale: \"pt-PT\" }, { locale: \"pt-LU\", parentLocale: \"pt-PT\" }, { locale: \"pt-MO\", parentLocale: \"pt-PT\" }, { locale: \"pt-MZ\", parentLocale: \"pt-PT\" }, { locale: \"pt-ST\", parentLocale: \"pt-PT\" }, { locale: \"pt-TL\", parentLocale: \"pt-PT\" }];\n});" + }, + { + "id": 723, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt-BR.js", + "name": "./tmp/packs/locale_pt-BR.js", + "index": 882, + "index2": 884, + "size": 331, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 40 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_pt-BR.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/pt-BR.json';\nimport localeData from \"react-intl/locale-data/pt.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 724, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/pt-BR.json", + "name": "./app/javascript/mastodon/locales/pt-BR.json", + "index": 883, + "index2": 882, + "size": 11841, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 40 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt-BR.js", + "issuerId": 723, + "issuerName": "./tmp/packs/locale_pt-BR.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 723, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt-BR.js", + "module": "./tmp/packs/locale_pt-BR.js", + "moduleName": "./tmp/packs/locale_pt-BR.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/pt-BR.json", + "loc": "5:0-72" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Bloquear @{name}\",\"account.block_domain\":\"Esconder tudo de {domain}\",\"account.disclaimer_full\":\"As informações abaixo podem refletir o perfil do usuário de maneira incompleta.\",\"account.edit_profile\":\"Editar perfil\",\"account.follow\":\"Seguir\",\"account.followers\":\"Seguidores\",\"account.follows\":\"Segue\",\"account.follows_you\":\"Segue você\",\"account.media\":\"Mídia\",\"account.mention\":\"Mencionar @{name}\",\"account.mute\":\"Silenciar @{name}\",\"account.posts\":\"Posts\",\"account.report\":\"Denunciar @{name}\",\"account.requested\":\"Aguardando aprovação. Clique para cancelar a solicitação.\",\"account.share\":\"Compartilhar perfil de @{name}\",\"account.unblock\":\"Desbloquear @{name}\",\"account.unblock_domain\":\"Desbloquear {domain}\",\"account.unfollow\":\"Deixar de seguir\",\"account.unmute\":\"Não silenciar @{name}\",\"account.view_full_profile\":\"Ver perfil completo\",\"boost_modal.combo\":\"Você pode pressionar {combo} para ignorar este diálogo na próxima vez\",\"bundle_column_error.body\":\"Algo de errado aconteceu enquanto este componente era carregado.\",\"bundle_column_error.retry\":\"Tente novamente\",\"bundle_column_error.title\":\"Erro de rede\",\"bundle_modal_error.close\":\"Fechar\",\"bundle_modal_error.message\":\"Algo de errado aconteceu enquanto este componente era carregado.\",\"bundle_modal_error.retry\":\"Tente novamente\",\"column.blocks\":\"Usuários bloqueados\",\"column.community\":\"Local\",\"column.favourites\":\"Favoritos\",\"column.follow_requests\":\"Seguidores pendentes\",\"column.home\":\"Página inicial\",\"column.mutes\":\"Usuários silenciados\",\"column.notifications\":\"Notificações\",\"column.pins\":\"Postagens fixadas\",\"column.public\":\"Global\",\"column_back_button.label\":\"Voltar\",\"column_header.hide_settings\":\"Esconder configurações\",\"column_header.moveLeft_settings\":\"Mover coluna para a esquerda\",\"column_header.moveRight_settings\":\"Mover coluna para a direita\",\"column_header.pin\":\"Fixar\",\"column_header.show_settings\":\"Mostrar configurações\",\"column_header.unpin\":\"Desafixar\",\"column_subheading.navigation\":\"Navegação\",\"column_subheading.settings\":\"Configurações\",\"compose_form.lock_disclaimer\":\"A sua conta não está {locked}. Qualquer pessoa pode te seguir e visualizar postagens direcionadas a apenas seguidores.\",\"compose_form.lock_disclaimer.lock\":\"trancada\",\"compose_form.placeholder\":\"No que você está pensando?\",\"compose_form.publish\":\"Publicar\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Marcar mídia como conteúdo sensível\",\"compose_form.spoiler\":\"Esconder texto com aviso de conteúdo\",\"compose_form.spoiler_placeholder\":\"Aviso de conteúdo\",\"confirmation_modal.cancel\":\"Cancelar\",\"confirmations.block.confirm\":\"Bloquear\",\"confirmations.block.message\":\"Você tem certeza de que quer bloquear {name}?\",\"confirmations.delete.confirm\":\"Excluir\",\"confirmations.delete.message\":\"Você tem certeza de que quer excluir esta postagem?\",\"confirmations.domain_block.confirm\":\"Esconder o domínio inteiro\",\"confirmations.domain_block.message\":\"Você quer mesmo bloquear {domain} inteiro? Na maioria dos casos, silenciar ou bloquear alguns usuários é o suficiente e o recomendado.\",\"confirmations.mute.confirm\":\"Silenciar\",\"confirmations.mute.message\":\"Você tem certeza de que quer silenciar {name}?\",\"confirmations.unfollow.confirm\":\"Deixar de seguir\",\"confirmations.unfollow.message\":\"Você tem certeza de que quer deixar de seguir {name}?\",\"embed.instructions\":\"Incorpore esta postagem em seu site copiando o código abaixo:\",\"embed.preview\":\"Aqui está uma previsão de como ficará:\",\"emoji_button.activity\":\"Atividades\",\"emoji_button.custom\":\"Customizados\",\"emoji_button.flags\":\"Bandeiras\",\"emoji_button.food\":\"Comidas & Bebidas\",\"emoji_button.label\":\"Inserir Emoji\",\"emoji_button.nature\":\"Natureza\",\"emoji_button.not_found\":\"Não tem emojos! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objetos\",\"emoji_button.people\":\"Pessoas\",\"emoji_button.recent\":\"Usados frequentemente\",\"emoji_button.search\":\"Buscar...\",\"emoji_button.search_results\":\"Resultados da busca\",\"emoji_button.symbols\":\"Símbolos\",\"emoji_button.travel\":\"Viagens & Lugares\",\"empty_column.community\":\"A timeline local está vazia. Escreva algo publicamente para começar!\",\"empty_column.hashtag\":\"Ainda não há qualquer conteúdo com essa hashtag\",\"empty_column.home\":\"Você ainda não segue usuário algo. Visite a timeline {public} ou use o buscador para procurar e conhecer outros usuários.\",\"empty_column.home.public_timeline\":\"global\",\"empty_column.notifications\":\"Você ainda não possui notificações. Interaja com outros usuários para começar a conversar!\",\"empty_column.public\":\"Não há nada aqui! Escreva algo publicamente ou siga manualmente usuários de outras instâncias.\",\"follow_request.authorize\":\"Autorizar\",\"follow_request.reject\":\"Rejeitar\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Primeiros passos\",\"getting_started.open_source_notice\":\"Mastodon é um software de código aberto. Você pode contribuir ou reportar problemas na página do GitHub do projeto: {github}.\",\"getting_started.userguide\":\"Guia de usuário\",\"home.column_settings.advanced\":\"Avançado\",\"home.column_settings.basic\":\"Básico\",\"home.column_settings.filter_regex\":\"Filtrar com uma expressão regular\",\"home.column_settings.show_reblogs\":\"Mostrar compartilhamentos\",\"home.column_settings.show_replies\":\"Mostrar as respostas\",\"home.settings\":\"Configurações de colunas\",\"lightbox.close\":\"Fechar\",\"lightbox.next\":\"Próximo\",\"lightbox.previous\":\"Anterior\",\"loading_indicator.label\":\"Carregando...\",\"media_gallery.toggle_visible\":\"Esconder/Mostrar\",\"missing_indicator.label\":\"Não encontrado\",\"navigation_bar.blocks\":\"Usuários bloqueados\",\"navigation_bar.community_timeline\":\"Local\",\"navigation_bar.edit_profile\":\"Editar perfil\",\"navigation_bar.favourites\":\"Favoritos\",\"navigation_bar.follow_requests\":\"Seguidores pendentes\",\"navigation_bar.info\":\"Mais informações\",\"navigation_bar.logout\":\"Sair\",\"navigation_bar.mutes\":\"Usuários silenciados\",\"navigation_bar.pins\":\"Postagens fixadas\",\"navigation_bar.preferences\":\"Preferências\",\"navigation_bar.public_timeline\":\"Global\",\"notification.favourite\":\"{name} adicionou a sua postagem aos favoritos\",\"notification.follow\":\"{name} te seguiu\",\"notification.mention\":\"{name} te mencionou\",\"notification.reblog\":\"{name} compartilhou a sua postagem\",\"notifications.clear\":\"Limpar notificações\",\"notifications.clear_confirmation\":\"Você tem certeza de que quer limpar todas as suas notificações permanentemente?\",\"notifications.column_settings.alert\":\"Notificações no computador\",\"notifications.column_settings.favourite\":\"Favoritos:\",\"notifications.column_settings.follow\":\"Novos seguidores:\",\"notifications.column_settings.mention\":\"Menções:\",\"notifications.column_settings.push\":\"Enviar notificações\",\"notifications.column_settings.push_meta\":\"Este aparelho\",\"notifications.column_settings.reblog\":\"Compartilhamento:\",\"notifications.column_settings.show\":\"Mostrar nas colunas\",\"notifications.column_settings.sound\":\"Reproduzir som\",\"onboarding.done\":\"Pronto\",\"onboarding.next\":\"Próximo\",\"onboarding.page_five.public_timelines\":\"A timeline local mostra postagens públicas de todos os usuários no {domain}. A timeline federada mostra todas as postagens de todas as pessoas que pessoas no {domain} seguem. Estas são as timelines públicas, uma ótima maneira de conhecer novas pessoas.\",\"onboarding.page_four.home\":\"A página inicial mostra postagens de pessoas que você segue.\",\"onboarding.page_four.notifications\":\"A coluna de notificações te mostra quando alguém interage com você.\",\"onboarding.page_one.federation\":\"Mastodon é uma rede d servidores independentes se juntando para fazer uma grande rede social. Nós chamamos estes servidores de instâncias.\",\"onboarding.page_one.handle\":\"Você está no {domain}, então o seu nome de usuário completo é {handle}\",\"onboarding.page_one.welcome\":\"Seja bem-vindo(a) ao Mastodon!\",\"onboarding.page_six.admin\":\"O administrador de sua instância é {admin}.\",\"onboarding.page_six.almost_done\":\"Quase acabando...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"Há {apps} disponíveis para iOS, Android e outras plataformas.\",\"onboarding.page_six.github\":\"Mastodon é um software gratuito e de código aberto. Você pode reportar bugs, prequisitar novas funções ou contribuir para o código no {github}.\",\"onboarding.page_six.guidelines\":\"diretrizes da comunidade\",\"onboarding.page_six.read_guidelines\":\"Por favor, leia as {guidelines} do {domain}!\",\"onboarding.page_six.various_app\":\"aplicativos móveis\",\"onboarding.page_three.profile\":\"Edite o seu perfil para mudar o seu o seu avatar, bio e nome de exibição. No menu de configurações, você também encontrará outras preferências.\",\"onboarding.page_three.search\":\"Use a barra de buscas para encontrar pessoas e consultar hashtags, como #illustrations e #introductions. Para procurar por uma pessoa que não estiver nesta instância, use o nome de usuário completo dela.\",\"onboarding.page_two.compose\":\"Escreva postagens na coluna de escrita. Você pode hospedar imagens, mudar as configurações de privacidade e adicionar alertas de conteúdo através dos ícones abaixo.\",\"onboarding.skip\":\"Pular\",\"privacy.change\":\"Ajustar a privacidade da mensagem\",\"privacy.direct.long\":\"Apenas para usuários mencionados\",\"privacy.direct.short\":\"Direta\",\"privacy.private.long\":\"Apenas para seus seguidores\",\"privacy.private.short\":\"Privada\",\"privacy.public.long\":\"Publicar em todos os feeds\",\"privacy.public.short\":\"Pública\",\"privacy.unlisted.long\":\"Não publicar em feeds públicos\",\"privacy.unlisted.short\":\"Não listada\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Cancelar\",\"report.placeholder\":\"Comentários adicionais\",\"report.submit\":\"Enviar\",\"report.target\":\"Denunciar\",\"search.placeholder\":\"Pesquisar\",\"search_popout.search_format\":\"Formato de busca avançado\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Texto simples retorna nomes de exibição, usuários e hashtags correspondentes\",\"search_popout.tips.user\":\"usuário\",\"search_results.total\":\"{count, number} {count, plural, one {resultado} other {resultados}}\",\"standalone.public_title\":\"Dê uma espiada...\",\"status.cannot_reblog\":\"Esta postagem não pode ser compartilhada\",\"status.delete\":\"Excluir\",\"status.embed\":\"Incorporar\",\"status.favourite\":\"Adicionar aos favoritos\",\"status.load_more\":\"Carregar mais\",\"status.media_hidden\":\"Mídia escondida\",\"status.mention\":\"Mencionar @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Silenciar conversa\",\"status.open\":\"Expandir\",\"status.pin\":\"Fixar no perfil\",\"status.reblog\":\"Compartilhar\",\"status.reblogged_by\":\"{name} compartilhou\",\"status.reply\":\"Responder\",\"status.replyAll\":\"Responder à sequência\",\"status.report\":\"Denunciar @{name}\",\"status.sensitive_toggle\":\"Clique para ver\",\"status.sensitive_warning\":\"Conteúdo sensível\",\"status.share\":\"Compartilhar\",\"status.show_less\":\"Mostrar menos\",\"status.show_more\":\"Mostrar mais\",\"status.unmute_conversation\":\"Desativar silêncio desta conversa\",\"status.unpin\":\"Desafixar do perfil\",\"tabs_bar.compose\":\"Criar\",\"tabs_bar.federated_timeline\":\"Global\",\"tabs_bar.home\":\"Página inicial\",\"tabs_bar.local_timeline\":\"Local\",\"tabs_bar.notifications\":\"Notificações\",\"upload_area.title\":\"Arraste e solte para enviar\",\"upload_button.label\":\"Adicionar mídia\",\"upload_form.description\":\"Descreva a imagem para deficientes visuais\",\"upload_form.undo\":\"Desfazer\",\"upload_progress.label\":\"Salvando...\",\"video.close\":\"Fechar vídeo\",\"video.exit_fullscreen\":\"Sair da tela cheia\",\"video.expand\":\"Expandir vídeo\",\"video.fullscreen\":\"Tela cheia\",\"video.hide\":\"Esconder vídeo\",\"video.mute\":\"Silenciar\",\"video.pause\":\"Parar\",\"video.play\":\"Reproduzir\",\"video.unmute\":\"Retirar silêncio\"}" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 723, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt-BR.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt-BR.js", + "moduleName": "./tmp/packs/locale_pt-BR.js", + "loc": "", + "name": "locale_pt-BR", + "reasons": [] + } + ] + }, + { + "id": 41, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 14434, + "names": [ + "locale_pl" + ], + "files": [ + "locale_pl-a29786d2e8e517933a46.js", + "locale_pl-a29786d2e8e517933a46.js.map" + ], + "hash": "a29786d2e8e517933a46", + "parents": [ + 65 + ], + "modules": [ + { + "id": 720, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pl.js", + "name": "./tmp/packs/locale_pl.js", + "index": 879, + "index2": 881, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 41 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_pl.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/pl.json';\nimport localeData from \"react-intl/locale-data/pl.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 721, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/pl.json", + "name": "./app/javascript/mastodon/locales/pl.json", + "index": 880, + "index2": 879, + "size": 11485, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 41 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pl.js", + "issuerId": 720, + "issuerName": "./tmp/packs/locale_pl.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 720, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pl.js", + "module": "./tmp/packs/locale_pl.js", + "moduleName": "./tmp/packs/locale_pl.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/pl.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Blokuj @{name}\",\"account.block_domain\":\"Blokuj wszystko z {domain}\",\"account.disclaimer_full\":\"Poniższe informacje mogą nie odwzorowywać bezbłędnie profilu użytkownika.\",\"account.edit_profile\":\"Edytuj profil\",\"account.follow\":\"Śledź\",\"account.followers\":\"Śledzący\",\"account.follows\":\"Śledzeni\",\"account.follows_you\":\"Śledzi Cię\",\"account.media\":\"Media\",\"account.mention\":\"Wspomnij o @{name}\",\"account.mute\":\"Wycisz @{name}\",\"account.posts\":\"Wpisy\",\"account.report\":\"Zgłoś @{name}\",\"account.requested\":\"Oczekująca prośba, kliknij aby anulować\",\"account.share\":\"Udostępnij profil @{name}\",\"account.unblock\":\"Odblokuj @{name}\",\"account.unblock_domain\":\"Odblokuj domenę {domain}\",\"account.unfollow\":\"Przestań śledzić\",\"account.unmute\":\"Cofnij wyciszenie @{name}\",\"account.view_full_profile\":\"Wyświetl pełny profil\",\"boost_modal.combo\":\"Naciśnij {combo}, aby pominąć to następnym razem\",\"bundle_column_error.body\":\"Coś poszło nie tak podczas ładowania tego składnika.\",\"bundle_column_error.retry\":\"Spróbuj ponownie\",\"bundle_column_error.title\":\"Błąd sieci\",\"bundle_modal_error.close\":\"Zamknij\",\"bundle_modal_error.message\":\"Coś poszło nie tak podczas ładowania tego składnika.\",\"bundle_modal_error.retry\":\"Spróbuj ponownie\",\"column.blocks\":\"Zablokowani użytkownicy\",\"column.community\":\"Lokalna oś czasu\",\"column.favourites\":\"Ulubione\",\"column.follow_requests\":\"Prośby o śledzenie\",\"column.home\":\"Strona główna\",\"column.mutes\":\"Wyciszeni użytkownicy\",\"column.notifications\":\"Powiadomienia\",\"column.pins\":\"Przypięte wpisy\",\"column.public\":\"Globalna oś czasu\",\"column_back_button.label\":\"Wróć\",\"column_header.hide_settings\":\"Ukryj ustawienia\",\"column_header.moveLeft_settings\":\"Przesuń kolumnę w lewo\",\"column_header.moveRight_settings\":\"Przesuń kolumnę w prawo\",\"column_header.pin\":\"Przypnij\",\"column_header.show_settings\":\"Pokaż ustawienia\",\"column_header.unpin\":\"Cofnij przypięcie\",\"column_subheading.navigation\":\"Nawigacja\",\"column_subheading.settings\":\"Ustawienia\",\"compose_form.lock_disclaimer\":\"Twoje konto nie jest {locked}. Każdy, kto Cię śledzi, może wyświetlać Twoje wpisy przeznaczone tylko dla śledzących.\",\"compose_form.lock_disclaimer.lock\":\"zablokowane\",\"compose_form.placeholder\":\"Co Ci chodzi po głowie?\",\"compose_form.publish\":\"Wyślij\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Oznacz treści jako wrażliwe\",\"compose_form.spoiler\":\"Ukryj tekst za ostrzeżeniem\",\"compose_form.spoiler_placeholder\":\"Wprowadź swoje ostrzeżenie o zawartości\",\"confirmation_modal.cancel\":\"Anuluj\",\"confirmations.block.confirm\":\"Zablokuj\",\"confirmations.block.message\":\"Czy na pewno chcesz zablokować {name}?\",\"confirmations.delete.confirm\":\"Usuń\",\"confirmations.delete.message\":\"Czy na pewno chcesz usunąć ten wpis?\",\"confirmations.domain_block.confirm\":\"Ukryj wszysyko z domeny\",\"confirmations.domain_block.message\":\"Czy na pewno chcesz zablokować całą domenę {domain}? Zwykle lepszym rozwiązaniem jest blokada lub wyciszenie kilku użytkowników.\",\"confirmations.mute.confirm\":\"Wycisz\",\"confirmations.mute.message\":\"Czy na pewno chcesz wyciszyć {name}?\",\"confirmations.unfollow.confirm\":\"Przestań śledzić\",\"confirmations.unfollow.message\":\"Czy na pewno zamierzasz przestać śledzić {name}?\",\"embed.instructions\":\"Osadź ten wpis na swojej stronie wklejając poniższy kod.\",\"embed.preview\":\"Tak będzie to wyglądać:\",\"emoji_button.activity\":\"Aktywność\",\"emoji_button.custom\":\"Niestandardowe\",\"emoji_button.flags\":\"Flagi\",\"emoji_button.food\":\"Żywność i napoje\",\"emoji_button.label\":\"Wstaw emoji\",\"emoji_button.nature\":\"Natura\",\"emoji_button.not_found\":\"Brak emoji!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objekty\",\"emoji_button.people\":\"Ludzie\",\"emoji_button.recent\":\"Najczęściej używane\",\"emoji_button.search\":\"Szukaj…\",\"emoji_button.search_results\":\"Wyniki wyszukiwania\",\"emoji_button.symbols\":\"Symbole\",\"emoji_button.travel\":\"Podróże i miejsca\",\"empty_column.community\":\"Lokalna oś czasu jest pusta. Napisz coś publicznie, aby zagaić!\",\"empty_column.hashtag\":\"Nie ma wpisów oznaczonych tym hashtagiem. Możesz napisać pierwszy!\",\"empty_column.home\":\"Nie śledzisz nikogo. Odwiedź publiczną oś czasu lub użyj wyszukiwarki, aby znaleźć interesujące Cię profile.\",\"empty_column.home.public_timeline\":\"publiczna oś czasu\",\"empty_column.notifications\":\"Nie masz żadnych powiadomień. Rozpocznij interakcje z innymi użytkownikami.\",\"empty_column.public\":\"Tu nic nie ma! Napisz coś publicznie, lub dodaj ludzi z innych instancji, aby to wyświetlić.\",\"follow_request.authorize\":\"Autoryzuj\",\"follow_request.reject\":\"Odrzuć\",\"getting_started.appsshort\":\"Aplikacje\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Naucz się korzystać\",\"getting_started.open_source_notice\":\"Mastodon jest oprogramowaniem o otwartym źródle. Możesz pomóc w rozwoju lub zgłaszać błędy na GitHubie tutaj: {github}.\",\"getting_started.userguide\":\"Podręcznik użytkownika\",\"home.column_settings.advanced\":\"Zaawansowane\",\"home.column_settings.basic\":\"Podstawowe\",\"home.column_settings.filter_regex\":\"Filtruj z użyciem wyrażeń regularnych\",\"home.column_settings.show_reblogs\":\"Pokazuj podbicia\",\"home.column_settings.show_replies\":\"Pokazuj odpowiedzi\",\"home.settings\":\"Ustawienia kolumny\",\"lightbox.close\":\"Zamknij\",\"lightbox.next\":\"Następne\",\"lightbox.previous\":\"Poprzednie\",\"loading_indicator.label\":\"Ładowanie…\",\"media_gallery.toggle_visible\":\"Przełącz widoczność\",\"missing_indicator.label\":\"Nie znaleziono\",\"navigation_bar.blocks\":\"Zablokowani użytkownicy\",\"navigation_bar.community_timeline\":\"Lokalna oś czasu\",\"navigation_bar.edit_profile\":\"Edytuj profil\",\"navigation_bar.favourites\":\"Ulubione\",\"navigation_bar.follow_requests\":\"Prośby o śledzenie\",\"navigation_bar.info\":\"Szczegółowe informacje\",\"navigation_bar.logout\":\"Wyloguj\",\"navigation_bar.mutes\":\"Wyciszeni użytkownicy\",\"navigation_bar.pins\":\"Przypięte wpisy\",\"navigation_bar.preferences\":\"Preferencje\",\"navigation_bar.public_timeline\":\"Oś czasu federacji\",\"notification.favourite\":\"{name} dodał Twój wpis do ulubionych\",\"notification.follow\":\"{name} zaczął Cię śledzić\",\"notification.mention\":\"{name} wspomniał o tobie\",\"notification.reblog\":\"{name} podbił Twój wpis\",\"notifications.clear\":\"Wyczyść powiadomienia\",\"notifications.clear_confirmation\":\"Czy na pewno chcesz bezpowrotnie usunąć wszystkie powiadomienia?\",\"notifications.column_settings.alert\":\"Powiadomienia na pulpicie\",\"notifications.column_settings.favourite\":\"Dodanie do ulubionych:\",\"notifications.column_settings.follow\":\"Nowi śledzący:\",\"notifications.column_settings.mention\":\"Wspomnienia:\",\"notifications.column_settings.push\":\"Powiadomienia push\",\"notifications.column_settings.push_meta\":\"To urządzenie\",\"notifications.column_settings.reblog\":\"Podbicia:\",\"notifications.column_settings.show\":\"Pokaż w kolumnie\",\"notifications.column_settings.sound\":\"Odtwarzaj dźwięk\",\"onboarding.done\":\"Gotowe\",\"onboarding.next\":\"Dalej\",\"onboarding.page_five.public_timelines\":\"Lokalna oś czasu zawiera wszystkie publiczne wpisy z {domain}. Federalna oś czasu wyświetla publiczne wpisy śledzonych przez członków {domain}. Są to publiczne osie czasu – najlepszy sposób na poznanie nowych osób.\",\"onboarding.page_four.home\":\"Główna oś czasu wyświetla publiczne wpisy.\",\"onboarding.page_four.notifications\":\"Kolumna powiadomień wyświetla, gdy ktoś dokonuje interakcji z tobą.\",\"onboarding.page_one.federation\":\"Mastodon jest siecią niezależnych serwerów połączonych w jeden portal społecznościowy. Nazywamy te serwery instancjami.\",\"onboarding.page_one.handle\":\"Jesteś na domenie {domain}, więc Twój pełny adres to {handle}\",\"onboarding.page_one.welcome\":\"Witamy w Mastodon!\",\"onboarding.page_six.admin\":\"Administratorem tej instancji jest {admin}.\",\"onboarding.page_six.almost_done\":\"Prawie gotowe…\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"Są dostępne {apps} dla Androida, iOS i innych platform.\",\"onboarding.page_six.github\":\"Mastodon jest oprogramowaniem otwartoźródłwym. Możesz zgłaszać błędy, proponować funkcje i pomóc w rozwoju na {github}.\",\"onboarding.page_six.guidelines\":\"wytyczne dla społeczności\",\"onboarding.page_six.read_guidelines\":\"Przeczytaj {guidelines} {domain}!\",\"onboarding.page_six.various_app\":\"aplikacje mobilne\",\"onboarding.page_three.profile\":\"Edytuj profil, aby zmienić obraz profilowy, biografię, wyświetlaną nazwę i inne ustawienia.\",\"onboarding.page_three.search\":\"Użyj paska wyszukiwania aby znaleźć ludzi i hashtagi, takie jak {illustration} i {introductions}. Aby znaleźć osobę spoza tej instancji, musisz użyć pełnego adresu.\",\"onboarding.page_two.compose\":\"Utwórz wpisy, aby wypełnić kolumnę. Możesz wysłać zdjęcia, zmienić ustawienia prywatności lub dodać ostrzeżenie o zawartości.\",\"onboarding.skip\":\"Pomiń\",\"privacy.change\":\"Dostosuj widoczność wpisów\",\"privacy.direct.long\":\"Widoczny tylko dla wspomnianych\",\"privacy.direct.short\":\"Bezpośrednio\",\"privacy.private.long\":\"Widoczny tylko dla osób, które Cię śledzą\",\"privacy.private.short\":\"Tylko dla śledzących\",\"privacy.public.long\":\"Widoczny na publicznych osiach czasu\",\"privacy.public.short\":\"Publiczny\",\"privacy.unlisted.long\":\"Niewidoczny na publicznych osiach czasu\",\"privacy.unlisted.short\":\"Niewidoczny\",\"relative_time.days\":\"{number} dni\",\"relative_time.hours\":\"{number} godz.\",\"relative_time.just_now\":\"teraz\",\"relative_time.minutes\":\"{number} min.\",\"relative_time.seconds\":\"{number} s.\",\"reply_indicator.cancel\":\"Anuluj\",\"report.placeholder\":\"Dodatkowe komentarze\",\"report.submit\":\"Wyślij\",\"report.target\":\"Zgłaszanie {target}\",\"search.placeholder\":\"Szukaj\",\"search_popout.search_format\":\"Zaawansowane wyszukiwanie\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"wpis\",\"search_popout.tips.text\":\"Proste wyszukiwanie pasujących pseudonimów, nazw użytkowników i hashtagów\",\"search_popout.tips.user\":\"użytkownik\",\"search_results.total\":\"{count, number} {count, plural, one {wynik} more {wyniki}}\",\"standalone.public_title\":\"Spojrzenie w głąb…\",\"status.cannot_reblog\":\"Ten wpis nie może zostać podbity\",\"status.delete\":\"Usuń\",\"status.embed\":\"Osadź\",\"status.favourite\":\"Ulubione\",\"status.load_more\":\"Załaduj więcej\",\"status.media_hidden\":\"Zawartość multimedialna ukryta\",\"status.mention\":\"Wspomnij o @{name}\",\"status.more\":\"Więcej\",\"status.mute_conversation\":\"Wycisz konwersację\",\"status.open\":\"Rozszerz ten wpis\",\"status.pin\":\"Przypnij do profilu\",\"status.reblog\":\"Podbij\",\"status.reblogged_by\":\"{name} podbił\",\"status.reply\":\"Odpowiedz\",\"status.replyAll\":\"Odpowiedz na wątek\",\"status.report\":\"Zgłoś @{name}\",\"status.sensitive_toggle\":\"Naciśnij aby wyświetlić\",\"status.sensitive_warning\":\"Wrażliwa zawartość\",\"status.share\":\"Udostępnij\",\"status.show_less\":\"Pokaż mniej\",\"status.show_more\":\"Pokaż więcej\",\"status.unmute_conversation\":\"Cofnij wyciszenie konwersacji\",\"status.unpin\":\"Odepnij z profilu\",\"tabs_bar.compose\":\"Napisz\",\"tabs_bar.federated_timeline\":\"Globalne\",\"tabs_bar.home\":\"Strona główna\",\"tabs_bar.local_timeline\":\"Lokalne\",\"tabs_bar.notifications\":\"Powiadomienia\",\"upload_area.title\":\"Przeciągnij i upuść aby wysłać\",\"upload_button.label\":\"Dodaj zawartość multimedialną\",\"upload_form.description\":\"Wprowadź opis dla niewidomych i niedowidzących\",\"upload_form.undo\":\"Cofnij\",\"upload_progress.label\":\"Wysyłanie\",\"video.close\":\"Zamknij film\",\"video.exit_fullscreen\":\"Opuść tryb pełnoekranowy\",\"video.expand\":\"Rozszerz film\",\"video.fullscreen\":\"Pełny ekran\",\"video.hide\":\"Ukryj film\",\"video.mute\":\"Wycisz\",\"video.pause\":\"Pauzuj\",\"video.play\":\"Odtwórz\",\"video.unmute\":\"Cofnij wyciszenie\"}" + }, + { + "id": 722, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/pl.js", + "name": "./node_modules/react-intl/locale-data/pl.js", + "index": 881, + "index2": 880, + "size": 2624, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 41 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pl.js", + "issuerId": 720, + "issuerName": "./tmp/packs/locale_pl.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 720, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pl.js", + "module": "./tmp/packs/locale_pl.js", + "moduleName": "./tmp/packs/locale_pl.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/pl.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.pl = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"pl\", pluralRuleFunction: function (e, t) {\n var a = String(e).split(\".\"),\n i = a[0],\n n = !a[1],\n m = i.slice(-1),\n u = i.slice(-2);return t ? \"other\" : 1 == e && n ? \"one\" : n && m >= 2 && m <= 4 && (u < 12 || u > 14) ? \"few\" : n && 1 != i && (0 == m || 1 == m) || n && m >= 5 && m <= 9 || n && u >= 12 && u <= 14 ? \"many\" : \"other\";\n }, fields: { year: { displayName: \"rok\", relative: { 0: \"w tym roku\", 1: \"w przyszłym roku\", \"-1\": \"w zeszłym roku\" }, relativeTime: { future: { one: \"za {0} rok\", few: \"za {0} lata\", many: \"za {0} lat\", other: \"za {0} roku\" }, past: { one: \"{0} rok temu\", few: \"{0} lata temu\", many: \"{0} lat temu\", other: \"{0} roku temu\" } } }, month: { displayName: \"miesiąc\", relative: { 0: \"w tym miesiącu\", 1: \"w przyszłym miesiącu\", \"-1\": \"w zeszłym miesiącu\" }, relativeTime: { future: { one: \"za {0} miesiąc\", few: \"za {0} miesiące\", many: \"za {0} miesięcy\", other: \"za {0} miesiąca\" }, past: { one: \"{0} miesiąc temu\", few: \"{0} miesiące temu\", many: \"{0} miesięcy temu\", other: \"{0} miesiąca temu\" } } }, day: { displayName: \"dzień\", relative: { 0: \"dzisiaj\", 1: \"jutro\", 2: \"pojutrze\", \"-2\": \"przedwczoraj\", \"-1\": \"wczoraj\" }, relativeTime: { future: { one: \"za {0} dzień\", few: \"za {0} dni\", many: \"za {0} dni\", other: \"za {0} dnia\" }, past: { one: \"{0} dzień temu\", few: \"{0} dni temu\", many: \"{0} dni temu\", other: \"{0} dnia temu\" } } }, hour: { displayName: \"godzina\", relative: { 0: \"ta godzina\" }, relativeTime: { future: { one: \"za {0} godzinę\", few: \"za {0} godziny\", many: \"za {0} godzin\", other: \"za {0} godziny\" }, past: { one: \"{0} godzinę temu\", few: \"{0} godziny temu\", many: \"{0} godzin temu\", other: \"{0} godziny temu\" } } }, minute: { displayName: \"minuta\", relative: { 0: \"ta minuta\" }, relativeTime: { future: { one: \"za {0} minutę\", few: \"za {0} minuty\", many: \"za {0} minut\", other: \"za {0} minuty\" }, past: { one: \"{0} minutę temu\", few: \"{0} minuty temu\", many: \"{0} minut temu\", other: \"{0} minuty temu\" } } }, second: { displayName: \"sekunda\", relative: { 0: \"teraz\" }, relativeTime: { future: { one: \"za {0} sekundę\", few: \"za {0} sekundy\", many: \"za {0} sekund\", other: \"za {0} sekundy\" }, past: { one: \"{0} sekundę temu\", few: \"{0} sekundy temu\", many: \"{0} sekund temu\", other: \"{0} sekundy temu\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 720, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pl.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pl.js", + "moduleName": "./tmp/packs/locale_pl.js", + "loc": "", + "name": "locale_pl", + "reasons": [] + } + ] + }, + { + "id": 42, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 14173, + "names": [ + "locale_oc" + ], + "files": [ + "locale_oc-5db5b324864d5986ca40.js", + "locale_oc-5db5b324864d5986ca40.js.map" + ], + "hash": "5db5b324864d5986ca40", + "parents": [ + 65 + ], + "modules": [ + { + "id": 717, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_oc.js", + "name": "./tmp/packs/locale_oc.js", + "index": 876, + "index2": 878, + "size": 352, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 42 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_oc.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/oc.json';\nimport localeData from \"../../app/javascript/mastodon/locales/locale-data/oc.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 718, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/oc.json", + "name": "./app/javascript/mastodon/locales/oc.json", + "index": 877, + "index2": 876, + "size": 11634, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 42 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_oc.js", + "issuerId": 717, + "issuerName": "./tmp/packs/locale_oc.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 717, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_oc.js", + "module": "./tmp/packs/locale_oc.js", + "moduleName": "./tmp/packs/locale_oc.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/oc.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Blocar @{name}\",\"account.block_domain\":\"Tot amagar del domeni {domain}\",\"account.disclaimer_full\":\"Aquelas informacions de perfil pòdon èsser incompletas.\",\"account.edit_profile\":\"Modificar lo perfil\",\"account.follow\":\"Sègre\",\"account.followers\":\"Seguidors\",\"account.follows\":\"Abonaments\",\"account.follows_you\":\"Vos sèc\",\"account.media\":\"Mèdias\",\"account.mention\":\"Mencionar @{name}\",\"account.mute\":\"Rescondre @{name}\",\"account.posts\":\"Estatuts\",\"account.report\":\"Senhalar @{name}\",\"account.requested\":\"Invitacion mandada. Clicatz per anullar.\",\"account.share\":\"Partejar lo perfil a @{name}\",\"account.unblock\":\"Desblocar @{name}\",\"account.unblock_domain\":\"Desblocar {domain}\",\"account.unfollow\":\"Quitar de sègre\",\"account.unmute\":\"Quitar de rescondre @{name}\",\"account.view_full_profile\":\"Veire lo perfil complet\",\"boost_modal.combo\":\"Podètz botar {combo} per passar aquò lo còp que ven\",\"bundle_column_error.body\":\"Quicòm a fach meuca pendent lo cargament d’aqueste compausant.\",\"bundle_column_error.retry\":\"Tornar ensajar\",\"bundle_column_error.title\":\"Error de ret\",\"bundle_modal_error.close\":\"Tampar\",\"bundle_modal_error.message\":\"Quicòm a fach mèuca pendent lo cargament d’aqueste compausant.\",\"bundle_modal_error.retry\":\"Tornar ensajar\",\"column.blocks\":\"Personas blocadas\",\"column.community\":\"Flux public local\",\"column.favourites\":\"Favorits\",\"column.follow_requests\":\"Demandas d’abonament\",\"column.home\":\"Acuèlh\",\"column.mutes\":\"Personas rescondudas\",\"column.notifications\":\"Notificacions\",\"column.pins\":\"Tuts penjats\",\"column.public\":\"Flux public global\",\"column_back_button.label\":\"Tornar\",\"column_header.hide_settings\":\"Amagar los paramètres\",\"column_header.moveLeft_settings\":\"Desplaçar la colomna a man drecha\",\"column_header.moveRight_settings\":\"Desplaçar la colomna a man esquèrra\",\"column_header.pin\":\"Penjar\",\"column_header.show_settings\":\"Mostrar los paramètres\",\"column_header.unpin\":\"Despenjar\",\"column_subheading.navigation\":\"Navigacion\",\"column_subheading.settings\":\"Paramètres\",\"compose_form.lock_disclaimer\":\"Vòstre compte es pas {locked}. Tot lo mond pòt vos sègre e veire los estatuts reservats als seguidors.\",\"compose_form.lock_disclaimer.lock\":\"clavat\",\"compose_form.placeholder\":\"A de qué pensatz ?\",\"compose_form.publish\":\"Tut\",\"compose_form.publish_loud\":\"{publish} !\",\"compose_form.sensitive\":\"Marcar lo mèdia coma sensible\",\"compose_form.spoiler\":\"Rescondre lo tèxte darrièr un avertiment\",\"compose_form.spoiler_placeholder\":\"Escrivètz l’avertiment aquí\",\"confirmation_modal.cancel\":\"Anullar\",\"confirmations.block.confirm\":\"Blocar\",\"confirmations.block.message\":\"Sètz segur de voler blocar {name} ?\",\"confirmations.delete.confirm\":\"Escafar\",\"confirmations.delete.message\":\"Sètz segur de voler escafar l’estatut ?\",\"confirmations.domain_block.confirm\":\"Amagar tot lo domeni\",\"confirmations.domain_block.message\":\"Sètz segur segur de voler blocar completament {domain} ? De còps cal pas que blocar o rescondre unas personas solament.\",\"confirmations.mute.confirm\":\"Rescondre\",\"confirmations.mute.message\":\"Sètz segur de voler rescondre {name} ?\",\"confirmations.unfollow.confirm\":\"Quitar de sègre\",\"confirmations.unfollow.message\":\"Volètz vertadièrament quitar de sègre {name} ?\",\"embed.instructions\":\"Embarcar aqueste estatut per lo far veire sus un site Internet en copiar lo còdi çai-jos.\",\"embed.preview\":\"Semblarà aquò : \",\"emoji_button.activity\":\"Activitats\",\"emoji_button.custom\":\"Personalizats\",\"emoji_button.flags\":\"Drapèus\",\"emoji_button.food\":\"Beure e manjar\",\"emoji_button.label\":\"Inserir un emoji\",\"emoji_button.nature\":\"Natura\",\"emoji_button.not_found\":\"Cap emoji ! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objèctes\",\"emoji_button.people\":\"Gents\",\"emoji_button.recent\":\"Sovent utilizats\",\"emoji_button.search\":\"Cercar…\",\"emoji_button.search_results\":\"Resultat de recèrca\",\"emoji_button.symbols\":\"Simbòls\",\"emoji_button.travel\":\"Viatges & lòcs\",\"empty_column.community\":\"Lo flux public local es void. Escrivètz quicòm per lo garnir !\",\"empty_column.hashtag\":\"I a pas encara de contengut ligat a aqueste hashtag\",\"empty_column.home\":\"Vòstre flux d’acuèlh es void. Visitatz {public} o utilizatz la recèrca per vos connectar a d’autras personas.\",\"empty_column.home.public_timeline\":\"lo flux public\",\"empty_column.notifications\":\"Avètz pas encara de notificacions. Respondètz a qualqu’un per començar una conversacion.\",\"empty_column.public\":\"I a pas res aquí ! Escrivètz quicòm de public, o seguètz de personas d’autras instàncias per garnir lo flux public.\",\"follow_request.authorize\":\"Autorizar\",\"follow_request.reject\":\"Regetar\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Per començar\",\"getting_started.open_source_notice\":\"Mastodon es un logicial liure. Podètz contribuir e mandar vòstres comentaris e rapòrt de bug via {github} sus GitHub.\",\"getting_started.userguide\":\"Guida d’utilizacion\",\"home.column_settings.advanced\":\"Avançat\",\"home.column_settings.basic\":\"Basic\",\"home.column_settings.filter_regex\":\"Filtrar amb una expression racionala\",\"home.column_settings.show_reblogs\":\"Mostrar los partatges\",\"home.column_settings.show_replies\":\"Mostrar las responsas\",\"home.settings\":\"Paramètres de la colomna\",\"lightbox.close\":\"Tampar\",\"lightbox.next\":\"Seguent\",\"lightbox.previous\":\"Precedent\",\"loading_indicator.label\":\"Cargament…\",\"media_gallery.toggle_visible\":\"Modificar la visibilitat\",\"missing_indicator.label\":\"Pas trobat\",\"navigation_bar.blocks\":\"Personas blocadas\",\"navigation_bar.community_timeline\":\"Flux public local\",\"navigation_bar.edit_profile\":\"Modificar lo perfil\",\"navigation_bar.favourites\":\"Favorits\",\"navigation_bar.follow_requests\":\"Demandas d'abonament\",\"navigation_bar.info\":\"Mai informacions\",\"navigation_bar.logout\":\"Desconnexion\",\"navigation_bar.mutes\":\"Personas rescondudas\",\"navigation_bar.pins\":\"Tuts penjats\",\"navigation_bar.preferences\":\"Preferéncias\",\"navigation_bar.public_timeline\":\"Flux public global\",\"notification.favourite\":\"{name} a ajustat a sos favorits :\",\"notification.follow\":\"{name} vos sèc\",\"notification.mention\":\"{name} vos a mencionat :\",\"notification.reblog\":\"{name} a partejat vòstre estatut :\",\"notifications.clear\":\"Escafar\",\"notifications.clear_confirmation\":\"Volètz vertadièrament escafar totas vòstras las notificacions ?\",\"notifications.column_settings.alert\":\"Notificacions localas\",\"notifications.column_settings.favourite\":\"Favorits :\",\"notifications.column_settings.follow\":\"Nòus seguidors :\",\"notifications.column_settings.mention\":\"Mencions :\",\"notifications.column_settings.push\":\"Notificacions\",\"notifications.column_settings.push_meta\":\"Aqueste periferic\",\"notifications.column_settings.reblog\":\"Partatges :\",\"notifications.column_settings.show\":\"Mostrar dins la colomna\",\"notifications.column_settings.sound\":\"Emetre un son\",\"onboarding.done\":\"Sortir\",\"onboarding.next\":\"Seguent\",\"onboarding.page_five.public_timelines\":\"Lo flux local mòstra los estatuts publics del monde de vòstra instància, aquí {domain}. Lo flux federat mòstra los estatuts publics de la gent que los de {domain} sègon. Son los fluxes publics, un bon biais de trobar de mond.\",\"onboarding.page_four.home\":\"Lo flux d’acuèlh mòstra los estatuts del mond que seguètz.\",\"onboarding.page_four.notifications\":\"La colomna de notificacions vos fa veire quand qualqu’un interagís amb vos\",\"onboarding.page_one.federation\":\"Mastodon es un malhum de servidors independents que comunican per construire un malhum mai larg. Òm los apèla instàncias.\",\"onboarding.page_one.handle\":\"Sètz sus {domain}, doncas vòstre identificant complet es {handle}\",\"onboarding.page_one.welcome\":\"Benvengut a Mastodon !\",\"onboarding.page_six.admin\":\"Vòstre administrator d’instància es {admin}.\",\"onboarding.page_six.almost_done\":\"Gaireben acabat…\",\"onboarding.page_six.appetoot\":\"Bon Appetut !\",\"onboarding.page_six.apps_available\":\"I a d’aplicacions per mobil per iOS, Android e mai.\",\"onboarding.page_six.github\":\"Mastodon es un logicial liure e open-source. Podètz senhalar de bugs, demandar de foncionalitats e contribuir al còdi sus {github}.\",\"onboarding.page_six.guidelines\":\"guida de la comunitat\",\"onboarding.page_six.read_guidelines\":\"Mercés de legir la {guidelines} de {domain} !\",\"onboarding.page_six.various_app\":\"aplicacions per mobil\",\"onboarding.page_three.profile\":\"Modificatz vòstre perfil per cambiar vòstre avatar, bio e escais-nom. I a enlà totas las preferéncias.\",\"onboarding.page_three.search\":\"Emplegatz la barra de recèrca per trobar de mond e engachatz las etiquetas coma {illustration} e {introductions}. Per trobar una persona d’una autra instància, picatz son identificant complet.\",\"onboarding.page_two.compose\":\"Escrivètz un estatut dempuèi la colomna per compausar. Podètz mandar un imatge, cambiar la confidencialitat e ajustar un avertiment amb las icònas cai-jos.\",\"onboarding.skip\":\"Passar\",\"privacy.change\":\"Ajustar la confidencialitat del messatge\",\"privacy.direct.long\":\"Mostrar pas qu’a las personas mencionadas\",\"privacy.direct.short\":\"Dirècte\",\"privacy.private.long\":\"Mostrar pas qu’a vòstres seguidors\",\"privacy.private.short\":\"Privat\",\"privacy.public.long\":\"Mostrar dins los fluxes publics\",\"privacy.public.short\":\"Public\",\"privacy.unlisted.long\":\"Mostrar pas dins los fluxes publics\",\"privacy.unlisted.short\":\"Pas-listat\",\"relative_time.days\":\"fa {number} d\",\"relative_time.hours\":\"fa {number} h\",\"relative_time.just_now\":\"ara\",\"relative_time.minutes\":\"fa {number} min\",\"relative_time.seconds\":\"fa {number} s\",\"reply_indicator.cancel\":\"Anullar\",\"report.placeholder\":\"Comentaris addicionals\",\"report.submit\":\"Mandar\",\"report.target\":\"Senhalar {target}\",\"search.placeholder\":\"Recercar\",\"search_popout.search_format\":\"Format recèrca avançada\",\"search_popout.tips.hashtag\":\"etiqueta\",\"search_popout.tips.status\":\"estatut\",\"search_popout.tips.text\":\"Tèxt brut tòrna escais, noms d’utilizaire e etiquetas correspondents\",\"search_popout.tips.user\":\"utilizaire\",\"search_results.total\":\"{count, number} {count, plural, one {resultat} other {resultats}}\",\"standalone.public_title\":\"Una ulhada dedins…\",\"status.cannot_reblog\":\"Aqueste estatut pòt pas èsser partejat\",\"status.delete\":\"Escafar\",\"status.embed\":\"Embarcar\",\"status.favourite\":\"Apondre als favorits\",\"status.load_more\":\"Cargar mai\",\"status.media_hidden\":\"Mèdia rescondut\",\"status.mention\":\"Mencionar\",\"status.more\":\"Mai\",\"status.mute_conversation\":\"Rescondre la conversacion\",\"status.open\":\"Desplegar aqueste estatut\",\"status.pin\":\"Penjar al perfil\",\"status.reblog\":\"Partejar\",\"status.reblogged_by\":\"{name} a partejat :\",\"status.reply\":\"Respondre\",\"status.replyAll\":\"Respondre a la conversacion\",\"status.report\":\"Senhalar @{name}\",\"status.sensitive_toggle\":\"Clicar per mostrar\",\"status.sensitive_warning\":\"Contengut sensible\",\"status.share\":\"Partejar\",\"status.show_less\":\"Tornar plegar\",\"status.show_more\":\"Desplegar\",\"status.unmute_conversation\":\"Tornar mostrar la conversacion\",\"status.unpin\":\"Tirar del perfil\",\"tabs_bar.compose\":\"Compausar\",\"tabs_bar.federated_timeline\":\"Flux public global\",\"tabs_bar.home\":\"Acuèlh\",\"tabs_bar.local_timeline\":\"Flux public local\",\"tabs_bar.notifications\":\"Notificacions\",\"upload_area.title\":\"Lisatz e depausatz per mandar\",\"upload_button.label\":\"Ajustar un mèdia\",\"upload_form.description\":\"Descripcion pels mal vesents\",\"upload_form.undo\":\"Anullar\",\"upload_progress.label\":\"Mandadís…\",\"video.close\":\"Tampar la vidèo\",\"video.exit_fullscreen\":\"Sortir plen ecran\",\"video.expand\":\"Agrandir la vidèo\",\"video.fullscreen\":\"Ecran complet\",\"video.hide\":\"Amagar la vidèo\",\"video.mute\":\"Copar lo son\",\"video.pause\":\"Pausa\",\"video.play\":\"Lectura\",\"video.unmute\":\"Restablir lo son\"}" + }, + { + "id": 719, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/locales/locale-data/oc.js", + "name": "./app/javascript/mastodon/locales/locale-data/oc.js", + "index": 878, + "index2": 877, + "size": 2187, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 42 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_oc.js", + "issuerId": 717, + "issuerName": "./tmp/packs/locale_oc.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 717, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_oc.js", + "module": "./tmp/packs/locale_oc.js", + "moduleName": "./tmp/packs/locale_oc.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/locale-data/oc.js", + "loc": "6:0-81" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 1, + "source": "/*eslint eqeqeq: \"off\"*/\n/*eslint no-nested-ternary: \"off\"*/\n/*eslint quotes: \"off\"*/\n\nexport default [{\n locale: \"oc\",\n pluralRuleFunction: function pluralRuleFunction(e, a) {\n return a ? 1 == e ? \"one\" : \"other\" : e >= 0 && e < 2 ? \"one\" : \"other\";\n },\n fields: {\n year: {\n displayName: \"an\",\n relative: {\n 0: \"ongan\",\n 1: \"l'an que ven\",\n \"-1\": \"l'an passat\"\n },\n relativeTime: {\n future: {\n one: \"dins {0} an\",\n other: \"dins {0} ans\"\n },\n past: {\n one: \"fa {0} an\",\n other: \"fa {0} ans\"\n }\n }\n },\n month: {\n displayName: \"mes\",\n relative: {\n 0: \"aqueste mes\",\n 1: \"lo mes que ven\",\n \"-1\": \"lo mes passat\"\n },\n relativeTime: {\n future: {\n one: \"dins {0} mes\",\n other: \"dins {0} meses\"\n },\n past: {\n one: \"fa {0} mes\",\n other: \"fa {0} meses\"\n }\n }\n },\n day: {\n displayName: \"jorn\",\n relative: {\n 0: \"uèi\",\n 1: \"deman\",\n \"-1\": \"ièr\"\n },\n relativeTime: {\n future: {\n one: \"dins {0} jorn\",\n other: \"dins {0} jorns\"\n },\n past: {\n one: \"fa {0} jorn\",\n other: \"fa {0} jorns\"\n }\n }\n },\n hour: {\n displayName: \"ora\",\n relativeTime: {\n future: {\n one: \"dins {0} ora\",\n other: \"dins {0} oras\"\n },\n past: {\n one: \"fa {0} ora\",\n other: \"fa {0} oras\"\n }\n }\n },\n minute: {\n displayName: \"minuta\",\n relativeTime: {\n future: {\n one: \"dins {0} minuta\",\n other: \"dins {0} minutas\"\n },\n past: {\n one: \"fa {0} minuta\",\n other: \"fa {0} minutas\"\n }\n }\n },\n second: {\n displayName: \"segonda\",\n relative: {\n 0: \"ara\"\n },\n relativeTime: {\n future: {\n one: \"dins {0} segonda\",\n other: \"dins {0} segondas\"\n },\n past: {\n one: \"fa {0} segonda\",\n other: \"fa {0} segondas\"\n }\n }\n }\n }\n}];" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 717, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_oc.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_oc.js", + "moduleName": "./tmp/packs/locale_oc.js", + "loc": "", + "name": "locale_oc", + "reasons": [] + } + ] + }, + { + "id": 43, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 12603, + "names": [ + "locale_no" + ], + "files": [ + "locale_no-a905e439e333e8a75417.js", + "locale_no-a905e439e333e8a75417.js.map" + ], + "hash": "a905e439e333e8a75417", + "parents": [ + 65 + ], + "modules": [ + { + "id": 714, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_no.js", + "name": "./tmp/packs/locale_no.js", + "index": 873, + "index2": 875, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 43 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_no.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/no.json';\nimport localeData from \"react-intl/locale-data/no.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 715, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/no.json", + "name": "./app/javascript/mastodon/locales/no.json", + "index": 874, + "index2": 873, + "size": 10929, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 43 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_no.js", + "issuerId": 714, + "issuerName": "./tmp/packs/locale_no.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 714, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_no.js", + "module": "./tmp/packs/locale_no.js", + "moduleName": "./tmp/packs/locale_no.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/no.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Blokkér @{name}\",\"account.block_domain\":\"Skjul alt fra {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Rediger profil\",\"account.follow\":\"Følg\",\"account.followers\":\"Følgere\",\"account.follows\":\"Følger\",\"account.follows_you\":\"Følger deg\",\"account.media\":\"Media\",\"account.mention\":\"Nevn @{name}\",\"account.mute\":\"Demp @{name}\",\"account.posts\":\"Innlegg\",\"account.report\":\"Rapportér @{name}\",\"account.requested\":\"Venter på godkjennelse\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Avblokker @{name}\",\"account.unblock_domain\":\"Vis {domain}\",\"account.unfollow\":\"Avfølg\",\"account.unmute\":\"Avdemp @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"You kan trykke {combo} for å hoppe over dette neste gang\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Blokkerte brukere\",\"column.community\":\"Lokal tidslinje\",\"column.favourites\":\"Likt\",\"column.follow_requests\":\"Følgeforespørsler\",\"column.home\":\"Hjem\",\"column.mutes\":\"Dempede brukere\",\"column.notifications\":\"Varsler\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Felles tidslinje\",\"column_back_button.label\":\"Tilbake\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigasjon\",\"column_subheading.settings\":\"Innstillinger\",\"compose_form.lock_disclaimer\":\"Din konto er ikke {locked}. Hvem som helst kan følge deg og se dine private poster.\",\"compose_form.lock_disclaimer.lock\":\"låst\",\"compose_form.placeholder\":\"Hva har du på hjertet?\",\"compose_form.publish\":\"Tut\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Merk media som følsomt\",\"compose_form.spoiler\":\"Skjul tekst bak advarsel\",\"compose_form.spoiler_placeholder\":\"Innholdsadvarsel\",\"confirmation_modal.cancel\":\"Avbryt\",\"confirmations.block.confirm\":\"Blokkèr\",\"confirmations.block.message\":\"Er du sikker på at du vil blokkere {name}?\",\"confirmations.delete.confirm\":\"Slett\",\"confirmations.delete.message\":\"Er du sikker på at du vil slette denne statusen?\",\"confirmations.domain_block.confirm\":\"Skjul alt fra domenet\",\"confirmations.domain_block.message\":\"Er du sikker på at du vil skjule hele domenet {domain}? I de fleste tilfeller er det bedre med målrettet blokkering eller demping.\",\"confirmations.mute.confirm\":\"Demp\",\"confirmations.mute.message\":\"Er du sikker på at du vil dempe {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Aktivitet\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Flagg\",\"emoji_button.food\":\"Mat og drikke\",\"emoji_button.label\":\"Sett inn emoji\",\"emoji_button.nature\":\"Natur\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objekter\",\"emoji_button.people\":\"Mennesker\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Søk...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Symboler\",\"emoji_button.travel\":\"Reise & steder\",\"empty_column.community\":\"Den lokale tidslinjen er tom. Skriv noe offentlig for å få snøballen til å rulle!\",\"empty_column.hashtag\":\"Det er ingenting i denne hashtagen ennå.\",\"empty_column.home\":\"Du har ikke fulgt noen ennå. Besøk {publlic} eller bruk søk for å komme i gang og møte andre brukere.\",\"empty_column.home.public_timeline\":\"en offentlig tidslinje\",\"empty_column.notifications\":\"Du har ingen varsler ennå. Kommuniser med andre for å begynne samtalen.\",\"empty_column.public\":\"Det er ingenting her! Skriv noe offentlig, eller følg brukere manuelt fra andre instanser for å fylle den opp\",\"follow_request.authorize\":\"Autorisér\",\"follow_request.reject\":\"Avvis\",\"getting_started.appsshort\":\"Apper\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Kom i gang\",\"getting_started.open_source_notice\":\"Mastodon er fri programvare. Du kan bidra eller rapportere problemer på GitHub på {github}.\",\"getting_started.userguide\":\"Brukerguide\",\"home.column_settings.advanced\":\"Avansert\",\"home.column_settings.basic\":\"Enkel\",\"home.column_settings.filter_regex\":\"Filtrér med regulære uttrykk\",\"home.column_settings.show_reblogs\":\"Vis fremhevinger\",\"home.column_settings.show_replies\":\"Vis svar\",\"home.settings\":\"Kolonneinnstillinger\",\"lightbox.close\":\"Lukk\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Laster...\",\"media_gallery.toggle_visible\":\"Veksle synlighet\",\"missing_indicator.label\":\"Ikke funnet\",\"navigation_bar.blocks\":\"Blokkerte brukere\",\"navigation_bar.community_timeline\":\"Lokal tidslinje\",\"navigation_bar.edit_profile\":\"Rediger profil\",\"navigation_bar.favourites\":\"Likt\",\"navigation_bar.follow_requests\":\"Følgeforespørsler\",\"navigation_bar.info\":\"Utvidet informasjon\",\"navigation_bar.logout\":\"Logg ut\",\"navigation_bar.mutes\":\"Dempede brukere\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Preferanser\",\"navigation_bar.public_timeline\":\"Felles tidslinje\",\"notification.favourite\":\"{name} likte din status\",\"notification.follow\":\"{name} fulgte deg\",\"notification.mention\":\"{name} nevnte deg\",\"notification.reblog\":\"{name} fremhevde din status\",\"notifications.clear\":\"Fjern varsler\",\"notifications.clear_confirmation\":\"Er du sikker på at du vil fjerne alle dine varsler?\",\"notifications.column_settings.alert\":\"Skrivebordsvarslinger\",\"notifications.column_settings.favourite\":\"Likt:\",\"notifications.column_settings.follow\":\"Nye følgere:\",\"notifications.column_settings.mention\":\"Nevnt:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Fremhevet:\",\"notifications.column_settings.show\":\"Vis i kolonne\",\"notifications.column_settings.sound\":\"Spill lyd\",\"onboarding.done\":\"Ferdig\",\"onboarding.next\":\"Neste\",\"onboarding.page_five.public_timelines\":\"Den lokale tidslinjen viser offentlige poster fra alle på {domain}. Felles tidslinje viser offentlige poster fra alle som brukere på {domain} følger. Dette er de offentlige tidslinjene, et fint sted å oppdage nye brukere.\",\"onboarding.page_four.home\":\"Hjem er tidslinjen med alle brukere som du følger.\",\"onboarding.page_four.notifications\":\"Kolonnen med varsler viser når noen interakterer med deg.\",\"onboarding.page_one.federation\":\"Mastdodon er et nettverk med uavhengige servere som sammarbeider om å danne et stort sosialt nettverk. Vi kaller disse serverene instanser.\",\"onboarding.page_one.handle\":\"Du er på {domain}, så ditt fulle brukernavn er {handle}\",\"onboarding.page_one.welcome\":\"Velkommen til Mastodon!\",\"onboarding.page_six.admin\":\"Administratoren på din instans er {admin}.\",\"onboarding.page_six.almost_done\":\"Snart ferdig...\",\"onboarding.page_six.appetoot\":\"Bon Appetut!\",\"onboarding.page_six.apps_available\":\"Det er {apps} tilgjengelig for iOS, Android og andre plattformer.\",\"onboarding.page_six.github\":\"Mastodon er programvare med fri og åpen kildekode. Du kan rapportere feil, be om hjelp eller foreslå endringer på {github}.\",\"onboarding.page_six.guidelines\":\"samfunnets rettningslinjer\",\"onboarding.page_six.read_guidelines\":\"Vennligst les {guidelines} for {domain}!\",\"onboarding.page_six.various_app\":\"mobilapper\",\"onboarding.page_three.profile\":\"Rediger profilen din for å endre din avatar, biografi, og visningsnavn. Der finner du også andre innstillinger.\",\"onboarding.page_three.search\":\"Bruk søkemenyen for å søke etter emneknagger eller brukere, slik som {illustration} og {introductions}. For å søke på en bruker som ikke er på samme instans som deg bruk hele brukernavnet..\",\"onboarding.page_two.compose\":\"Skriv innlegg fra forfatt-kolonnen. Du kan laste opp bilder, justere synlighet, og legge til innholdsvarsler med knappene under.\",\"onboarding.skip\":\"Hopp over\",\"privacy.change\":\"Justér synlighet\",\"privacy.direct.long\":\"Post kun til nevnte brukere\",\"privacy.direct.short\":\"Direkte\",\"privacy.private.long\":\"Post kun til følgere\",\"privacy.private.short\":\"Privat\",\"privacy.public.long\":\"Post kun til offentlige tidslinjer\",\"privacy.public.short\":\"Offentlig\",\"privacy.unlisted.long\":\"Ikke vis i offentlige tidslinjer\",\"privacy.unlisted.short\":\"Uoppført\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Avbryt\",\"report.placeholder\":\"Tilleggskommentarer\",\"report.submit\":\"Send inn\",\"report.target\":\"Rapporterer\",\"search.placeholder\":\"Søk\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {resultat} other {resultater}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"Denne posten kan ikke fremheves\",\"status.delete\":\"Slett\",\"status.embed\":\"Embed\",\"status.favourite\":\"Lik\",\"status.load_more\":\"Last mer\",\"status.media_hidden\":\"Media skjult\",\"status.mention\":\"Nevn @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Demp samtale\",\"status.open\":\"Utvid denne statusen\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Fremhev\",\"status.reblogged_by\":\"Fremhevd av {name}\",\"status.reply\":\"Svar\",\"status.replyAll\":\"Svar til samtale\",\"status.report\":\"Rapporter @{name}\",\"status.sensitive_toggle\":\"Klikk for å vise\",\"status.sensitive_warning\":\"Følsomt innhold\",\"status.share\":\"Share\",\"status.show_less\":\"Vis mindre\",\"status.show_more\":\"Vis mer\",\"status.unmute_conversation\":\"Ikke demp samtale\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Komponer\",\"tabs_bar.federated_timeline\":\"Felles\",\"tabs_bar.home\":\"Hjem\",\"tabs_bar.local_timeline\":\"Lokal\",\"tabs_bar.notifications\":\"Varslinger\",\"upload_area.title\":\"Dra og slipp for å laste opp\",\"upload_button.label\":\"Legg til media\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Angre\",\"upload_progress.label\":\"Laster opp...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 716, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/no.js", + "name": "./node_modules/react-intl/locale-data/no.js", + "index": 875, + "index2": 874, + "size": 1349, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 43 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_no.js", + "issuerId": 714, + "issuerName": "./tmp/packs/locale_no.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 714, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_no.js", + "module": "./tmp/packs/locale_no.js", + "moduleName": "./tmp/packs/locale_no.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/no.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.no = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"no\", pluralRuleFunction: function (e, t) {\n return t ? \"other\" : 1 == e ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"Year\", relative: { 0: \"this year\", 1: \"next year\", \"-1\": \"last year\" }, relativeTime: { future: { other: \"+{0} y\" }, past: { other: \"-{0} y\" } } }, month: { displayName: \"Month\", relative: { 0: \"this month\", 1: \"next month\", \"-1\": \"last month\" }, relativeTime: { future: { other: \"+{0} m\" }, past: { other: \"-{0} m\" } } }, day: { displayName: \"Day\", relative: { 0: \"today\", 1: \"tomorrow\", \"-1\": \"yesterday\" }, relativeTime: { future: { other: \"+{0} d\" }, past: { other: \"-{0} d\" } } }, hour: { displayName: \"Hour\", relative: { 0: \"this hour\" }, relativeTime: { future: { other: \"+{0} h\" }, past: { other: \"-{0} h\" } } }, minute: { displayName: \"Minute\", relative: { 0: \"this minute\" }, relativeTime: { future: { other: \"+{0} min\" }, past: { other: \"-{0} min\" } } }, second: { displayName: \"Second\", relative: { 0: \"now\" }, relativeTime: { future: { other: \"+{0} s\" }, past: { other: \"-{0} s\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 714, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_no.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_no.js", + "moduleName": "./tmp/packs/locale_no.js", + "loc": "", + "name": "locale_no", + "reasons": [] + } + ] + }, + { + "id": 44, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 14328, + "names": [ + "locale_nl" + ], + "files": [ + "locale_nl-eb63a7c19f056d7aad37.js", + "locale_nl-eb63a7c19f056d7aad37.js.map" + ], + "hash": "eb63a7c19f056d7aad37", + "parents": [ + 65 + ], + "modules": [ + { + "id": 711, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_nl.js", + "name": "./tmp/packs/locale_nl.js", + "index": 870, + "index2": 872, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 44 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_nl.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/nl.json';\nimport localeData from \"react-intl/locale-data/nl.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 712, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/nl.json", + "name": "./app/javascript/mastodon/locales/nl.json", + "index": 871, + "index2": 870, + "size": 11906, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 44 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_nl.js", + "issuerId": 711, + "issuerName": "./tmp/packs/locale_nl.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 711, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_nl.js", + "module": "./tmp/packs/locale_nl.js", + "moduleName": "./tmp/packs/locale_nl.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/nl.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Blokkeer @{name}\",\"account.block_domain\":\"Negeer alles van {domain}\",\"account.disclaimer_full\":\"De informatie hieronder kan mogelijk een incompleet beeld geven van dit gebruikersprofiel.\",\"account.edit_profile\":\"Profiel bewerken\",\"account.follow\":\"Volgen\",\"account.followers\":\"Volgers\",\"account.follows\":\"Volgt\",\"account.follows_you\":\"Volgt jou\",\"account.media\":\"Media\",\"account.mention\":\"Vermeld @{name}\",\"account.mute\":\"Negeer @{name}\",\"account.posts\":\"Toots\",\"account.report\":\"Rapporteer @{name}\",\"account.requested\":\"Wacht op goedkeuring. Klik om volgverzoek te annuleren.\",\"account.share\":\"Profiel van @{name} delen\",\"account.unblock\":\"Deblokkeer @{name}\",\"account.unblock_domain\":\"{domain} niet meer negeren\",\"account.unfollow\":\"Ontvolgen\",\"account.unmute\":\"@{name} niet meer negeren\",\"account.view_full_profile\":\"Volledig profiel tonen\",\"boost_modal.combo\":\"Je kunt {combo} klikken om dit de volgende keer over te slaan\",\"bundle_column_error.body\":\"Tijdens het laden van dit onderdeel is er iets fout gegaan.\",\"bundle_column_error.retry\":\"Opnieuw proberen\",\"bundle_column_error.title\":\"Netwerkfout\",\"bundle_modal_error.close\":\"Sluiten\",\"bundle_modal_error.message\":\"Tijdens het laden van dit onderdeel is er iets fout gegaan.\",\"bundle_modal_error.retry\":\"Opnieuw proberen\",\"column.blocks\":\"Geblokkeerde gebruikers\",\"column.community\":\"Lokale tijdlijn\",\"column.favourites\":\"Favorieten\",\"column.follow_requests\":\"Volgverzoeken\",\"column.home\":\"Start\",\"column.mutes\":\"Genegeerde gebruikers\",\"column.notifications\":\"Meldingen\",\"column.pins\":\"Vastgezette toots\",\"column.public\":\"Globale tijdlijn\",\"column_back_button.label\":\"terug\",\"column_header.hide_settings\":\"Instellingen verbergen\",\"column_header.moveLeft_settings\":\"Kolom naar links verplaatsen\",\"column_header.moveRight_settings\":\"Kolom naar rechts verplaatsen\",\"column_header.pin\":\"Vastmaken\",\"column_header.show_settings\":\"Instellingen tonen\",\"column_header.unpin\":\"Losmaken\",\"column_subheading.navigation\":\"Navigatie\",\"column_subheading.settings\":\"Instellingen\",\"compose_form.lock_disclaimer\":\"Jouw account is niet {locked}. Iedereen kan jou volgen en toots zien die je alleen aan volgers hebt gericht.\",\"compose_form.lock_disclaimer.lock\":\"besloten\",\"compose_form.placeholder\":\"Wat wil je kwijt?\",\"compose_form.publish\":\"Toot\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Media als gevoelig markeren (nsfw)\",\"compose_form.spoiler\":\"Tekst achter waarschuwing verbergen\",\"compose_form.spoiler_placeholder\":\"Waarschuwingstekst\",\"confirmation_modal.cancel\":\"Annuleren\",\"confirmations.block.confirm\":\"Blokkeren\",\"confirmations.block.message\":\"Weet je het zeker dat je {name} wilt blokkeren?\",\"confirmations.delete.confirm\":\"Verwijderen\",\"confirmations.delete.message\":\"Weet je het zeker dat je deze toot wilt verwijderen?\",\"confirmations.domain_block.confirm\":\"Negeer alles van deze server\",\"confirmations.domain_block.message\":\"Weet je het echt, echt zeker dat je alles van {domain} wil negeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en gewenst.\",\"confirmations.mute.confirm\":\"Negeren\",\"confirmations.mute.message\":\"Weet je het zeker dat je {name} wilt negeren?\",\"confirmations.unfollow.confirm\":\"Ontvolgen\",\"confirmations.unfollow.message\":\"Weet je het zeker dat je {name} wilt ontvolgen?\",\"embed.instructions\":\"Embed deze toot op jouw website, door de onderstaande code te kopiëren.\",\"embed.preview\":\"Zo komt het eruit te zien:\",\"emoji_button.activity\":\"Activiteiten\",\"emoji_button.custom\":\"Lokale emoji’s\",\"emoji_button.flags\":\"Vlaggen\",\"emoji_button.food\":\"Eten en drinken\",\"emoji_button.label\":\"Emoji toevoegen\",\"emoji_button.nature\":\"Natuur\",\"emoji_button.not_found\":\"Geen emoji’s!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Voorwerpen\",\"emoji_button.people\":\"Mensen\",\"emoji_button.recent\":\"Vaak gebruikt\",\"emoji_button.search\":\"Zoeken...\",\"emoji_button.search_results\":\"Zoekresultaten\",\"emoji_button.symbols\":\"Symbolen\",\"emoji_button.travel\":\"Reizen en plekken\",\"empty_column.community\":\"De lokale tijdlijn is nog leeg. Toot iets in het openbaar om de bal aan het rollen te krijgen!\",\"empty_column.hashtag\":\"Er is nog niks te vinden onder deze hashtag.\",\"empty_column.home\":\"Jij volgt nog niemand. Bezoek {public} of gebruik het zoekvenster om andere mensen te ontmoeten.\",\"empty_column.home.public_timeline\":\"de globale tijdlijn\",\"empty_column.notifications\":\"Je hebt nog geen meldingen. Heb interactie met andere mensen om het gesprek aan te gaan.\",\"empty_column.public\":\"Er is hier helemaal niks! Toot iets in het openbaar of volg mensen van andere Mastodon-servers om het te vullen.\",\"follow_request.authorize\":\"Goedkeuren\",\"follow_request.reject\":\"Afkeuren\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Beginnen\",\"getting_started.open_source_notice\":\"Mastodon is open-sourcesoftware. Je kunt bijdragen of problemen melden op GitHub via {github}.\",\"getting_started.userguide\":\"Gebruikersgids\",\"home.column_settings.advanced\":\"Geavanceerd\",\"home.column_settings.basic\":\"Basic\",\"home.column_settings.filter_regex\":\"Wegfilteren met reguliere expressies\",\"home.column_settings.show_reblogs\":\"Boosts tonen\",\"home.column_settings.show_replies\":\"Reacties tonen\",\"home.settings\":\"Kolom-instellingen\",\"lightbox.close\":\"Sluiten\",\"lightbox.next\":\"Volgende\",\"lightbox.previous\":\"Vorige\",\"loading_indicator.label\":\"Laden…\",\"media_gallery.toggle_visible\":\"Media wel/niet tonen\",\"missing_indicator.label\":\"Niet gevonden\",\"navigation_bar.blocks\":\"Geblokkeerde gebruikers\",\"navigation_bar.community_timeline\":\"Lokale tijdlijn\",\"navigation_bar.edit_profile\":\"Profiel bewerken\",\"navigation_bar.favourites\":\"Favorieten\",\"navigation_bar.follow_requests\":\"Volgverzoeken\",\"navigation_bar.info\":\"Uitgebreide informatie\",\"navigation_bar.logout\":\"Afmelden\",\"navigation_bar.mutes\":\"Genegeerde gebruikers\",\"navigation_bar.pins\":\"Vastgezette toots\",\"navigation_bar.preferences\":\"Instellingen\",\"navigation_bar.public_timeline\":\"Globale tijdlijn\",\"notification.favourite\":\"{name} markeerde jouw toot als favoriet\",\"notification.follow\":\"{name} volgt jou nu\",\"notification.mention\":\"{name} vermeldde jou\",\"notification.reblog\":\"{name} boostte jouw toot\",\"notifications.clear\":\"Meldingen verwijderen\",\"notifications.clear_confirmation\":\"Weet je het zeker dat je al jouw meldingen wilt verwijderen?\",\"notifications.column_settings.alert\":\"Desktopmeldingen\",\"notifications.column_settings.favourite\":\"Favorieten:\",\"notifications.column_settings.follow\":\"Nieuwe volgers:\",\"notifications.column_settings.mention\":\"Vermeldingen:\",\"notifications.column_settings.push\":\"Pushmeldingen\",\"notifications.column_settings.push_meta\":\"Dit apparaat\",\"notifications.column_settings.reblog\":\"Boosts:\",\"notifications.column_settings.show\":\"In kolom tonen\",\"notifications.column_settings.sound\":\"Geluid afspelen\",\"onboarding.done\":\"Klaar\",\"onboarding.next\":\"Volgende\",\"onboarding.page_five.public_timelines\":\"De lokale tijdlijn toont openbare toots van iedereen op {domain}. De globale tijdlijn toont openbare toots van iedereen die door gebruikers van {domain} worden gevolgd, dus ook mensen van andere Mastodon-servers. Dit zijn de openbare tijdlijnen en vormen een uitstekende manier om nieuwe mensen te ontdekken.\",\"onboarding.page_four.home\":\"Deze tijdlijn laat toots zien van mensen die jij volgt.\",\"onboarding.page_four.notifications\":\"De kolom met meldingen toont alle interacties die je met andere Mastodon-gebruikers hebt.\",\"onboarding.page_one.federation\":\"Mastodon is een netwerk van onafhankelijke servers die samen een groot sociaal netwerk vormen.\",\"onboarding.page_one.handle\":\"Je bevindt je nu op {domain}, dus is jouw volledige Mastodon-adres {handle}\",\"onboarding.page_one.welcome\":\"Welkom op Mastodon!\",\"onboarding.page_six.admin\":\"De beheerder van jouw Mastodon-server is {admin}.\",\"onboarding.page_six.almost_done\":\"Bijna klaar...\",\"onboarding.page_six.appetoot\":\"Veel succes!\",\"onboarding.page_six.apps_available\":\"Er zijn {apps} beschikbaar voor iOS, Android en andere platformen.\",\"onboarding.page_six.github\":\"Mastodon kost niets, en is open-source- en vrije software. Je kan bugs melden, nieuwe mogelijkheden aanvragen en als ontwikkelaar meewerken op {github}.\",\"onboarding.page_six.guidelines\":\"communityrichtlijnen\",\"onboarding.page_six.read_guidelines\":\"Vergeet niet de {guidelines} van {domain} te lezen!\",\"onboarding.page_six.various_app\":\"mobiele apps\",\"onboarding.page_three.profile\":\"Bewerk jouw profiel om jouw avatar, bio en weergavenaam te veranderen. Daar vind je ook andere instellingen.\",\"onboarding.page_three.search\":\"Gebruik de zoekbalk linksboven om andere mensen op Mastodon te vinden en om te zoeken op hashtags, zoals {illustration} en {introductions}. Om iemand te vinden die niet op deze Mastodon-server zit, moet je het volledige Mastodon-adres van deze persoon invoeren.\",\"onboarding.page_two.compose\":\"Schrijf berichten (wij noemen dit toots) in het tekstvak in de linkerkolom. Je kan met de pictogrammen daaronder afbeeldingen uploaden, privacy-instellingen veranderen en je tekst een waarschuwing meegeven.\",\"onboarding.skip\":\"Overslaan\",\"privacy.change\":\"Zichtbaarheid toot aanpassen\",\"privacy.direct.long\":\"Alleen aan vermelde gebruikers tonen\",\"privacy.direct.short\":\"Direct\",\"privacy.private.long\":\"Alleen aan volgers tonen\",\"privacy.private.short\":\"Alleen volgers\",\"privacy.public.long\":\"Op openbare tijdlijnen tonen\",\"privacy.public.short\":\"Openbaar\",\"privacy.unlisted.long\":\"Niet op openbare tijdlijnen tonen\",\"privacy.unlisted.short\":\"Minder openbaar\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Annuleren\",\"report.placeholder\":\"Extra opmerkingen\",\"report.submit\":\"Verzenden\",\"report.target\":\"Rapporteren van\",\"search.placeholder\":\"Zoeken\",\"search_popout.search_format\":\"Geavanceerd zoeken\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"toot\",\"search_popout.tips.text\":\"Gebruik gewone tekst om te zoeken op weergavenamen, gebruikersnamen en hashtags.\",\"search_popout.tips.user\":\"gebruiker\",\"search_results.total\":\"{count, number} {count, plural, one {resultaat} other {resultaten}}\",\"standalone.public_title\":\"Een kijkje binnenin...\",\"status.cannot_reblog\":\"Deze toot kan niet geboost worden\",\"status.delete\":\"Verwijderen\",\"status.embed\":\"Embed\",\"status.favourite\":\"Favoriet\",\"status.load_more\":\"Meer laden\",\"status.media_hidden\":\"Media verborgen\",\"status.mention\":\"Vermeld @{name}\",\"status.more\":\"Meer\",\"status.mute_conversation\":\"Negeer conversatie\",\"status.open\":\"Toot volledig tonen\",\"status.pin\":\"Aan profielpagina vastmaken\",\"status.reblog\":\"Boost\",\"status.reblogged_by\":\"{name} boostte\",\"status.reply\":\"Reageren\",\"status.replyAll\":\"Reageer op iedereen\",\"status.report\":\"Rapporteer @{name}\",\"status.sensitive_toggle\":\"Klik om te bekijken\",\"status.sensitive_warning\":\"Gevoelige inhoud\",\"status.share\":\"Delen\",\"status.show_less\":\"Minder tonen\",\"status.show_more\":\"Meer tonen\",\"status.unmute_conversation\":\"Conversatie niet meer negeren\",\"status.unpin\":\"Van profielpagina losmaken\",\"tabs_bar.compose\":\"Schrijven\",\"tabs_bar.federated_timeline\":\"Globaal\",\"tabs_bar.home\":\"Start\",\"tabs_bar.local_timeline\":\"Lokaal\",\"tabs_bar.notifications\":\"Meldingen\",\"upload_area.title\":\"Hierin slepen om te uploaden\",\"upload_button.label\":\"Media toevoegen\",\"upload_form.description\":\"Omschrijf dit voor mensen met een visuele beperking\",\"upload_form.undo\":\"Ongedaan maken\",\"upload_progress.label\":\"Uploaden...\",\"video.close\":\"Video sluiten\",\"video.exit_fullscreen\":\"Volledig scherm sluiten\",\"video.expand\":\"Video groter maken\",\"video.fullscreen\":\"Volledig scherm\",\"video.hide\":\"Video verbergen\",\"video.mute\":\"Geluid uitschakelen\",\"video.pause\":\"Pauze\",\"video.play\":\"Afspelen\",\"video.unmute\":\"Geluid inschakelen\"}" + }, + { + "id": 713, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/nl.js", + "name": "./node_modules/react-intl/locale-data/nl.js", + "index": 872, + "index2": 871, + "size": 2097, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 44 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_nl.js", + "issuerId": 711, + "issuerName": "./tmp/packs/locale_nl.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 711, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_nl.js", + "module": "./tmp/packs/locale_nl.js", + "moduleName": "./tmp/packs/locale_nl.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/nl.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, n) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = n() : \"function\" == typeof define && define.amd ? define(n) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.nl = n());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"nl\", pluralRuleFunction: function (e, n) {\n var a = !String(e).split(\".\")[1];return n ? \"other\" : 1 == e && a ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"jaar\", relative: { 0: \"dit jaar\", 1: \"volgend jaar\", \"-1\": \"vorig jaar\" }, relativeTime: { future: { one: \"over {0} jaar\", other: \"over {0} jaar\" }, past: { one: \"{0} jaar geleden\", other: \"{0} jaar geleden\" } } }, month: { displayName: \"maand\", relative: { 0: \"deze maand\", 1: \"volgende maand\", \"-1\": \"vorige maand\" }, relativeTime: { future: { one: \"over {0} maand\", other: \"over {0} maanden\" }, past: { one: \"{0} maand geleden\", other: \"{0} maanden geleden\" } } }, day: { displayName: \"dag\", relative: { 0: \"vandaag\", 1: \"morgen\", 2: \"overmorgen\", \"-2\": \"eergisteren\", \"-1\": \"gisteren\" }, relativeTime: { future: { one: \"over {0} dag\", other: \"over {0} dagen\" }, past: { one: \"{0} dag geleden\", other: \"{0} dagen geleden\" } } }, hour: { displayName: \"uur\", relative: { 0: \"binnen een uur\" }, relativeTime: { future: { one: \"over {0} uur\", other: \"over {0} uur\" }, past: { one: \"{0} uur geleden\", other: \"{0} uur geleden\" } } }, minute: { displayName: \"minuut\", relative: { 0: \"binnen een minuut\" }, relativeTime: { future: { one: \"over {0} minuut\", other: \"over {0} minuten\" }, past: { one: \"{0} minuut geleden\", other: \"{0} minuten geleden\" } } }, second: { displayName: \"seconde\", relative: { 0: \"nu\" }, relativeTime: { future: { one: \"over {0} seconde\", other: \"over {0} seconden\" }, past: { one: \"{0} seconde geleden\", other: \"{0} seconden geleden\" } } } } }, { locale: \"nl-AW\", parentLocale: \"nl\" }, { locale: \"nl-BE\", parentLocale: \"nl\" }, { locale: \"nl-BQ\", parentLocale: \"nl\" }, { locale: \"nl-CW\", parentLocale: \"nl\" }, { locale: \"nl-SR\", parentLocale: \"nl\" }, { locale: \"nl-SX\", parentLocale: \"nl\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 711, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_nl.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_nl.js", + "moduleName": "./tmp/packs/locale_nl.js", + "loc": "", + "name": "locale_nl", + "reasons": [] + } + ] + }, + { + "id": 45, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 10537, + "names": [ + "locale_ko" + ], + "files": [ + "locale_ko-6095b6a5356744e8c0fa.js", + "locale_ko-6095b6a5356744e8c0fa.js.map" + ], + "hash": "6095b6a5356744e8c0fa", + "parents": [ + 65 + ], + "modules": [ + { + "id": 708, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ko.js", + "name": "./tmp/packs/locale_ko.js", + "index": 867, + "index2": 869, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 45 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_ko.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/ko.json';\nimport localeData from \"react-intl/locale-data/ko.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 709, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/ko.json", + "name": "./app/javascript/mastodon/locales/ko.json", + "index": 868, + "index2": 867, + "size": 8921, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 45 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ko.js", + "issuerId": 708, + "issuerName": "./tmp/packs/locale_ko.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 708, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ko.js", + "module": "./tmp/packs/locale_ko.js", + "moduleName": "./tmp/packs/locale_ko.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/ko.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"차단\",\"account.block_domain\":\"{domain} 전체를 숨김\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"프로필 편집\",\"account.follow\":\"팔로우\",\"account.followers\":\"팔로워\",\"account.follows\":\"팔로우\",\"account.follows_you\":\"날 팔로우합니다\",\"account.media\":\"미디어\",\"account.mention\":\"답장\",\"account.mute\":\"뮤트\",\"account.posts\":\"포스트\",\"account.report\":\"신고\",\"account.requested\":\"승인 대기 중\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"차단 해제\",\"account.unblock_domain\":\"{domain} 숨김 해제\",\"account.unfollow\":\"팔로우 해제\",\"account.unmute\":\"뮤트 해제\",\"account.view_full_profile\":\"전체 프로필 보기\",\"boost_modal.combo\":\"다음부터 {combo}를 누르면 이 과정을 건너뛸 수 있습니다.\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"차단 중인 사용자\",\"column.community\":\"로컬 타임라인\",\"column.favourites\":\"즐겨찾기\",\"column.follow_requests\":\"팔로우 요청\",\"column.home\":\"홈\",\"column.mutes\":\"뮤트 중인 사용자\",\"column.notifications\":\"알림\",\"column.pins\":\"고정된 툿\",\"column.public\":\"연합 타임라인\",\"column_back_button.label\":\"돌아가기\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"고정하기\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"고정 해제\",\"column_subheading.navigation\":\"내비게이션\",\"column_subheading.settings\":\"설정\",\"compose_form.lock_disclaimer\":\"이 계정은 {locked}로 설정 되어 있지 않습니다. 누구나 이 계정을 팔로우 할 수 있으며, 팔로워 공개의 포스팅을 볼 수 있습니다.\",\"compose_form.lock_disclaimer.lock\":\"비공개\",\"compose_form.placeholder\":\"지금 무엇을 하고 있나요?\",\"compose_form.publish\":\"툿\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"이 미디어를 민감한 미디어로 취급\",\"compose_form.spoiler\":\"텍스트 숨기기\",\"compose_form.spoiler_placeholder\":\"경고\",\"confirmation_modal.cancel\":\"취소\",\"confirmations.block.confirm\":\"차단\",\"confirmations.block.message\":\"정말로 {name}를 차단하시겠습니까?\",\"confirmations.delete.confirm\":\"삭제\",\"confirmations.delete.message\":\"정말로 삭제하시겠습니까?\",\"confirmations.domain_block.confirm\":\"도메인 전체를 숨김\",\"confirmations.domain_block.message\":\"정말로 {domain} 전체를 숨기시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다.\",\"confirmations.mute.confirm\":\"뮤트\",\"confirmations.mute.message\":\"정말로 {name}를 뮤트하시겠습니까?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"아래의 코드를 복사하여 대화를 원하는 곳으로 공유하세요.\",\"embed.preview\":\"다음과 같이 표시됩니다:\",\"emoji_button.activity\":\"활동\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"국기\",\"emoji_button.food\":\"음식\",\"emoji_button.label\":\"emoji를 추가\",\"emoji_button.nature\":\"자연\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"물건\",\"emoji_button.people\":\"사람들\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"검색...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"기호\",\"emoji_button.travel\":\"여행과 장소\",\"empty_column.community\":\"로컬 타임라인에 아무 것도 없습니다. 아무거나 적어 보세요!\",\"empty_column.hashtag\":\"이 해시태그는 아직 사용되지 않았습니다.\",\"empty_column.home\":\"아직 아무도 팔로우 하고 있지 않습니다. {public}를 보러 가거나, 검색하여 다른 사용자를 찾아 보세요.\",\"empty_column.home.public_timeline\":\"연합 타임라인\",\"empty_column.notifications\":\"아직 알림이 없습니다. 다른 사람과 대화를 시작해 보세요!\",\"empty_column.public\":\"여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 인스턴스 유저를 팔로우 해서 가득 채워보세요!\",\"follow_request.authorize\":\"허가\",\"follow_request.reject\":\"거부\",\"getting_started.appsshort\":\"어플리케이션\",\"getting_started.faq\":\"자주 있는 질문\",\"getting_started.heading\":\"시작\",\"getting_started.open_source_notice\":\"Mastodon은 오픈 소스 소프트웨어입니다. 누구나 GitHub({github})에서 개발에 참여하거나, 문제를 보고할 수 있습니다.\",\"getting_started.userguide\":\"사용자 가이드\",\"home.column_settings.advanced\":\"고급 사용자용\",\"home.column_settings.basic\":\"기본 설정\",\"home.column_settings.filter_regex\":\"정규 표현식으로 필터링\",\"home.column_settings.show_reblogs\":\"부스트 표시\",\"home.column_settings.show_replies\":\"답글 표시\",\"home.settings\":\"컬럼 설정\",\"lightbox.close\":\"닫기\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"불러오는 중...\",\"media_gallery.toggle_visible\":\"표시 전환\",\"missing_indicator.label\":\"찾을 수 없습니다\",\"navigation_bar.blocks\":\"차단한 사용자\",\"navigation_bar.community_timeline\":\"로컬 타임라인\",\"navigation_bar.edit_profile\":\"프로필 편집\",\"navigation_bar.favourites\":\"즐겨찾기\",\"navigation_bar.follow_requests\":\"팔로우 요청\",\"navigation_bar.info\":\"이 인스턴스에 대해서\",\"navigation_bar.logout\":\"로그아웃\",\"navigation_bar.mutes\":\"뮤트 중인 사용자\",\"navigation_bar.pins\":\"고정된 툿\",\"navigation_bar.preferences\":\"사용자 설정\",\"navigation_bar.public_timeline\":\"연합 타임라인\",\"notification.favourite\":\"{name}님이 즐겨찾기 했습니다\",\"notification.follow\":\"{name}님이 나를 팔로우 했습니다\",\"notification.mention\":\"{name}님이 답글을 보냈습니다\",\"notification.reblog\":\"{name}님이 부스트 했습니다\",\"notifications.clear\":\"알림 지우기\",\"notifications.clear_confirmation\":\"정말로 알림을 삭제하시겠습니까?\",\"notifications.column_settings.alert\":\"데스크탑 알림\",\"notifications.column_settings.favourite\":\"즐겨찾기\",\"notifications.column_settings.follow\":\"새 팔로워\",\"notifications.column_settings.mention\":\"답글\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"부스트\",\"notifications.column_settings.show\":\"컬럼에 표시\",\"notifications.column_settings.sound\":\"효과음 재생\",\"onboarding.done\":\"완료\",\"onboarding.next\":\"다음\",\"onboarding.page_five.public_timelines\":\"연합 타임라인에서는 {domain}의 사람들이 팔로우 중인 Mastodon 전체 인스턴스의 공개 포스트를 표시합니다. 로컬 타임라인에서는 {domain} 만의 공개 포스트를 표시합니다.\",\"onboarding.page_four.home\":\"홈 타임라인에서는 내가 팔로우 중인 사람들의 포스트를 표시합니다.\",\"onboarding.page_four.notifications\":\"알림에서는 다른 사람들과의 연결을 표시합니다.\",\"onboarding.page_one.federation\":\"Mastodon은 누구나 참가할 수 있는 SNS입니다.\",\"onboarding.page_one.handle\":\"여러분은 지금 수많은 Mastodon 인스턴스 중 하나인 {domain}에 있습니다. 당신의 유저 이름은 {handle} 입니다.\",\"onboarding.page_one.welcome\":\"Mastodon에 어서 오세요!\",\"onboarding.page_six.admin\":\"이 인스턴스의 관리자는 {admin}입니다.\",\"onboarding.page_six.almost_done\":\"이상입니다.\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"iOS、Android 또는 다른 플랫폼에서 사용할 수 있는 {apps}이 있습니다.\",\"onboarding.page_six.github\":\"Mastodon는 오픈 소스 소프트웨어입니다. 버그 보고나 기능 추가 요청, 기여는 {github}에서 할 수 있습니다.\",\"onboarding.page_six.guidelines\":\"커뮤니티 가이드라인\",\"onboarding.page_six.read_guidelines\":\"{guidelines}을 확인하는 것을 잊지 마세요.\",\"onboarding.page_six.various_app\":\"다양한 모바일 어플리케이션\",\"onboarding.page_three.profile\":\"[프로필 편집] 에서 자기 소개나 이름을 변경할 수 있습니다. 또한 다른 설정도 변경할 수 있습니다.\",\"onboarding.page_three.search\":\"검색 바에서 {illustration} 나 {introductions} 와 같이 특정 해시태그가 달린 포스트를 보거나, 사용자를 찾을 수 있습니다.\",\"onboarding.page_two.compose\":\"이 폼에서 포스팅 할 수 있습니다. 이미지나 공개 범위 설정, 스포일러 경고 설정은 아래 아이콘으로 설정할 수 있습니다.\",\"onboarding.skip\":\"건너뛰기\",\"privacy.change\":\"포스트의 프라이버시 설정을 변경\",\"privacy.direct.long\":\"멘션한 사용자에게만 공개\",\"privacy.direct.short\":\"다이렉트\",\"privacy.private.long\":\"팔로워에게만 공개\",\"privacy.private.short\":\"비공개\",\"privacy.public.long\":\"공개 타임라인에 표시\",\"privacy.public.short\":\"공개\",\"privacy.unlisted.long\":\"공개 타임라인에 표시하지 않음\",\"privacy.unlisted.short\":\"타임라인에 비표시\",\"relative_time.days\":\"{number}일 전\",\"relative_time.hours\":\"{number}시간 전\",\"relative_time.just_now\":\"방금\",\"relative_time.minutes\":\"{number}분 전\",\"relative_time.seconds\":\"{number}초 전\",\"reply_indicator.cancel\":\"취소\",\"report.placeholder\":\"코멘트\",\"report.submit\":\"신고하기\",\"report.target\":\"문제가 된 사용자\",\"search.placeholder\":\"검색\",\"search_popout.search_format\":\"고급 검색 방법\",\"search_popout.tips.hashtag\":\"해시태그\",\"search_popout.tips.status\":\"툿\",\"search_popout.tips.text\":\"단순한 텍스트 검색은 관계된 프로필 이름, 유저 이름 그리고 해시태그를 표시합니다\",\"search_popout.tips.user\":\"유저\",\"search_results.total\":\"{count, number}건의 결과\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"이 포스트는 부스트 할 수 없습니다\",\"status.delete\":\"삭제\",\"status.embed\":\"공유하기\",\"status.favourite\":\"즐겨찾기\",\"status.load_more\":\"더 보기\",\"status.media_hidden\":\"미디어 숨겨짐\",\"status.mention\":\"답장\",\"status.more\":\"More\",\"status.mute_conversation\":\"이 대화를 뮤트\",\"status.open\":\"상세 정보 표시\",\"status.pin\":\"고정\",\"status.reblog\":\"부스트\",\"status.reblogged_by\":\"{name}님이 부스트 했습니다\",\"status.reply\":\"답장\",\"status.replyAll\":\"전원에게 답장\",\"status.report\":\"신고\",\"status.sensitive_toggle\":\"클릭해서 표시하기\",\"status.sensitive_warning\":\"민감한 미디어\",\"status.share\":\"Share\",\"status.show_less\":\"숨기기\",\"status.show_more\":\"더 보기\",\"status.unmute_conversation\":\"이 대화의 뮤트 해제하기\",\"status.unpin\":\"고정 해제\",\"tabs_bar.compose\":\"포스트\",\"tabs_bar.federated_timeline\":\"연합\",\"tabs_bar.home\":\"홈\",\"tabs_bar.local_timeline\":\"로컬\",\"tabs_bar.notifications\":\"알림\",\"upload_area.title\":\"드래그 & 드롭으로 업로드\",\"upload_button.label\":\"미디어 추가\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"재시도\",\"upload_progress.label\":\"업로드 중...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 710, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/ko.js", + "name": "./node_modules/react-intl/locale-data/ko.js", + "index": 869, + "index2": 868, + "size": 1291, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 45 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ko.js", + "issuerId": 708, + "issuerName": "./tmp/packs/locale_ko.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 708, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ko.js", + "module": "./tmp/packs/locale_ko.js", + "moduleName": "./tmp/packs/locale_ko.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/ko.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.ko = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"ko\", pluralRuleFunction: function (e, t) {\n return \"other\";\n }, fields: { year: { displayName: \"년\", relative: { 0: \"올해\", 1: \"내년\", \"-1\": \"작년\" }, relativeTime: { future: { other: \"{0}년 후\" }, past: { other: \"{0}년 전\" } } }, month: { displayName: \"월\", relative: { 0: \"이번 달\", 1: \"다음 달\", \"-1\": \"지난달\" }, relativeTime: { future: { other: \"{0}개월 후\" }, past: { other: \"{0}개월 전\" } } }, day: { displayName: \"일\", relative: { 0: \"오늘\", 1: \"내일\", 2: \"모레\", \"-2\": \"그저께\", \"-1\": \"어제\" }, relativeTime: { future: { other: \"{0}일 후\" }, past: { other: \"{0}일 전\" } } }, hour: { displayName: \"시\", relative: { 0: \"현재 시간\" }, relativeTime: { future: { other: \"{0}시간 후\" }, past: { other: \"{0}시간 전\" } } }, minute: { displayName: \"분\", relative: { 0: \"현재 분\" }, relativeTime: { future: { other: \"{0}분 후\" }, past: { other: \"{0}분 전\" } } }, second: { displayName: \"초\", relative: { 0: \"지금\" }, relativeTime: { future: { other: \"{0}초 후\" }, past: { other: \"{0}초 전\" } } } } }, { locale: \"ko-KP\", parentLocale: \"ko\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 708, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ko.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ko.js", + "moduleName": "./tmp/packs/locale_ko.js", + "loc": "", + "name": "locale_ko", + "reasons": [] + } + ] + }, + { + "id": 46, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 10113, + "names": [ + "locale_ja" + ], + "files": [ + "locale_ja-d62b9a98f6d06252f969.js", + "locale_ja-d62b9a98f6d06252f969.js.map" + ], + "hash": "d62b9a98f6d06252f969", + "parents": [ + 65 + ], + "modules": [ + { + "id": 705, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ja.js", + "name": "./tmp/packs/locale_ja.js", + "index": 864, + "index2": 866, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 46 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_ja.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/ja.json';\nimport localeData from \"react-intl/locale-data/ja.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 706, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/ja.json", + "name": "./app/javascript/mastodon/locales/ja.json", + "index": 865, + "index2": 864, + "size": 8541, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 46 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ja.js", + "issuerId": 705, + "issuerName": "./tmp/packs/locale_ja.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 705, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ja.js", + "module": "./tmp/packs/locale_ja.js", + "moduleName": "./tmp/packs/locale_ja.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/ja.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"ブロック\",\"account.block_domain\":\"{domain}全体を非表示\",\"account.disclaimer_full\":\"以下の情報は不正確な可能性があります。\",\"account.edit_profile\":\"プロフィールを編集\",\"account.follow\":\"フォロー\",\"account.followers\":\"フォロワー\",\"account.follows\":\"フォロー\",\"account.follows_you\":\"フォローされています\",\"account.media\":\"メディア\",\"account.mention\":\"返信\",\"account.mute\":\"ミュート\",\"account.posts\":\"投稿\",\"account.report\":\"通報\",\"account.requested\":\"承認待ち\",\"account.share\":\"@{name} のプロフィールを共有する\",\"account.unblock\":\"ブロック解除\",\"account.unblock_domain\":\"{domain}を表示\",\"account.unfollow\":\"フォロー解除\",\"account.unmute\":\"ミュート解除\",\"account.view_full_profile\":\"全ての情報を見る\",\"boost_modal.combo\":\"次からは{combo}を押せば、これをスキップできます。\",\"bundle_column_error.body\":\"コンポーネントの読み込み中に問題が発生しました。\",\"bundle_column_error.retry\":\"再試行\",\"bundle_column_error.title\":\"ネットワークエラー\",\"bundle_modal_error.close\":\"閉じる\",\"bundle_modal_error.message\":\"コンポーネントの読み込み中に問題が発生しました。\",\"bundle_modal_error.retry\":\"再試行\",\"column.blocks\":\"ブロックしたユーザー\",\"column.community\":\"ローカルタイムライン\",\"column.favourites\":\"お気に入り\",\"column.follow_requests\":\"フォローリクエスト\",\"column.home\":\"ホーム\",\"column.mutes\":\"ミュートしたユーザー\",\"column.notifications\":\"通知\",\"column.pins\":\"固定されたトゥート\",\"column.public\":\"連合タイムライン\",\"column_back_button.label\":\"戻る\",\"column_header.hide_settings\":\"設定を隠す\",\"column_header.moveLeft_settings\":\"カラムを左に移動する\",\"column_header.moveRight_settings\":\"カラムを右に移動する\",\"column_header.pin\":\"ピン留めする\",\"column_header.show_settings\":\"設定を表示\",\"column_header.unpin\":\"ピン留めを外す\",\"column_subheading.navigation\":\"ナビゲーション\",\"column_subheading.settings\":\"設定\",\"compose_form.lock_disclaimer\":\"あなたのアカウントは{locked}になっていません。誰でもあなたをフォローすることができ、フォロワー限定の投稿を見ることができます。\",\"compose_form.lock_disclaimer.lock\":\"非公開\",\"compose_form.placeholder\":\"今なにしてる?\",\"compose_form.publish\":\"トゥート\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"メディアを閲覧注意としてマークする\",\"compose_form.spoiler\":\"テキストを隠す\",\"compose_form.spoiler_placeholder\":\"ここに警告を書いてください\",\"confirmation_modal.cancel\":\"キャンセル\",\"confirmations.block.confirm\":\"ブロック\",\"confirmations.block.message\":\"本当に{name}をブロックしますか?\",\"confirmations.delete.confirm\":\"削除\",\"confirmations.delete.message\":\"本当に削除しますか?\",\"confirmations.domain_block.confirm\":\"ドメイン全体を非表示\",\"confirmations.domain_block.message\":\"本当に{domain}全体を非表示にしますか? 多くの場合は個別にブロックやミュートするだけで充分であり、また好ましいです。\",\"confirmations.mute.confirm\":\"ミュート\",\"confirmations.mute.message\":\"本当に{name}をミュートしますか?\",\"confirmations.unfollow.confirm\":\"フォロー解除\",\"confirmations.unfollow.message\":\"本当に{name}をフォロー解除しますか?\",\"embed.instructions\":\"下記のコードをコピーしてウェブサイトに埋め込みます。\",\"embed.preview\":\"表示例:\",\"emoji_button.activity\":\"活動\",\"emoji_button.custom\":\"カスタム絵文字\",\"emoji_button.flags\":\"国旗\",\"emoji_button.food\":\"食べ物\",\"emoji_button.label\":\"絵文字を追加\",\"emoji_button.nature\":\"自然\",\"emoji_button.not_found\":\"絵文字がない!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"物\",\"emoji_button.people\":\"人々\",\"emoji_button.recent\":\"よく使う絵文字\",\"emoji_button.search\":\"検索...\",\"emoji_button.search_results\":\"検索結果\",\"emoji_button.symbols\":\"記号\",\"emoji_button.travel\":\"旅行と場所\",\"empty_column.community\":\"ローカルタイムラインはまだ使われていません。何か書いてみましょう!\",\"empty_column.hashtag\":\"このハッシュタグはまだ使われていません。\",\"empty_column.home\":\"まだ誰もフォローしていません。{public}を見に行くか、検索を使って他のユーザーを見つけましょう。\",\"empty_column.home.public_timeline\":\"連合タイムライン\",\"empty_column.notifications\":\"まだ通知がありません。他の人とふれ合って会話を始めましょう。\",\"empty_column.public\":\"ここにはまだ何もありません!公開で何かを投稿したり、他のインスタンスのユーザーをフォローしたりしていっぱいにしましょう!\",\"follow_request.authorize\":\"許可\",\"follow_request.reject\":\"拒否\",\"getting_started.appsshort\":\"アプリ\",\"getting_started.faq\":\"よくある質問\",\"getting_started.heading\":\"スタート\",\"getting_started.open_source_notice\":\"Mastodonはオープンソースソフトウェアです。誰でもGitHub({github})から開発に参加したり、問題を報告したりできます。\",\"getting_started.userguide\":\"ユーザーガイド\",\"home.column_settings.advanced\":\"上級者向け\",\"home.column_settings.basic\":\"基本設定\",\"home.column_settings.filter_regex\":\"正規表現でフィルター\",\"home.column_settings.show_reblogs\":\"ブースト表示\",\"home.column_settings.show_replies\":\"返信表示\",\"home.settings\":\"カラム設定\",\"lightbox.close\":\"閉じる\",\"lightbox.next\":\"次\",\"lightbox.previous\":\"前\",\"loading_indicator.label\":\"読み込み中...\",\"media_gallery.toggle_visible\":\"表示切り替え\",\"missing_indicator.label\":\"見つかりません\",\"navigation_bar.blocks\":\"ブロックしたユーザー\",\"navigation_bar.community_timeline\":\"ローカルタイムライン\",\"navigation_bar.edit_profile\":\"プロフィールを編集\",\"navigation_bar.favourites\":\"お気に入り\",\"navigation_bar.follow_requests\":\"フォローリクエスト\",\"navigation_bar.info\":\"このインスタンスについて\",\"navigation_bar.logout\":\"ログアウト\",\"navigation_bar.mutes\":\"ミュートしたユーザー\",\"navigation_bar.pins\":\"固定されたトゥート\",\"navigation_bar.preferences\":\"ユーザー設定\",\"navigation_bar.public_timeline\":\"連合タイムライン\",\"notification.favourite\":\"{name}さんがあなたのトゥートをお気に入りに登録しました\",\"notification.follow\":\"{name}さんにフォローされました\",\"notification.mention\":\"{name}さんがあなたに返信しました\",\"notification.reblog\":\"{name}さんがあなたのトゥートをブーストしました\",\"notifications.clear\":\"通知を消去\",\"notifications.clear_confirmation\":\"本当に通知を消去しますか?\",\"notifications.column_settings.alert\":\"デスクトップ通知\",\"notifications.column_settings.favourite\":\"お気に入り\",\"notifications.column_settings.follow\":\"新しいフォロワー\",\"notifications.column_settings.mention\":\"返信\",\"notifications.column_settings.push\":\"プッシュ通知\",\"notifications.column_settings.push_meta\":\"このデバイス\",\"notifications.column_settings.reblog\":\"ブースト\",\"notifications.column_settings.show\":\"カラムに表示\",\"notifications.column_settings.sound\":\"通知音を再生\",\"onboarding.done\":\"完了\",\"onboarding.next\":\"次へ\",\"onboarding.page_five.public_timelines\":\"連合タイムラインでは{domain}の人がフォローしているMastodon全体での公開投稿を表示します。同じくローカルタイムラインでは{domain}のみの公開投稿を表示します。\",\"onboarding.page_four.home\":\"「ホーム」タイムラインではあなたがフォローしている人の投稿を表示します。\",\"onboarding.page_four.notifications\":\"「通知」ではあなたへの他の人からの関わりを表示します。\",\"onboarding.page_one.federation\":\"Mastodonは誰でも参加できるSNSです。\",\"onboarding.page_one.handle\":\"あなたは今数あるMastodonインスタンスの1つである{domain}にいます。あなたのフルハンドルは{handle}です。\",\"onboarding.page_one.welcome\":\"Mastodonへようこそ!\",\"onboarding.page_six.admin\":\"あなたのインスタンスの管理者は{admin}です。\",\"onboarding.page_six.almost_done\":\"以上です。\",\"onboarding.page_six.appetoot\":\"ボナペトゥート!\",\"onboarding.page_six.apps_available\":\"iOS、Androidあるいは他のプラットフォームで使える{apps}があります。\",\"onboarding.page_six.github\":\"MastodonはOSSです。バグ報告や機能要望あるいは貢献を{github}から行なえます。\",\"onboarding.page_six.guidelines\":\"コミュニティガイドライン\",\"onboarding.page_six.read_guidelines\":\"{guidelines}を読むことを忘れないようにしてください。\",\"onboarding.page_six.various_app\":\"様々なモバイルアプリ\",\"onboarding.page_three.profile\":\"「プロフィールを編集」から、あなたの自己紹介や表示名を変更できます。またそこでは他の設定ができます。\",\"onboarding.page_three.search\":\"検索バーで、{illustration}や{introductions}のように特定のハッシュタグの投稿を見たり、ユーザーを探したりできます。\",\"onboarding.page_two.compose\":\"フォームから投稿できます。イメージや、公開範囲の設定や、表示時の警告の設定は下部のアイコンから行なえます。\",\"onboarding.skip\":\"スキップ\",\"privacy.change\":\"投稿のプライバシーを変更\",\"privacy.direct.long\":\"メンションしたユーザーだけに公開\",\"privacy.direct.short\":\"ダイレクト\",\"privacy.private.long\":\"フォロワーだけに公開\",\"privacy.private.short\":\"非公開\",\"privacy.public.long\":\"公開TLに投稿する\",\"privacy.public.short\":\"公開\",\"privacy.unlisted.long\":\"公開TLで表示しない\",\"privacy.unlisted.short\":\"未収載\",\"relative_time.days\":\"{number}日前\",\"relative_time.hours\":\"{number}時間前\",\"relative_time.just_now\":\"今\",\"relative_time.minutes\":\"{number}分前\",\"relative_time.seconds\":\"{number}秒前\",\"reply_indicator.cancel\":\"キャンセル\",\"report.placeholder\":\"コメント\",\"report.submit\":\"通報する\",\"report.target\":\"{target} を通報する\",\"search.placeholder\":\"検索\",\"search_popout.search_format\":\"高度な検索フォーマット\",\"search_popout.tips.hashtag\":\"ハッシュタグ\",\"search_popout.tips.status\":\"トゥート\",\"search_popout.tips.text\":\"表示名やユーザー名、ハッシュタグに一致する単純なテキスト\",\"search_popout.tips.user\":\"ユーザー\",\"search_results.total\":\"{count, number}件の結果\",\"standalone.public_title\":\"今こんな話をしています\",\"status.cannot_reblog\":\"この投稿はブーストできません\",\"status.delete\":\"削除\",\"status.embed\":\"埋め込み\",\"status.favourite\":\"お気に入り\",\"status.load_more\":\"もっと見る\",\"status.media_hidden\":\"非表示のメディア\",\"status.mention\":\"返信\",\"status.more\":\"もっと見る\",\"status.mute_conversation\":\"会話をミュート\",\"status.open\":\"詳細を表示\",\"status.pin\":\"プロフィールに固定表示\",\"status.reblog\":\"ブースト\",\"status.reblogged_by\":\"{name}さんにブーストされました\",\"status.reply\":\"返信\",\"status.replyAll\":\"全員に返信\",\"status.report\":\"通報\",\"status.sensitive_toggle\":\"クリックして表示\",\"status.sensitive_warning\":\"閲覧注意\",\"status.share\":\"共有\",\"status.show_less\":\"隠す\",\"status.show_more\":\"もっと見る\",\"status.unmute_conversation\":\"会話のミュートを解除\",\"status.unpin\":\"プロフィールの固定表示を解除\",\"tabs_bar.compose\":\"投稿\",\"tabs_bar.federated_timeline\":\"連合\",\"tabs_bar.home\":\"ホーム\",\"tabs_bar.local_timeline\":\"ローカル\",\"tabs_bar.notifications\":\"通知\",\"upload_area.title\":\"ドラッグ&ドロップでアップロード\",\"upload_button.label\":\"メディアを追加\",\"upload_form.description\":\"視覚障害者のための説明\",\"upload_form.undo\":\"やり直す\",\"upload_progress.label\":\"アップロード中...\",\"video.close\":\"動画を閉じる\",\"video.exit_fullscreen\":\"全画面を終了する\",\"video.expand\":\"動画を拡大する\",\"video.fullscreen\":\"全画面\",\"video.hide\":\"動画を閉じる\",\"video.mute\":\"ミュート\",\"video.pause\":\"一時停止\",\"video.play\":\"再生\",\"video.unmute\":\"ミュートを解除する\"}" + }, + { + "id": 707, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/ja.js", + "name": "./node_modules/react-intl/locale-data/ja.js", + "index": 866, + "index2": 865, + "size": 1247, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 46 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ja.js", + "issuerId": 705, + "issuerName": "./tmp/packs/locale_ja.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 705, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ja.js", + "module": "./tmp/packs/locale_ja.js", + "moduleName": "./tmp/packs/locale_ja.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/ja.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.ja = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"ja\", pluralRuleFunction: function (e, t) {\n return \"other\";\n }, fields: { year: { displayName: \"年\", relative: { 0: \"今年\", 1: \"翌年\", \"-1\": \"昨年\" }, relativeTime: { future: { other: \"{0} 年後\" }, past: { other: \"{0} 年前\" } } }, month: { displayName: \"月\", relative: { 0: \"今月\", 1: \"翌月\", \"-1\": \"先月\" }, relativeTime: { future: { other: \"{0} か月後\" }, past: { other: \"{0} か月前\" } } }, day: { displayName: \"日\", relative: { 0: \"今日\", 1: \"明日\", 2: \"明後日\", \"-2\": \"一昨日\", \"-1\": \"昨日\" }, relativeTime: { future: { other: \"{0} 日後\" }, past: { other: \"{0} 日前\" } } }, hour: { displayName: \"時\", relative: { 0: \"1 時間以内\" }, relativeTime: { future: { other: \"{0} 時間後\" }, past: { other: \"{0} 時間前\" } } }, minute: { displayName: \"分\", relative: { 0: \"1 分以内\" }, relativeTime: { future: { other: \"{0} 分後\" }, past: { other: \"{0} 分前\" } } }, second: { displayName: \"秒\", relative: { 0: \"今\" }, relativeTime: { future: { other: \"{0} 秒後\" }, past: { other: \"{0} 秒前\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 705, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ja.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ja.js", + "moduleName": "./tmp/packs/locale_ja.js", + "loc": "", + "name": "locale_ja", + "reasons": [] + } + ] + }, + { + "id": 47, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 13374, + "names": [ + "locale_it" + ], + "files": [ + "locale_it-e0da50e91bbf1d0ca7cd.js", + "locale_it-e0da50e91bbf1d0ca7cd.js.map" + ], + "hash": "e0da50e91bbf1d0ca7cd", + "parents": [ + 65 + ], + "modules": [ + { + "id": 702, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_it.js", + "name": "./tmp/packs/locale_it.js", + "index": 861, + "index2": 863, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 47 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_it.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/it.json';\nimport localeData from \"react-intl/locale-data/it.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 703, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/it.json", + "name": "./app/javascript/mastodon/locales/it.json", + "index": 862, + "index2": 861, + "size": 11108, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 47 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_it.js", + "issuerId": 702, + "issuerName": "./tmp/packs/locale_it.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 702, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_it.js", + "module": "./tmp/packs/locale_it.js", + "moduleName": "./tmp/packs/locale_it.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/it.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Blocca @{name}\",\"account.block_domain\":\"Hide everything from {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Modifica profilo\",\"account.follow\":\"Segui\",\"account.followers\":\"Seguaci\",\"account.follows\":\"Segue\",\"account.follows_you\":\"Ti segue\",\"account.media\":\"Media\",\"account.mention\":\"Menziona @{name}\",\"account.mute\":\"Silenzia @{name}\",\"account.posts\":\"Posts\",\"account.report\":\"Segnala @{name}\",\"account.requested\":\"In attesa di approvazione\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Sblocca @{name}\",\"account.unblock_domain\":\"Unhide {domain}\",\"account.unfollow\":\"Non seguire\",\"account.unmute\":\"Non silenziare @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"Puoi premere {combo} per saltare questo passaggio la prossima volta\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Utenti bloccati\",\"column.community\":\"Timeline locale\",\"column.favourites\":\"Apprezzati\",\"column.follow_requests\":\"Richieste di amicizia\",\"column.home\":\"Home\",\"column.mutes\":\"Utenti silenziati\",\"column.notifications\":\"Notifiche\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Timeline federata\",\"column_back_button.label\":\"Indietro\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Settings\",\"compose_form.lock_disclaimer\":\"Your account is not {locked}. Anyone can follow you to view your follower-only posts.\",\"compose_form.lock_disclaimer.lock\":\"locked\",\"compose_form.placeholder\":\"A cosa stai pensando?\",\"compose_form.publish\":\"Toot\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Segnala file come sensibile\",\"compose_form.spoiler\":\"Nascondi testo con avvertimento\",\"compose_form.spoiler_placeholder\":\"Content warning\",\"confirmation_modal.cancel\":\"Cancel\",\"confirmations.block.confirm\":\"Block\",\"confirmations.block.message\":\"Are you sure you want to block {name}?\",\"confirmations.delete.confirm\":\"Delete\",\"confirmations.delete.message\":\"Are you sure you want to delete this status?\",\"confirmations.domain_block.confirm\":\"Hide entire domain\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Mute\",\"confirmations.mute.message\":\"Are you sure you want to mute {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Activity\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Flags\",\"emoji_button.food\":\"Food & Drink\",\"emoji_button.label\":\"Inserisci emoji\",\"emoji_button.nature\":\"Nature\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objects\",\"emoji_button.people\":\"People\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Search...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Symbols\",\"emoji_button.travel\":\"Travel & Places\",\"empty_column.community\":\"La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!\",\"empty_column.hashtag\":\"Non c'è ancora nessun post con questo hashtag.\",\"empty_column.home\":\"Non stai ancora seguendo nessuno. Visita {public} o usa la ricerca per incontrare nuove persone.\",\"empty_column.home.public_timeline\":\"la timeline pubblica\",\"empty_column.notifications\":\"Non hai ancora nessuna notifica. Interagisci con altri per iniziare conversazioni.\",\"empty_column.public\":\"Qui non c'è nulla! Scrivi qualcosa pubblicamente, o aggiungi utenti da altri server per riempire questo spazio.\",\"follow_request.authorize\":\"Autorizza\",\"follow_request.reject\":\"Rifiuta\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Come iniziare\",\"getting_started.open_source_notice\":\"Mastodon è un software open source. Puoi contribuire o segnalare errori su GitHub all'indirizzo {github}.\",\"getting_started.userguide\":\"User Guide\",\"home.column_settings.advanced\":\"Avanzato\",\"home.column_settings.basic\":\"Semplice\",\"home.column_settings.filter_regex\":\"Filtra con espressioni regolari\",\"home.column_settings.show_reblogs\":\"Mostra post condivisi\",\"home.column_settings.show_replies\":\"Mostra risposte\",\"home.settings\":\"Impostazioni colonna\",\"lightbox.close\":\"Chiudi\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Carico...\",\"media_gallery.toggle_visible\":\"Imposta visibilità\",\"missing_indicator.label\":\"Non trovato\",\"navigation_bar.blocks\":\"Utenti bloccati\",\"navigation_bar.community_timeline\":\"Timeline locale\",\"navigation_bar.edit_profile\":\"Modifica profilo\",\"navigation_bar.favourites\":\"Apprezzati\",\"navigation_bar.follow_requests\":\"Richieste di amicizia\",\"navigation_bar.info\":\"Informazioni estese\",\"navigation_bar.logout\":\"Logout\",\"navigation_bar.mutes\":\"Utenti silenziati\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Impostazioni\",\"navigation_bar.public_timeline\":\"Timeline federata\",\"notification.favourite\":\"{name} ha apprezzato il tuo post\",\"notification.follow\":\"{name} ha iniziato a seguirti\",\"notification.mention\":\"{name} ti ha menzionato\",\"notification.reblog\":\"{name} ha condiviso il tuo post\",\"notifications.clear\":\"Cancella notifiche\",\"notifications.clear_confirmation\":\"Vuoi davvero cancellare tutte le notifiche?\",\"notifications.column_settings.alert\":\"Notifiche desktop\",\"notifications.column_settings.favourite\":\"Apprezzati:\",\"notifications.column_settings.follow\":\"Nuovi seguaci:\",\"notifications.column_settings.mention\":\"Menzioni:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Post condivisi:\",\"notifications.column_settings.show\":\"Mostra in colonna\",\"notifications.column_settings.sound\":\"Riproduci suono\",\"onboarding.done\":\"Done\",\"onboarding.next\":\"Next\",\"onboarding.page_five.public_timelines\":\"The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.\",\"onboarding.page_four.home\":\"The home timeline shows posts from people you follow.\",\"onboarding.page_four.notifications\":\"The notifications column shows when someone interacts with you.\",\"onboarding.page_one.federation\":\"Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.\",\"onboarding.page_one.handle\":\"You are on {domain}, so your full handle is {handle}\",\"onboarding.page_one.welcome\":\"Welcome to Mastodon!\",\"onboarding.page_six.admin\":\"Your instance's admin is {admin}.\",\"onboarding.page_six.almost_done\":\"Almost done...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"There are {apps} available for iOS, Android and other platforms.\",\"onboarding.page_six.github\":\"Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.\",\"onboarding.page_six.guidelines\":\"community guidelines\",\"onboarding.page_six.read_guidelines\":\"Please read {domain}'s {guidelines}!\",\"onboarding.page_six.various_app\":\"mobile apps\",\"onboarding.page_three.profile\":\"Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.\",\"onboarding.page_three.search\":\"Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.\",\"onboarding.page_two.compose\":\"Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.\",\"onboarding.skip\":\"Skip\",\"privacy.change\":\"Modifica privacy post\",\"privacy.direct.long\":\"Invia solo a utenti menzionati\",\"privacy.direct.short\":\"Diretto\",\"privacy.private.long\":\"Invia solo ai seguaci\",\"privacy.private.short\":\"Privato\",\"privacy.public.long\":\"Invia alla timeline pubblica\",\"privacy.public.short\":\"Pubblico\",\"privacy.unlisted.long\":\"Non mostrare sulla timeline pubblica\",\"privacy.unlisted.short\":\"Non elencato\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Annulla\",\"report.placeholder\":\"Commenti aggiuntivi\",\"report.submit\":\"Invia\",\"report.target\":\"Invio la segnalazione\",\"search.placeholder\":\"Cerca\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count} {count, plural, one {risultato} other {risultati}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"This post cannot be boosted\",\"status.delete\":\"Elimina\",\"status.embed\":\"Embed\",\"status.favourite\":\"Apprezzato\",\"status.load_more\":\"Mostra di più\",\"status.media_hidden\":\"Allegato nascosto\",\"status.mention\":\"Nomina @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Mute conversation\",\"status.open\":\"Espandi questo post\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Condividi\",\"status.reblogged_by\":\"{name} ha condiviso\",\"status.reply\":\"Rispondi\",\"status.replyAll\":\"Reply to thread\",\"status.report\":\"Segnala @{name}\",\"status.sensitive_toggle\":\"Clicca per vedere\",\"status.sensitive_warning\":\"Materiale sensibile\",\"status.share\":\"Share\",\"status.show_less\":\"Mostra meno\",\"status.show_more\":\"Mostra di più\",\"status.unmute_conversation\":\"Unmute conversation\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Scrivi\",\"tabs_bar.federated_timeline\":\"Federazione\",\"tabs_bar.home\":\"Home\",\"tabs_bar.local_timeline\":\"Locale\",\"tabs_bar.notifications\":\"Notifiche\",\"upload_area.title\":\"Trascina per caricare\",\"upload_button.label\":\"Aggiungi file multimediale\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Annulla\",\"upload_progress.label\":\"Sto caricando...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 704, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/it.js", + "name": "./node_modules/react-intl/locale-data/it.js", + "index": 863, + "index2": 862, + "size": 1941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 47 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_it.js", + "issuerId": 702, + "issuerName": "./tmp/packs/locale_it.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 702, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_it.js", + "module": "./tmp/packs/locale_it.js", + "moduleName": "./tmp/packs/locale_it.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/it.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, o) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = o() : \"function\" == typeof define && define.amd ? define(o) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.it = o());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"it\", pluralRuleFunction: function (e, o) {\n var t = !String(e).split(\".\")[1];return o ? 11 == e || 8 == e || 80 == e || 800 == e ? \"many\" : \"other\" : 1 == e && t ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"anno\", relative: { 0: \"quest’anno\", 1: \"anno prossimo\", \"-1\": \"anno scorso\" }, relativeTime: { future: { one: \"tra {0} anno\", other: \"tra {0} anni\" }, past: { one: \"{0} anno fa\", other: \"{0} anni fa\" } } }, month: { displayName: \"mese\", relative: { 0: \"questo mese\", 1: \"mese prossimo\", \"-1\": \"mese scorso\" }, relativeTime: { future: { one: \"tra {0} mese\", other: \"tra {0} mesi\" }, past: { one: \"{0} mese fa\", other: \"{0} mesi fa\" } } }, day: { displayName: \"giorno\", relative: { 0: \"oggi\", 1: \"domani\", 2: \"dopodomani\", \"-2\": \"l’altro ieri\", \"-1\": \"ieri\" }, relativeTime: { future: { one: \"tra {0} giorno\", other: \"tra {0} giorni\" }, past: { one: \"{0} giorno fa\", other: \"{0} giorni fa\" } } }, hour: { displayName: \"ora\", relative: { 0: \"quest’ora\" }, relativeTime: { future: { one: \"tra {0} ora\", other: \"tra {0} ore\" }, past: { one: \"{0} ora fa\", other: \"{0} ore fa\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"questo minuto\" }, relativeTime: { future: { one: \"tra {0} minuto\", other: \"tra {0} minuti\" }, past: { one: \"{0} minuto fa\", other: \"{0} minuti fa\" } } }, second: { displayName: \"secondo\", relative: { 0: \"ora\" }, relativeTime: { future: { one: \"tra {0} secondo\", other: \"tra {0} secondi\" }, past: { one: \"{0} secondo fa\", other: \"{0} secondi fa\" } } } } }, { locale: \"it-CH\", parentLocale: \"it\" }, { locale: \"it-SM\", parentLocale: \"it\" }, { locale: \"it-VA\", parentLocale: \"it\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 702, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_it.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_it.js", + "moduleName": "./tmp/packs/locale_it.js", + "loc": "", + "name": "locale_it", + "reasons": [] + } + ] + }, + { + "id": 48, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 19903, + "names": [ + "locale_io" + ], + "files": [ + "locale_io-aa797a5ae99e86edda1b.js", + "locale_io-aa797a5ae99e86edda1b.js.map" + ], + "hash": "aa797a5ae99e86edda1b", + "parents": [ + 65 + ], + "modules": [ + { + "id": 148, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/en.js", + "name": "./node_modules/react-intl/locale-data/en.js", + "index": 831, + "index2": 830, + "size": 8615, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 48, + 58 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_en.js", + "issuerId": 671, + "issuerName": "./tmp/packs/locale_en.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 671, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_en.js", + "module": "./tmp/packs/locale_en.js", + "moduleName": "./tmp/packs/locale_en.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/en.js", + "loc": "6:0-54" + }, + { + "moduleId": 700, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_io.js", + "module": "./tmp/packs/locale_io.js", + "moduleName": "./tmp/packs/locale_io.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/en.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a() : \"function\" == typeof define && define.amd ? define(a) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.en = a());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"en\", pluralRuleFunction: function (e, a) {\n var n = String(e).split(\".\"),\n l = !n[1],\n o = Number(n[0]) == e,\n t = o && n[0].slice(-1),\n r = o && n[0].slice(-2);return a ? 1 == t && 11 != r ? \"one\" : 2 == t && 12 != r ? \"two\" : 3 == t && 13 != r ? \"few\" : \"other\" : 1 == e && l ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"year\", relative: { 0: \"this year\", 1: \"next year\", \"-1\": \"last year\" }, relativeTime: { future: { one: \"in {0} year\", other: \"in {0} years\" }, past: { one: \"{0} year ago\", other: \"{0} years ago\" } } }, month: { displayName: \"month\", relative: { 0: \"this month\", 1: \"next month\", \"-1\": \"last month\" }, relativeTime: { future: { one: \"in {0} month\", other: \"in {0} months\" }, past: { one: \"{0} month ago\", other: \"{0} months ago\" } } }, day: { displayName: \"day\", relative: { 0: \"today\", 1: \"tomorrow\", \"-1\": \"yesterday\" }, relativeTime: { future: { one: \"in {0} day\", other: \"in {0} days\" }, past: { one: \"{0} day ago\", other: \"{0} days ago\" } } }, hour: { displayName: \"hour\", relative: { 0: \"this hour\" }, relativeTime: { future: { one: \"in {0} hour\", other: \"in {0} hours\" }, past: { one: \"{0} hour ago\", other: \"{0} hours ago\" } } }, minute: { displayName: \"minute\", relative: { 0: \"this minute\" }, relativeTime: { future: { one: \"in {0} minute\", other: \"in {0} minutes\" }, past: { one: \"{0} minute ago\", other: \"{0} minutes ago\" } } }, second: { displayName: \"second\", relative: { 0: \"now\" }, relativeTime: { future: { one: \"in {0} second\", other: \"in {0} seconds\" }, past: { one: \"{0} second ago\", other: \"{0} seconds ago\" } } } } }, { locale: \"en-001\", parentLocale: \"en\" }, { locale: \"en-150\", parentLocale: \"en-001\" }, { locale: \"en-AG\", parentLocale: \"en-001\" }, { locale: \"en-AI\", parentLocale: \"en-001\" }, { locale: \"en-AS\", parentLocale: \"en\" }, { locale: \"en-AT\", parentLocale: \"en-150\" }, { locale: \"en-AU\", parentLocale: \"en-001\" }, { locale: \"en-BB\", parentLocale: \"en-001\" }, { locale: \"en-BE\", parentLocale: \"en-001\" }, { locale: \"en-BI\", parentLocale: \"en\" }, { locale: \"en-BM\", parentLocale: \"en-001\" }, { locale: \"en-BS\", parentLocale: \"en-001\" }, { locale: \"en-BW\", parentLocale: \"en-001\" }, { locale: \"en-BZ\", parentLocale: \"en-001\" }, { locale: \"en-CA\", parentLocale: \"en-001\" }, { locale: \"en-CC\", parentLocale: \"en-001\" }, { locale: \"en-CH\", parentLocale: \"en-150\" }, { locale: \"en-CK\", parentLocale: \"en-001\" }, { locale: \"en-CM\", parentLocale: \"en-001\" }, { locale: \"en-CX\", parentLocale: \"en-001\" }, { locale: \"en-CY\", parentLocale: \"en-001\" }, { locale: \"en-DE\", parentLocale: \"en-150\" }, { locale: \"en-DG\", parentLocale: \"en-001\" }, { locale: \"en-DK\", parentLocale: \"en-150\" }, { locale: \"en-DM\", parentLocale: \"en-001\" }, { locale: \"en-Dsrt\", pluralRuleFunction: function (e, a) {\n return \"other\";\n }, fields: { year: { displayName: \"Year\", relative: { 0: \"this year\", 1: \"next year\", \"-1\": \"last year\" }, relativeTime: { future: { other: \"+{0} y\" }, past: { other: \"-{0} y\" } } }, month: { displayName: \"Month\", relative: { 0: \"this month\", 1: \"next month\", \"-1\": \"last month\" }, relativeTime: { future: { other: \"+{0} m\" }, past: { other: \"-{0} m\" } } }, day: { displayName: \"Day\", relative: { 0: \"today\", 1: \"tomorrow\", \"-1\": \"yesterday\" }, relativeTime: { future: { other: \"+{0} d\" }, past: { other: \"-{0} d\" } } }, hour: { displayName: \"Hour\", relative: { 0: \"this hour\" }, relativeTime: { future: { other: \"+{0} h\" }, past: { other: \"-{0} h\" } } }, minute: { displayName: \"Minute\", relative: { 0: \"this minute\" }, relativeTime: { future: { other: \"+{0} min\" }, past: { other: \"-{0} min\" } } }, second: { displayName: \"Second\", relative: { 0: \"now\" }, relativeTime: { future: { other: \"+{0} s\" }, past: { other: \"-{0} s\" } } } } }, { locale: \"en-ER\", parentLocale: \"en-001\" }, { locale: \"en-FI\", parentLocale: \"en-150\" }, { locale: \"en-FJ\", parentLocale: \"en-001\" }, { locale: \"en-FK\", parentLocale: \"en-001\" }, { locale: \"en-FM\", parentLocale: \"en-001\" }, { locale: \"en-GB\", parentLocale: \"en-001\" }, { locale: \"en-GD\", parentLocale: \"en-001\" }, { locale: \"en-GG\", parentLocale: \"en-001\" }, { locale: \"en-GH\", parentLocale: \"en-001\" }, { locale: \"en-GI\", parentLocale: \"en-001\" }, { locale: \"en-GM\", parentLocale: \"en-001\" }, { locale: \"en-GU\", parentLocale: \"en\" }, { locale: \"en-GY\", parentLocale: \"en-001\" }, { locale: \"en-HK\", parentLocale: \"en-001\" }, { locale: \"en-IE\", parentLocale: \"en-001\" }, { locale: \"en-IL\", parentLocale: \"en-001\" }, { locale: \"en-IM\", parentLocale: \"en-001\" }, { locale: \"en-IN\", parentLocale: \"en-001\" }, { locale: \"en-IO\", parentLocale: \"en-001\" }, { locale: \"en-JE\", parentLocale: \"en-001\" }, { locale: \"en-JM\", parentLocale: \"en-001\" }, { locale: \"en-KE\", parentLocale: \"en-001\" }, { locale: \"en-KI\", parentLocale: \"en-001\" }, { locale: \"en-KN\", parentLocale: \"en-001\" }, { locale: \"en-KY\", parentLocale: \"en-001\" }, { locale: \"en-LC\", parentLocale: \"en-001\" }, { locale: \"en-LR\", parentLocale: \"en-001\" }, { locale: \"en-LS\", parentLocale: \"en-001\" }, { locale: \"en-MG\", parentLocale: \"en-001\" }, { locale: \"en-MH\", parentLocale: \"en\" }, { locale: \"en-MO\", parentLocale: \"en-001\" }, { locale: \"en-MP\", parentLocale: \"en\" }, { locale: \"en-MS\", parentLocale: \"en-001\" }, { locale: \"en-MT\", parentLocale: \"en-001\" }, { locale: \"en-MU\", parentLocale: \"en-001\" }, { locale: \"en-MW\", parentLocale: \"en-001\" }, { locale: \"en-MY\", parentLocale: \"en-001\" }, { locale: \"en-NA\", parentLocale: \"en-001\" }, { locale: \"en-NF\", parentLocale: \"en-001\" }, { locale: \"en-NG\", parentLocale: \"en-001\" }, { locale: \"en-NL\", parentLocale: \"en-150\" }, { locale: \"en-NR\", parentLocale: \"en-001\" }, { locale: \"en-NU\", parentLocale: \"en-001\" }, { locale: \"en-NZ\", parentLocale: \"en-001\" }, { locale: \"en-PG\", parentLocale: \"en-001\" }, { locale: \"en-PH\", parentLocale: \"en-001\" }, { locale: \"en-PK\", parentLocale: \"en-001\" }, { locale: \"en-PN\", parentLocale: \"en-001\" }, { locale: \"en-PR\", parentLocale: \"en\" }, { locale: \"en-PW\", parentLocale: \"en-001\" }, { locale: \"en-RW\", parentLocale: \"en-001\" }, { locale: \"en-SB\", parentLocale: \"en-001\" }, { locale: \"en-SC\", parentLocale: \"en-001\" }, { locale: \"en-SD\", parentLocale: \"en-001\" }, { locale: \"en-SE\", parentLocale: \"en-150\" }, { locale: \"en-SG\", parentLocale: \"en-001\" }, { locale: \"en-SH\", parentLocale: \"en-001\" }, { locale: \"en-SI\", parentLocale: \"en-150\" }, { locale: \"en-SL\", parentLocale: \"en-001\" }, { locale: \"en-SS\", parentLocale: \"en-001\" }, { locale: \"en-SX\", parentLocale: \"en-001\" }, { locale: \"en-SZ\", parentLocale: \"en-001\" }, { locale: \"en-Shaw\", pluralRuleFunction: function (e, a) {\n return \"other\";\n }, fields: { year: { displayName: \"Year\", relative: { 0: \"this year\", 1: \"next year\", \"-1\": \"last year\" }, relativeTime: { future: { other: \"+{0} y\" }, past: { other: \"-{0} y\" } } }, month: { displayName: \"Month\", relative: { 0: \"this month\", 1: \"next month\", \"-1\": \"last month\" }, relativeTime: { future: { other: \"+{0} m\" }, past: { other: \"-{0} m\" } } }, day: { displayName: \"Day\", relative: { 0: \"today\", 1: \"tomorrow\", \"-1\": \"yesterday\" }, relativeTime: { future: { other: \"+{0} d\" }, past: { other: \"-{0} d\" } } }, hour: { displayName: \"Hour\", relative: { 0: \"this hour\" }, relativeTime: { future: { other: \"+{0} h\" }, past: { other: \"-{0} h\" } } }, minute: { displayName: \"Minute\", relative: { 0: \"this minute\" }, relativeTime: { future: { other: \"+{0} min\" }, past: { other: \"-{0} min\" } } }, second: { displayName: \"Second\", relative: { 0: \"now\" }, relativeTime: { future: { other: \"+{0} s\" }, past: { other: \"-{0} s\" } } } } }, { locale: \"en-TC\", parentLocale: \"en-001\" }, { locale: \"en-TK\", parentLocale: \"en-001\" }, { locale: \"en-TO\", parentLocale: \"en-001\" }, { locale: \"en-TT\", parentLocale: \"en-001\" }, { locale: \"en-TV\", parentLocale: \"en-001\" }, { locale: \"en-TZ\", parentLocale: \"en-001\" }, { locale: \"en-UG\", parentLocale: \"en-001\" }, { locale: \"en-UM\", parentLocale: \"en\" }, { locale: \"en-US\", parentLocale: \"en\" }, { locale: \"en-VC\", parentLocale: \"en-001\" }, { locale: \"en-VG\", parentLocale: \"en-001\" }, { locale: \"en-VI\", parentLocale: \"en\" }, { locale: \"en-VU\", parentLocale: \"en-001\" }, { locale: \"en-WS\", parentLocale: \"en-001\" }, { locale: \"en-ZA\", parentLocale: \"en-001\" }, { locale: \"en-ZM\", parentLocale: \"en-001\" }, { locale: \"en-ZW\", parentLocale: \"en-001\" }];\n});" + }, + { + "id": 700, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_io.js", + "name": "./tmp/packs/locale_io.js", + "index": 859, + "index2": 860, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 48 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_io.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/io.json';\nimport localeData from \"react-intl/locale-data/en.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 701, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/io.json", + "name": "./app/javascript/mastodon/locales/io.json", + "index": 860, + "index2": 859, + "size": 10963, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 48 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_io.js", + "issuerId": 700, + "issuerName": "./tmp/packs/locale_io.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 700, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_io.js", + "module": "./tmp/packs/locale_io.js", + "moduleName": "./tmp/packs/locale_io.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/io.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Blokusar @{name}\",\"account.block_domain\":\"Hide everything from {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Modifikar profilo\",\"account.follow\":\"Sequar\",\"account.followers\":\"Sequanti\",\"account.follows\":\"Sequas\",\"account.follows_you\":\"Sequas tu\",\"account.media\":\"Media\",\"account.mention\":\"Mencionar @{name}\",\"account.mute\":\"Celar @{name}\",\"account.posts\":\"Mesaji\",\"account.report\":\"Denuncar @{name}\",\"account.requested\":\"Vartante aprobo\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Desblokusar @{name}\",\"account.unblock_domain\":\"Unhide {domain}\",\"account.unfollow\":\"Ne plus sequar\",\"account.unmute\":\"Ne plus celar @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"Tu povas presar sur {combo} por omisar co en la venonta foyo\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Blokusita uzeri\",\"column.community\":\"Lokala tempolineo\",\"column.favourites\":\"Favorati\",\"column.follow_requests\":\"Demandi di sequado\",\"column.home\":\"Hemo\",\"column.mutes\":\"Celita uzeri\",\"column.notifications\":\"Savigi\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Federata tempolineo\",\"column_back_button.label\":\"Retro\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Settings\",\"compose_form.lock_disclaimer\":\"Your account is not {locked}. Anyone can follow you to view your follower-only posts.\",\"compose_form.lock_disclaimer.lock\":\"locked\",\"compose_form.placeholder\":\"Quo esas en tua spirito?\",\"compose_form.publish\":\"Siflar\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Markizar kontenajo kom trubliva\",\"compose_form.spoiler\":\"Celar texto dop averto\",\"compose_form.spoiler_placeholder\":\"Averto di kontenajo\",\"confirmation_modal.cancel\":\"Cancel\",\"confirmations.block.confirm\":\"Block\",\"confirmations.block.message\":\"Are you sure you want to block {name}?\",\"confirmations.delete.confirm\":\"Delete\",\"confirmations.delete.message\":\"Are you sure you want to delete this status?\",\"confirmations.domain_block.confirm\":\"Hide entire domain\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Mute\",\"confirmations.mute.message\":\"Are you sure you want to mute {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Activity\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Flags\",\"emoji_button.food\":\"Food & Drink\",\"emoji_button.label\":\"Insertar emoji\",\"emoji_button.nature\":\"Nature\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objects\",\"emoji_button.people\":\"People\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Search...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Symbols\",\"emoji_button.travel\":\"Travel & Places\",\"empty_column.community\":\"La lokala tempolineo esas vakua. Skribez ulo publike por iniciar la agiveso!\",\"empty_column.hashtag\":\"Esas ankore nulo en ta gretovorto.\",\"empty_column.home\":\"Tu sequas ankore nulu. Vizitez {public} od uzez la serchilo por komencar e renkontrar altra uzeri.\",\"empty_column.home.public_timeline\":\"la publika tempolineo\",\"empty_column.notifications\":\"Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.\",\"empty_column.public\":\"Esas nulo hike! Skribez ulo publike, o manuale sequez uzeri de altra instaluri por plenigar ol.\",\"follow_request.authorize\":\"Yurizar\",\"follow_request.reject\":\"Refuzar\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Debuto\",\"getting_started.open_source_notice\":\"Mastodon esas programaro kun apertita kodexo. Tu povas kontributar o signalar problemi en GitHub ye {github}.\",\"getting_started.userguide\":\"User Guide\",\"home.column_settings.advanced\":\"Komplexa\",\"home.column_settings.basic\":\"Simpla\",\"home.column_settings.filter_regex\":\"Ekfiltrar per reguloza expresuri\",\"home.column_settings.show_reblogs\":\"Montrar repeti\",\"home.column_settings.show_replies\":\"Montrar respondi\",\"home.settings\":\"Aranji di la kolumno\",\"lightbox.close\":\"Klozar\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Kargante...\",\"media_gallery.toggle_visible\":\"Chanjar videbleso\",\"missing_indicator.label\":\"Ne trovita\",\"navigation_bar.blocks\":\"Blokusita uzeri\",\"navigation_bar.community_timeline\":\"Lokala tempolineo\",\"navigation_bar.edit_profile\":\"Modifikar profilo\",\"navigation_bar.favourites\":\"Favorati\",\"navigation_bar.follow_requests\":\"Demandi di sequado\",\"navigation_bar.info\":\"Detaloza informi\",\"navigation_bar.logout\":\"Ekirar\",\"navigation_bar.mutes\":\"Celita uzeri\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Preferi\",\"navigation_bar.public_timeline\":\"Federata tempolineo\",\"notification.favourite\":\"{name} favorizis tua mesajo\",\"notification.follow\":\"{name} sequeskis tu\",\"notification.mention\":\"{name} mencionis tu\",\"notification.reblog\":\"{name} repetis tua mesajo\",\"notifications.clear\":\"Efacar savigi\",\"notifications.clear_confirmation\":\"Ka tu esas certa, ke tu volas efacar omna tua savigi?\",\"notifications.column_settings.alert\":\"Surtabla savigi\",\"notifications.column_settings.favourite\":\"Favorati:\",\"notifications.column_settings.follow\":\"Nova sequanti:\",\"notifications.column_settings.mention\":\"Mencioni:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Repeti:\",\"notifications.column_settings.show\":\"Montrar en kolumno\",\"notifications.column_settings.sound\":\"Plear sono\",\"onboarding.done\":\"Done\",\"onboarding.next\":\"Next\",\"onboarding.page_five.public_timelines\":\"The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.\",\"onboarding.page_four.home\":\"The home timeline shows posts from people you follow.\",\"onboarding.page_four.notifications\":\"The notifications column shows when someone interacts with you.\",\"onboarding.page_one.federation\":\"Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.\",\"onboarding.page_one.handle\":\"You are on {domain}, so your full handle is {handle}\",\"onboarding.page_one.welcome\":\"Welcome to Mastodon!\",\"onboarding.page_six.admin\":\"Your instance's admin is {admin}.\",\"onboarding.page_six.almost_done\":\"Almost done...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"There are {apps} available for iOS, Android and other platforms.\",\"onboarding.page_six.github\":\"Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.\",\"onboarding.page_six.guidelines\":\"community guidelines\",\"onboarding.page_six.read_guidelines\":\"Please read {domain}'s {guidelines}!\",\"onboarding.page_six.various_app\":\"mobile apps\",\"onboarding.page_three.profile\":\"Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.\",\"onboarding.page_three.search\":\"Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.\",\"onboarding.page_two.compose\":\"Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.\",\"onboarding.skip\":\"Skip\",\"privacy.change\":\"Aranjar privateso di mesaji\",\"privacy.direct.long\":\"Sendar nur a mencionata uzeri\",\"privacy.direct.short\":\"Direte\",\"privacy.private.long\":\"Sendar nur a sequanti\",\"privacy.private.short\":\"Private\",\"privacy.public.long\":\"Sendar a publika tempolinei\",\"privacy.public.short\":\"Publike\",\"privacy.unlisted.long\":\"Ne montrar en publika tempolinei\",\"privacy.unlisted.short\":\"Ne enlistigota\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Nihiligar\",\"report.placeholder\":\"Plusa komenti\",\"report.submit\":\"Sendar\",\"report.target\":\"Denuncante\",\"search.placeholder\":\"Serchez\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {rezulto} other {rezulti}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"This post cannot be boosted\",\"status.delete\":\"Efacar\",\"status.embed\":\"Embed\",\"status.favourite\":\"Favorizar\",\"status.load_more\":\"Kargar pluse\",\"status.media_hidden\":\"Kontenajo celita\",\"status.mention\":\"Mencionar @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Mute conversation\",\"status.open\":\"Detaligar ca mesajo\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Repetar\",\"status.reblogged_by\":\"{name} repetita\",\"status.reply\":\"Respondar\",\"status.replyAll\":\"Respondar a filo\",\"status.report\":\"Denuncar @{name}\",\"status.sensitive_toggle\":\"Kliktar por vidar\",\"status.sensitive_warning\":\"Trubliva kontenajo\",\"status.share\":\"Share\",\"status.show_less\":\"Montrar mine\",\"status.show_more\":\"Montrar plue\",\"status.unmute_conversation\":\"Unmute conversation\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Kompozar\",\"tabs_bar.federated_timeline\":\"Federata\",\"tabs_bar.home\":\"Hemo\",\"tabs_bar.local_timeline\":\"Lokala\",\"tabs_bar.notifications\":\"Savigi\",\"upload_area.title\":\"Tranar faligar por kargar\",\"upload_button.label\":\"Adjuntar kontenajo\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Desfacar\",\"upload_progress.label\":\"Kargante...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 700, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_io.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_io.js", + "moduleName": "./tmp/packs/locale_io.js", + "loc": "", + "name": "locale_io", + "reasons": [] + } + ] + }, + { + "id": 49, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 13134, + "names": [ + "locale_id" + ], + "files": [ + "locale_id-fab008a8becc89597587.js", + "locale_id-fab008a8becc89597587.js.map" + ], + "hash": "fab008a8becc89597587", + "parents": [ + 65 + ], + "modules": [ + { + "id": 697, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_id.js", + "name": "./tmp/packs/locale_id.js", + "index": 856, + "index2": 858, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 49 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_id.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/id.json';\nimport localeData from \"react-intl/locale-data/id.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 698, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/id.json", + "name": "./app/javascript/mastodon/locales/id.json", + "index": 857, + "index2": 856, + "size": 11330, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 49 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_id.js", + "issuerId": 697, + "issuerName": "./tmp/packs/locale_id.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 697, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_id.js", + "module": "./tmp/packs/locale_id.js", + "moduleName": "./tmp/packs/locale_id.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/id.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Blokir @{name}\",\"account.block_domain\":\"Hide everything from {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Ubah profil\",\"account.follow\":\"Ikuti\",\"account.followers\":\"Pengikut\",\"account.follows\":\"Mengikuti\",\"account.follows_you\":\"Mengikuti anda\",\"account.media\":\"Media\",\"account.mention\":\"Balasan @{name}\",\"account.mute\":\"Bisukan @{name}\",\"account.posts\":\"Postingan\",\"account.report\":\"Laporkan @{name}\",\"account.requested\":\"Menunggu persetujuan\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Hapus blokir @{name}\",\"account.unblock_domain\":\"Unhide {domain}\",\"account.unfollow\":\"Berhenti mengikuti\",\"account.unmute\":\"Berhenti membisukan @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"Anda dapat menekan {combo} untuk melewati ini\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Pengguna diblokir\",\"column.community\":\"Linimasa Lokal\",\"column.favourites\":\"Favorit\",\"column.follow_requests\":\"Permintaan mengikuti\",\"column.home\":\"Beranda\",\"column.mutes\":\"Pengguna dibisukan\",\"column.notifications\":\"Notifikasi\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Linimasa gabunggan\",\"column_back_button.label\":\"Kembali\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigasi\",\"column_subheading.settings\":\"Pengaturan\",\"compose_form.lock_disclaimer\":\"Akun anda tidak {locked}. Semua orang dapat mengikuti anda untuk melihat postingan khusus untuk pengikut anda.\",\"compose_form.lock_disclaimer.lock\":\"dikunci\",\"compose_form.placeholder\":\"Apa yang ada di pikiran anda?\",\"compose_form.publish\":\"Toot\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Tandai media sensitif\",\"compose_form.spoiler\":\"Sembunyikan teks dibalik peringatan\",\"compose_form.spoiler_placeholder\":\"Peringatan konten\",\"confirmation_modal.cancel\":\"Batal\",\"confirmations.block.confirm\":\"Blokir\",\"confirmations.block.message\":\"Apa anda yakin ingin memblokir {name}?\",\"confirmations.delete.confirm\":\"Hapus\",\"confirmations.delete.message\":\"Apa anda yakin akan menghapus status ini?\",\"confirmations.domain_block.confirm\":\"Hide entire domain\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Bisukan\",\"confirmations.mute.message\":\"Apa anda yakin ingin membisukan {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Aktivitas\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Bendera\",\"emoji_button.food\":\"Makanan & Minuman\",\"emoji_button.label\":\"Tambahkan emoji\",\"emoji_button.nature\":\"Alam\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Benda-benda\",\"emoji_button.people\":\"Orang\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Cari...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Simbol\",\"emoji_button.travel\":\"Tempat Wisata\",\"empty_column.community\":\"Linimasa lokal masih kosong. Tulis sesuatu secara publik dan buat roda berputar!\",\"empty_column.hashtag\":\"Tidak ada apapun dalam hashtag ini.\",\"empty_column.home\":\"Anda sedang tidak mengikuti siapapun. Kunjungi {public} atau gunakan pencarian untuk memulai dan bertemu pengguna lain.\",\"empty_column.home.public_timeline\":\"linimasa publik\",\"empty_column.notifications\":\"Anda tidak memiliki notifikasi apapun. Berinteraksi dengan orang lain untuk memulai percakapan.\",\"empty_column.public\":\"Tidak ada apapun disini! Tulis sesuatu, atau ikuti pengguna lain dari server lain untuk mengisinya secara manual\",\"follow_request.authorize\":\"Izinkan\",\"follow_request.reject\":\"Tolak\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Mulai\",\"getting_started.open_source_notice\":\"Mastodon adalah perangkat lunak yang bersifat open source. Anda dapat berkontribusi atau melaporkan permasalahan/bug di Github {github}.\",\"getting_started.userguide\":\"User Guide\",\"home.column_settings.advanced\":\"Tingkat Lanjut\",\"home.column_settings.basic\":\"Dasar\",\"home.column_settings.filter_regex\":\"Penyaringan dengan Regular Expression\",\"home.column_settings.show_reblogs\":\"Tampilkan Boost\",\"home.column_settings.show_replies\":\"Tampilkan balasan\",\"home.settings\":\"Pengaturan kolom\",\"lightbox.close\":\"Tutup\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Tunggu sebentar...\",\"media_gallery.toggle_visible\":\"Tampil/Sembunyikan\",\"missing_indicator.label\":\"Tidak ditemukan\",\"navigation_bar.blocks\":\"Pengguna diblokir\",\"navigation_bar.community_timeline\":\"Linimasa lokal\",\"navigation_bar.edit_profile\":\"Ubah profil\",\"navigation_bar.favourites\":\"Favorit\",\"navigation_bar.follow_requests\":\"Permintaan mengikuti\",\"navigation_bar.info\":\"Informasi selengkapnya\",\"navigation_bar.logout\":\"Keluar\",\"navigation_bar.mutes\":\"Pengguna dibisukan\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Pengaturan\",\"navigation_bar.public_timeline\":\"Linimasa gabungan\",\"notification.favourite\":\"{name} menyukai status anda\",\"notification.follow\":\"{name} mengikuti anda\",\"notification.mention\":\"{name} mentioned you\",\"notification.reblog\":\"{name} mem-boost status anda\",\"notifications.clear\":\"Hapus notifikasi\",\"notifications.clear_confirmation\":\"Apa anda yakin hendak menghapus semua notifikasi anda?\",\"notifications.column_settings.alert\":\"Notifikasi desktop\",\"notifications.column_settings.favourite\":\"Favorit:\",\"notifications.column_settings.follow\":\"Pengikut baru:\",\"notifications.column_settings.mention\":\"Balasan:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Boost:\",\"notifications.column_settings.show\":\"Tampilkan dalam kolom\",\"notifications.column_settings.sound\":\"Mainkan suara\",\"onboarding.done\":\"Selesei\",\"onboarding.next\":\"Selanjutnya\",\"onboarding.page_five.public_timelines\":\"Linimasa lokal menampilkan semua postingan publik dari semua orang di {domain}. Linimasa gabungan menampilkan postingan publik dari semua orang yang diikuti oleh {domain}. Ini semua adalah Linimasa Publik, cara terbaik untuk bertemu orang lain.\",\"onboarding.page_four.home\":\"Linimasa beranda menampilkan postingan dari orang-orang yang anda ikuti.\",\"onboarding.page_four.notifications\":\"Kolom notifikasi menampilkan ketika seseorang berinteraksi dengan anda.\",\"onboarding.page_one.federation\":\"Mastodon adalah jaringan dari beberapa server independen yang bergabung untuk membuat jejaring sosial yang besar.\",\"onboarding.page_one.handle\":\"Ada berada dalam {domain}, jadi nama user lengkap anda adalah {handle}\",\"onboarding.page_one.welcome\":\"Selamat datang di Mastodon!\",\"onboarding.page_six.admin\":\"Admin serveer anda adalah {admin}.\",\"onboarding.page_six.almost_done\":\"Hampir selesei...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"Ada beberapa apl yang tersedia untuk iOS, Android, dan platform lainnya.\",\"onboarding.page_six.github\":\"Mastodon adalah software open-source. Anda bisa melaporkan bug, meminta fitur, atau berkontribusi dengan kode di {github}.\",\"onboarding.page_six.guidelines\":\"pedoman komunitas\",\"onboarding.page_six.read_guidelines\":\"Silakan baca {guidelines} {domain}!\",\"onboarding.page_six.various_app\":\"apl handphone\",\"onboarding.page_three.profile\":\"Ubah profil anda untuk mengganti avatar, bio, dan nama pengguna anda. Disitu, anda juga bisa mengatur opsi lainnya.\",\"onboarding.page_three.search\":\"Gunakan kolom pencarian untuk mencari orang atau melihat hashtag, seperti {illustration} dan {introductions}. Untuk mencari pengguna yang tidak berada dalam server ini, gunakan nama pengguna mereka selengkapnya.\",\"onboarding.page_two.compose\":\"Tulis postingan melalui kolom posting. Anda dapat mengunggah gambar, mengganti pengaturan privasi, dan menambahkan peringatan konten dengan ikon-ikon dibawah ini.\",\"onboarding.skip\":\"Lewati\",\"privacy.change\":\"Tentukan privasi status\",\"privacy.direct.long\":\"Kirim hanya ke pengguna yang disebut\",\"privacy.direct.short\":\"Langsung\",\"privacy.private.long\":\"Kirim hanya ke pengikut\",\"privacy.private.short\":\"Pribadi\",\"privacy.public.long\":\"Kirim ke linimasa publik\",\"privacy.public.short\":\"Publik\",\"privacy.unlisted.long\":\"Tidak ditampilkan di linimasa publik\",\"privacy.unlisted.short\":\"Tak Terdaftar\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Batal\",\"report.placeholder\":\"Komentar tambahan\",\"report.submit\":\"Kirim\",\"report.target\":\"Melaporkan\",\"search.placeholder\":\"Pencarian\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count} {count, plural, one {hasil} other {hasil}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"This post cannot be boosted\",\"status.delete\":\"Hapus\",\"status.embed\":\"Embed\",\"status.favourite\":\"Difavoritkan\",\"status.load_more\":\"Tampilkan semua\",\"status.media_hidden\":\"Media disembunyikan\",\"status.mention\":\"Balasan @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Mute conversation\",\"status.open\":\"Tampilkan status ini\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Boost\",\"status.reblogged_by\":\"di-boost {name}\",\"status.reply\":\"Balas\",\"status.replyAll\":\"Balas ke semua\",\"status.report\":\"Laporkan @{name}\",\"status.sensitive_toggle\":\"Klik untuk menampilkan\",\"status.sensitive_warning\":\"Konten sensitif\",\"status.share\":\"Share\",\"status.show_less\":\"Tampilkan lebih sedikit\",\"status.show_more\":\"Tampilkan semua\",\"status.unmute_conversation\":\"Unmute conversation\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Tulis\",\"tabs_bar.federated_timeline\":\"Gabungan\",\"tabs_bar.home\":\"Beranda\",\"tabs_bar.local_timeline\":\"Lokal\",\"tabs_bar.notifications\":\"Notifikasi\",\"upload_area.title\":\"Seret & lepaskan untuk mengunggah\",\"upload_button.label\":\"Tambahkan media\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Undo\",\"upload_progress.label\":\"Mengunggah...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 699, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/id.js", + "name": "./node_modules/react-intl/locale-data/id.js", + "index": 858, + "index2": 857, + "size": 1479, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 49 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_id.js", + "issuerId": 697, + "issuerName": "./tmp/packs/locale_id.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 697, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_id.js", + "module": "./tmp/packs/locale_id.js", + "moduleName": "./tmp/packs/locale_id.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/id.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (a, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = e() : \"function\" == typeof define && define.amd ? define(e) : (a.ReactIntlLocaleData = a.ReactIntlLocaleData || {}, a.ReactIntlLocaleData.id = e());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"id\", pluralRuleFunction: function (a, e) {\n return \"other\";\n }, fields: { year: { displayName: \"Tahun\", relative: { 0: \"tahun ini\", 1: \"tahun depan\", \"-1\": \"tahun lalu\" }, relativeTime: { future: { other: \"Dalam {0} tahun\" }, past: { other: \"{0} tahun yang lalu\" } } }, month: { displayName: \"Bulan\", relative: { 0: \"bulan ini\", 1: \"Bulan berikutnya\", \"-1\": \"bulan lalu\" }, relativeTime: { future: { other: \"Dalam {0} bulan\" }, past: { other: \"{0} bulan yang lalu\" } } }, day: { displayName: \"Hari\", relative: { 0: \"hari ini\", 1: \"besok\", 2: \"lusa\", \"-2\": \"kemarin dulu\", \"-1\": \"kemarin\" }, relativeTime: { future: { other: \"Dalam {0} hari\" }, past: { other: \"{0} hari yang lalu\" } } }, hour: { displayName: \"Jam\", relative: { 0: \"jam ini\" }, relativeTime: { future: { other: \"Dalam {0} jam\" }, past: { other: \"{0} jam yang lalu\" } } }, minute: { displayName: \"Menit\", relative: { 0: \"menit ini\" }, relativeTime: { future: { other: \"Dalam {0} menit\" }, past: { other: \"{0} menit yang lalu\" } } }, second: { displayName: \"Detik\", relative: { 0: \"sekarang\" }, relativeTime: { future: { other: \"Dalam {0} detik\" }, past: { other: \"{0} detik yang lalu\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 697, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_id.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_id.js", + "moduleName": "./tmp/packs/locale_id.js", + "loc": "", + "name": "locale_id", + "reasons": [] + } + ] + }, + { + "id": 50, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 13112, + "names": [ + "locale_hu" + ], + "files": [ + "locale_hu-2bb0c40f1c7f66e27e2d.js", + "locale_hu-2bb0c40f1c7f66e27e2d.js.map" + ], + "hash": "2bb0c40f1c7f66e27e2d", + "parents": [ + 65 + ], + "modules": [ + { + "id": 694, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hu.js", + "name": "./tmp/packs/locale_hu.js", + "index": 853, + "index2": 855, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 50 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_hu.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/hu.json';\nimport localeData from \"react-intl/locale-data/hu.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 695, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/hu.json", + "name": "./app/javascript/mastodon/locales/hu.json", + "index": 854, + "index2": 853, + "size": 10929, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 50 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hu.js", + "issuerId": 694, + "issuerName": "./tmp/packs/locale_hu.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 694, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hu.js", + "module": "./tmp/packs/locale_hu.js", + "moduleName": "./tmp/packs/locale_hu.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/hu.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Blokkolás\",\"account.block_domain\":\"Hide everything from {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Profil szerkesztése\",\"account.follow\":\"Követés\",\"account.followers\":\"Követők\",\"account.follows\":\"Követve\",\"account.follows_you\":\"Követnek téged\",\"account.media\":\"Media\",\"account.mention\":\"Említés\",\"account.mute\":\"Mute @{name}\",\"account.posts\":\"Posts\",\"account.report\":\"Report @{name}\",\"account.requested\":\"Awaiting approval\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Blokkolás levétele\",\"account.unblock_domain\":\"Unhide {domain}\",\"account.unfollow\":\"Követés abbahagyása\",\"account.unmute\":\"Unmute @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"You can press {combo} to skip this next time\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Blocked users\",\"column.community\":\"Local timeline\",\"column.favourites\":\"Favourites\",\"column.follow_requests\":\"Follow requests\",\"column.home\":\"Kezdőlap\",\"column.mutes\":\"Muted users\",\"column.notifications\":\"Értesítések\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Nyilvános\",\"column_back_button.label\":\"Vissza\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Settings\",\"compose_form.lock_disclaimer\":\"Your account is not {locked}. Anyone can follow you to view your follower-only posts.\",\"compose_form.lock_disclaimer.lock\":\"locked\",\"compose_form.placeholder\":\"Mire gondolsz?\",\"compose_form.publish\":\"Tülk!\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Tartalom érzékenynek jelölése\",\"compose_form.spoiler\":\"Hide text behind warning\",\"compose_form.spoiler_placeholder\":\"Content warning\",\"confirmation_modal.cancel\":\"Cancel\",\"confirmations.block.confirm\":\"Block\",\"confirmations.block.message\":\"Are you sure you want to block {name}?\",\"confirmations.delete.confirm\":\"Delete\",\"confirmations.delete.message\":\"Are you sure you want to delete this status?\",\"confirmations.domain_block.confirm\":\"Hide entire domain\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Mute\",\"confirmations.mute.message\":\"Are you sure you want to mute {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Activity\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Flags\",\"emoji_button.food\":\"Food & Drink\",\"emoji_button.label\":\"Insert emoji\",\"emoji_button.nature\":\"Nature\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objects\",\"emoji_button.people\":\"People\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Search...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Symbols\",\"emoji_button.travel\":\"Travel & Places\",\"empty_column.community\":\"The local timeline is empty. Write something publicly to get the ball rolling!\",\"empty_column.hashtag\":\"There is nothing in this hashtag yet.\",\"empty_column.home\":\"Your home timeline is empty! Visit {public} or use search to get started and meet other users.\",\"empty_column.home.public_timeline\":\"the public timeline\",\"empty_column.notifications\":\"You don't have any notifications yet. Interact with others to start the conversation.\",\"empty_column.public\":\"There is nothing here! Write something publicly, or manually follow users from other instances to fill it up\",\"follow_request.authorize\":\"Authorize\",\"follow_request.reject\":\"Reject\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Első lépések\",\"getting_started.open_source_notice\":\"Mastodon is open source software. You can contribute or report issues on GitHub at {github}.\",\"getting_started.userguide\":\"User Guide\",\"home.column_settings.advanced\":\"Advanced\",\"home.column_settings.basic\":\"Basic\",\"home.column_settings.filter_regex\":\"Filter out by regular expressions\",\"home.column_settings.show_reblogs\":\"Show boosts\",\"home.column_settings.show_replies\":\"Show replies\",\"home.settings\":\"Column settings\",\"lightbox.close\":\"Bezárás\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Betöltés...\",\"media_gallery.toggle_visible\":\"Toggle visibility\",\"missing_indicator.label\":\"Not found\",\"navigation_bar.blocks\":\"Blocked users\",\"navigation_bar.community_timeline\":\"Local timeline\",\"navigation_bar.edit_profile\":\"Profil szerkesztése\",\"navigation_bar.favourites\":\"Favourites\",\"navigation_bar.follow_requests\":\"Follow requests\",\"navigation_bar.info\":\"Extended information\",\"navigation_bar.logout\":\"Kijelentkezés\",\"navigation_bar.mutes\":\"Muted users\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Beállítások\",\"navigation_bar.public_timeline\":\"Nyilvános időfolyam\",\"notification.favourite\":\"{name} kedvencnek jelölte az állapotod\",\"notification.follow\":\"{name} követ téged\",\"notification.mention\":\"{name} megemlített\",\"notification.reblog\":\"{name} reblogolta az állapotod\",\"notifications.clear\":\"Clear notifications\",\"notifications.clear_confirmation\":\"Are you sure you want to permanently clear all your notifications?\",\"notifications.column_settings.alert\":\"Desktop notifications\",\"notifications.column_settings.favourite\":\"Favourites:\",\"notifications.column_settings.follow\":\"New followers:\",\"notifications.column_settings.mention\":\"Mentions:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Boosts:\",\"notifications.column_settings.show\":\"Show in column\",\"notifications.column_settings.sound\":\"Play sound\",\"onboarding.done\":\"Done\",\"onboarding.next\":\"Next\",\"onboarding.page_five.public_timelines\":\"The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.\",\"onboarding.page_four.home\":\"The home timeline shows posts from people you follow.\",\"onboarding.page_four.notifications\":\"The notifications column shows when someone interacts with you.\",\"onboarding.page_one.federation\":\"Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.\",\"onboarding.page_one.handle\":\"You are on {domain}, so your full handle is {handle}\",\"onboarding.page_one.welcome\":\"Welcome to Mastodon!\",\"onboarding.page_six.admin\":\"Your instance's admin is {admin}.\",\"onboarding.page_six.almost_done\":\"Almost done...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"There are {apps} available for iOS, Android and other platforms.\",\"onboarding.page_six.github\":\"Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.\",\"onboarding.page_six.guidelines\":\"community guidelines\",\"onboarding.page_six.read_guidelines\":\"Please read {domain}'s {guidelines}!\",\"onboarding.page_six.various_app\":\"mobile apps\",\"onboarding.page_three.profile\":\"Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.\",\"onboarding.page_three.search\":\"Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.\",\"onboarding.page_two.compose\":\"Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.\",\"onboarding.skip\":\"Skip\",\"privacy.change\":\"Adjust status privacy\",\"privacy.direct.long\":\"Post to mentioned users only\",\"privacy.direct.short\":\"Direct\",\"privacy.private.long\":\"Post to followers only\",\"privacy.private.short\":\"Followers-only\",\"privacy.public.long\":\"Post to public timelines\",\"privacy.public.short\":\"Public\",\"privacy.unlisted.long\":\"Do not show in public timelines\",\"privacy.unlisted.short\":\"Unlisted\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Mégsem\",\"report.placeholder\":\"Additional comments\",\"report.submit\":\"Submit\",\"report.target\":\"Reporting\",\"search.placeholder\":\"Keresés\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {result} other {results}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"This post cannot be boosted\",\"status.delete\":\"Törlés\",\"status.embed\":\"Embed\",\"status.favourite\":\"Kedvenc\",\"status.load_more\":\"Load more\",\"status.media_hidden\":\"Media hidden\",\"status.mention\":\"Említés\",\"status.more\":\"More\",\"status.mute_conversation\":\"Mute conversation\",\"status.open\":\"Expand this status\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Reblog\",\"status.reblogged_by\":\"{name} reblogolta\",\"status.reply\":\"Válasz\",\"status.replyAll\":\"Reply to thread\",\"status.report\":\"Report @{name}\",\"status.sensitive_toggle\":\"Katt a megtekintéshez\",\"status.sensitive_warning\":\"Érzékeny tartalom\",\"status.share\":\"Share\",\"status.show_less\":\"Show less\",\"status.show_more\":\"Show more\",\"status.unmute_conversation\":\"Unmute conversation\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Összeállítás\",\"tabs_bar.federated_timeline\":\"Federated\",\"tabs_bar.home\":\"Kezdőlap\",\"tabs_bar.local_timeline\":\"Local\",\"tabs_bar.notifications\":\"Notifications\",\"upload_area.title\":\"Drag & drop to upload\",\"upload_button.label\":\"Média hozzáadása\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Mégsem\",\"upload_progress.label\":\"Uploading...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 696, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/hu.js", + "name": "./node_modules/react-intl/locale-data/hu.js", + "index": 855, + "index2": 854, + "size": 1858, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 50 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hu.js", + "issuerId": 694, + "issuerName": "./tmp/packs/locale_hu.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 694, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hu.js", + "module": "./tmp/packs/locale_hu.js", + "moduleName": "./tmp/packs/locale_hu.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/hu.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.hu = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"hu\", pluralRuleFunction: function (e, t) {\n return t ? 1 == e || 5 == e ? \"one\" : \"other\" : 1 == e ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"év\", relative: { 0: \"ez az év\", 1: \"következő év\", \"-1\": \"előző év\" }, relativeTime: { future: { one: \"{0} év múlva\", other: \"{0} év múlva\" }, past: { one: \"{0} évvel ezelőtt\", other: \"{0} évvel ezelőtt\" } } }, month: { displayName: \"hónap\", relative: { 0: \"ez a hónap\", 1: \"következő hónap\", \"-1\": \"előző hónap\" }, relativeTime: { future: { one: \"{0} hónap múlva\", other: \"{0} hónap múlva\" }, past: { one: \"{0} hónappal ezelőtt\", other: \"{0} hónappal ezelőtt\" } } }, day: { displayName: \"nap\", relative: { 0: \"ma\", 1: \"holnap\", 2: \"holnapután\", \"-2\": \"tegnapelőtt\", \"-1\": \"tegnap\" }, relativeTime: { future: { one: \"{0} nap múlva\", other: \"{0} nap múlva\" }, past: { one: \"{0} nappal ezelőtt\", other: \"{0} nappal ezelőtt\" } } }, hour: { displayName: \"óra\", relative: { 0: \"ebben az órában\" }, relativeTime: { future: { one: \"{0} óra múlva\", other: \"{0} óra múlva\" }, past: { one: \"{0} órával ezelőtt\", other: \"{0} órával ezelőtt\" } } }, minute: { displayName: \"perc\", relative: { 0: \"ebben a percben\" }, relativeTime: { future: { one: \"{0} perc múlva\", other: \"{0} perc múlva\" }, past: { one: \"{0} perccel ezelőtt\", other: \"{0} perccel ezelőtt\" } } }, second: { displayName: \"másodperc\", relative: { 0: \"most\" }, relativeTime: { future: { one: \"{0} másodperc múlva\", other: \"{0} másodperc múlva\" }, past: { one: \"{0} másodperccel ezelőtt\", other: \"{0} másodperccel ezelőtt\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 694, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hu.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hu.js", + "moduleName": "./tmp/packs/locale_hu.js", + "loc": "", + "name": "locale_hu", + "reasons": [] + } + ] + }, + { + "id": 51, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 13874, + "names": [ + "locale_hr" + ], + "files": [ + "locale_hr-e2d2f61a68ccc0db5448.js", + "locale_hr-e2d2f61a68ccc0db5448.js.map" + ], + "hash": "e2d2f61a68ccc0db5448", + "parents": [ + 65 + ], + "modules": [ + { + "id": 691, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hr.js", + "name": "./tmp/packs/locale_hr.js", + "index": 850, + "index2": 852, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 51 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_hr.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/hr.json';\nimport localeData from \"react-intl/locale-data/hr.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 692, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/hr.json", + "name": "./app/javascript/mastodon/locales/hr.json", + "index": 851, + "index2": 850, + "size": 11128, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 51 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hr.js", + "issuerId": 691, + "issuerName": "./tmp/packs/locale_hr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 691, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hr.js", + "module": "./tmp/packs/locale_hr.js", + "moduleName": "./tmp/packs/locale_hr.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/hr.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Blokiraj @{name}\",\"account.block_domain\":\"Sakrij sve sa {domain}\",\"account.disclaimer_full\":\"Ovaj korisnik je sa druge instance. Ovaj broj bi mogao biti veći.\",\"account.edit_profile\":\"Uredi profil\",\"account.follow\":\"Slijedi\",\"account.followers\":\"Sljedbenici\",\"account.follows\":\"Slijedi\",\"account.follows_you\":\"te slijedi\",\"account.media\":\"Media\",\"account.mention\":\"Spomeni @{name}\",\"account.mute\":\"Utišaj @{name}\",\"account.posts\":\"Postovi\",\"account.report\":\"Prijavi @{name}\",\"account.requested\":\"Čeka pristanak\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Deblokiraj @{name}\",\"account.unblock_domain\":\"Poništi sakrivanje {domain}\",\"account.unfollow\":\"Prestani slijediti\",\"account.unmute\":\"Poništi utišavanje @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"Možeš pritisnuti {combo} kako bi ovo preskočio sljedeći put\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Blokirani korisnici\",\"column.community\":\"Lokalni timeline\",\"column.favourites\":\"Favoriti\",\"column.follow_requests\":\"Zahtjevi za slijeđenje\",\"column.home\":\"Dom\",\"column.mutes\":\"Utišani korisnici\",\"column.notifications\":\"Notifikacije\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Federalni timeline\",\"column_back_button.label\":\"Natrag\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigacija\",\"column_subheading.settings\":\"Postavke\",\"compose_form.lock_disclaimer\":\"Tvoj račun nije {locked}. Svatko te može slijediti kako bi vidio postove namijenjene samo tvojim sljedbenicima.\",\"compose_form.lock_disclaimer.lock\":\"zaključan\",\"compose_form.placeholder\":\"Što ti je na umu?\",\"compose_form.publish\":\"Toot\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Označi media sadržaj kao osjetljiv\",\"compose_form.spoiler\":\"Sakrij text iza upozorenja\",\"compose_form.spoiler_placeholder\":\"Upozorenje o sadržaju\",\"confirmation_modal.cancel\":\"Otkaži\",\"confirmations.block.confirm\":\"Blokiraj\",\"confirmations.block.message\":\"Želiš li sigurno blokirati {name}?\",\"confirmations.delete.confirm\":\"Obriši\",\"confirmations.delete.message\":\"Želiš li stvarno obrisati ovaj status?\",\"confirmations.domain_block.confirm\":\"Sakrij cijelu domenu\",\"confirmations.domain_block.message\":\"Jesi li zaista, zaista siguran da želiš potpuno blokirati {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Utišaj\",\"confirmations.mute.message\":\"Jesi li siguran da želiš utišati {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Aktivnost\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Zastave\",\"emoji_button.food\":\"Hrana & Piće\",\"emoji_button.label\":\"Umetni smajlije\",\"emoji_button.nature\":\"Priroda\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objekti\",\"emoji_button.people\":\"Ljudi\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Traži...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Simboli\",\"emoji_button.travel\":\"Putovanja & Mjesta\",\"empty_column.community\":\"Lokalni timeline je prazan. Napiši nešto javno kako bi pokrenuo stvari!\",\"empty_column.hashtag\":\"Još ne postoji ništa s ovim hashtagom.\",\"empty_column.home\":\"Još ne slijediš nikoga. Posjeti {public} ili koristi tražilicu kako bi počeo i upoznao druge korisnike.\",\"empty_column.home.public_timeline\":\"javni timeline\",\"empty_column.notifications\":\"Još nemaš notifikacija. Komuniciraj sa drugima kako bi započeo razgovor.\",\"empty_column.public\":\"Ovdje nema ništa! Napiši nešto javno, ili ručno slijedi korisnike sa drugih instanci kako bi popunio\",\"follow_request.authorize\":\"Autoriziraj\",\"follow_request.reject\":\"Odbij\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Počnimo\",\"getting_started.open_source_notice\":\"Mastodon je softver otvorenog koda. Možeš pridonijeti ili prijaviti probleme na GitHubu {github}.\",\"getting_started.userguide\":\"Upute za korištenje\",\"home.column_settings.advanced\":\"Napredno\",\"home.column_settings.basic\":\"Osnovno\",\"home.column_settings.filter_regex\":\"Filtriraj s regularnim izrazima\",\"home.column_settings.show_reblogs\":\"Pokaži boostove\",\"home.column_settings.show_replies\":\"Pokaži odgovore\",\"home.settings\":\"Postavke Stupca\",\"lightbox.close\":\"Zatvori\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Učitavam...\",\"media_gallery.toggle_visible\":\"Preklopi vidljivost\",\"missing_indicator.label\":\"Nije nađen\",\"navigation_bar.blocks\":\"Blokirani korisnici\",\"navigation_bar.community_timeline\":\"Lokalni timeline\",\"navigation_bar.edit_profile\":\"Uredi profil\",\"navigation_bar.favourites\":\"Favoriti\",\"navigation_bar.follow_requests\":\"Zahtjevi za slijeđenje\",\"navigation_bar.info\":\"Više informacija\",\"navigation_bar.logout\":\"Odjavi se\",\"navigation_bar.mutes\":\"Utišani korisnici\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Postavke\",\"navigation_bar.public_timeline\":\"Federalni timeline\",\"notification.favourite\":\"{name} je lajkao tvoj status\",\"notification.follow\":\"{name} te sada slijedi\",\"notification.mention\":\"{name} te je spomenuo\",\"notification.reblog\":\"{name} je podigao tvoj status\",\"notifications.clear\":\"Očisti notifikacije\",\"notifications.clear_confirmation\":\"Želiš li zaista obrisati sve svoje notifikacije?\",\"notifications.column_settings.alert\":\"Desktop notifikacije\",\"notifications.column_settings.favourite\":\"Favoriti:\",\"notifications.column_settings.follow\":\"Novi sljedbenici:\",\"notifications.column_settings.mention\":\"Spominjanja:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Boostovi:\",\"notifications.column_settings.show\":\"Prikaži u stupcu\",\"notifications.column_settings.sound\":\"Sviraj zvuk\",\"onboarding.done\":\"Učinjeno\",\"onboarding.next\":\"Sljedeće\",\"onboarding.page_five.public_timelines\":\"Lokalni timeline prikazuje javne postove sviju od svakog na {domain}. Federalni timeline prikazuje javne postove svakog koga ljudi na {domain} slijede. To su Javni Timelineovi, sjajan način za otkriti nove ljude.\",\"onboarding.page_four.home\":\"The home timeline prikazuje postove ljudi koje slijediš.\",\"onboarding.page_four.notifications\":\"Stupac za notifikacije pokazuje poruke drugih upućene tebi.\",\"onboarding.page_one.federation\":\"Mastodon čini mreža neovisnih servera udruženih u jednu veću socialnu mrežu. Te servere nazivamo instancama.\",\"onboarding.page_one.handle\":\"Ti si na {domain}, i tvoja puna handle je {handle}\",\"onboarding.page_one.welcome\":\"Dobro došli na Mastodon!\",\"onboarding.page_six.admin\":\"Administrator tvoje instance je {admin}.\",\"onboarding.page_six.almost_done\":\"Još malo pa gotovo...\",\"onboarding.page_six.appetoot\":\"Živjeli!\",\"onboarding.page_six.apps_available\":\"Postoje {apps} dostupne za iOS, Android i druge platforme.\",\"onboarding.page_six.github\":\"Mastodon je besplatan softver otvorenog koda. You can report bugs, request features, or contribute to the code on {github}.\",\"onboarding.page_six.guidelines\":\"smjernice zajednice\",\"onboarding.page_six.read_guidelines\":\"Molimo pročitaj {domain}'s {guidelines}!\",\"onboarding.page_six.various_app\":\"mobilne aplikacije\",\"onboarding.page_three.profile\":\"Uredi svoj profil promjenom svog avatara, biografije, i imena. Ovdje ćeš isto tako pronaći i druge postavke.\",\"onboarding.page_three.search\":\"Koristi tražilicu kako bi pronašao ljude i tražio hashtags, kao što su {illustration} i {introductions}. Kako bi pronašao osobu koja nije na ovoj instanci, upotrijebi njen pun handle.\",\"onboarding.page_two.compose\":\"Piši postove u stupcu za sastavljanje. Možeš uploadati slike, promijeniti postavke privatnosti, i dodati upozorenja o sadržaju s ikonama ispod.\",\"onboarding.skip\":\"Preskoči\",\"privacy.change\":\"Podesi status privatnosti\",\"privacy.direct.long\":\"Prikaži samo spomenutim korisnicima\",\"privacy.direct.short\":\"Direktno\",\"privacy.private.long\":\"Prikaži samo sljedbenicima\",\"privacy.private.short\":\"Privatno\",\"privacy.public.long\":\"Postaj na javne timeline\",\"privacy.public.short\":\"Javno\",\"privacy.unlisted.long\":\"Ne prikazuj u javnim timelineovima\",\"privacy.unlisted.short\":\"Unlisted\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Otkaži\",\"report.placeholder\":\"Dodatni komentari\",\"report.submit\":\"Pošalji\",\"report.target\":\"Prijavljivanje\",\"search.placeholder\":\"Traži\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {result} other {results}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"Ovaj post ne može biti boostan\",\"status.delete\":\"Obriši\",\"status.embed\":\"Embed\",\"status.favourite\":\"Označi omiljenim\",\"status.load_more\":\"Učitaj više\",\"status.media_hidden\":\"Sakriven media sadržaj\",\"status.mention\":\"Spomeni @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Utišaj razgovor\",\"status.open\":\"Proširi ovaj status\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Podigni\",\"status.reblogged_by\":\"{name} je podigao\",\"status.reply\":\"Odgovori\",\"status.replyAll\":\"Odgovori na temu\",\"status.report\":\"Prijavi @{name}\",\"status.sensitive_toggle\":\"Klikni da bi vidio\",\"status.sensitive_warning\":\"Osjetljiv sadržaj\",\"status.share\":\"Share\",\"status.show_less\":\"Pokaži manje\",\"status.show_more\":\"Pokaži više\",\"status.unmute_conversation\":\"Poništi utišavanje razgovora\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Sastavi\",\"tabs_bar.federated_timeline\":\"Federalni\",\"tabs_bar.home\":\"Dom\",\"tabs_bar.local_timeline\":\"Lokalno\",\"tabs_bar.notifications\":\"Notifikacije\",\"upload_area.title\":\"Povuci i spusti kako bi uploadao\",\"upload_button.label\":\"Dodaj media\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Poništi\",\"upload_progress.label\":\"Uploadam...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 693, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/hr.js", + "name": "./node_modules/react-intl/locale-data/hr.js", + "index": 852, + "index2": 851, + "size": 2421, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 51 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hr.js", + "issuerId": 691, + "issuerName": "./tmp/packs/locale_hr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 691, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hr.js", + "module": "./tmp/packs/locale_hr.js", + "moduleName": "./tmp/packs/locale_hr.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/hr.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a() : \"function\" == typeof define && define.amd ? define(a) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.hr = a());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"hr\", pluralRuleFunction: function (e, a) {\n var i = String(e).split(\".\"),\n t = i[0],\n r = i[1] || \"\",\n n = !i[1],\n o = t.slice(-1),\n s = t.slice(-2),\n u = r.slice(-1),\n d = r.slice(-2);return a ? \"other\" : n && 1 == o && 11 != s || 1 == u && 11 != d ? \"one\" : n && o >= 2 && o <= 4 && (s < 12 || s > 14) || u >= 2 && u <= 4 && (d < 12 || d > 14) ? \"few\" : \"other\";\n }, fields: { year: { displayName: \"godina\", relative: { 0: \"ove godine\", 1: \"sljedeće godine\", \"-1\": \"prošle godine\" }, relativeTime: { future: { one: \"za {0} godinu\", few: \"za {0} godine\", other: \"za {0} godina\" }, past: { one: \"prije {0} godinu\", few: \"prije {0} godine\", other: \"prije {0} godina\" } } }, month: { displayName: \"mjesec\", relative: { 0: \"ovaj mjesec\", 1: \"sljedeći mjesec\", \"-1\": \"prošli mjesec\" }, relativeTime: { future: { one: \"za {0} mjesec\", few: \"za {0} mjeseca\", other: \"za {0} mjeseci\" }, past: { one: \"prije {0} mjesec\", few: \"prije {0} mjeseca\", other: \"prije {0} mjeseci\" } } }, day: { displayName: \"dan\", relative: { 0: \"danas\", 1: \"sutra\", 2: \"prekosutra\", \"-2\": \"prekjučer\", \"-1\": \"jučer\" }, relativeTime: { future: { one: \"za {0} dan\", few: \"za {0} dana\", other: \"za {0} dana\" }, past: { one: \"prije {0} dan\", few: \"prije {0} dana\", other: \"prije {0} dana\" } } }, hour: { displayName: \"sat\", relative: { 0: \"ovaj sat\" }, relativeTime: { future: { one: \"za {0} sat\", few: \"za {0} sata\", other: \"za {0} sati\" }, past: { one: \"prije {0} sat\", few: \"prije {0} sata\", other: \"prije {0} sati\" } } }, minute: { displayName: \"minuta\", relative: { 0: \"ova minuta\" }, relativeTime: { future: { one: \"za {0} minutu\", few: \"za {0} minute\", other: \"za {0} minuta\" }, past: { one: \"prije {0} minutu\", few: \"prije {0} minute\", other: \"prije {0} minuta\" } } }, second: { displayName: \"sekunda\", relative: { 0: \"sad\" }, relativeTime: { future: { one: \"za {0} sekundu\", few: \"za {0} sekunde\", other: \"za {0} sekundi\" }, past: { one: \"prije {0} sekundu\", few: \"prije {0} sekunde\", other: \"prije {0} sekundi\" } } } } }, { locale: \"hr-BA\", parentLocale: \"hr\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 691, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hr.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hr.js", + "moduleName": "./tmp/packs/locale_hr.js", + "loc": "", + "name": "locale_hr", + "reasons": [] + } + ] + }, + { + "id": 52, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 13061, + "names": [ + "locale_he" + ], + "files": [ + "locale_he-005e46857d05c85ee2eb.js", + "locale_he-005e46857d05c85ee2eb.js.map" + ], + "hash": "005e46857d05c85ee2eb", + "parents": [ + 65 + ], + "modules": [ + { + "id": 688, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_he.js", + "name": "./tmp/packs/locale_he.js", + "index": 847, + "index2": 849, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 52 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_he.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/he.json';\nimport localeData from \"react-intl/locale-data/he.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 689, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/he.json", + "name": "./app/javascript/mastodon/locales/he.json", + "index": 848, + "index2": 847, + "size": 10339, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 52 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_he.js", + "issuerId": 688, + "issuerName": "./tmp/packs/locale_he.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 688, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_he.js", + "module": "./tmp/packs/locale_he.js", + "moduleName": "./tmp/packs/locale_he.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/he.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"חסימת @{name}\",\"account.block_domain\":\"להסתיר הכל מהקהילה {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"עריכת פרופיל\",\"account.follow\":\"מעקב\",\"account.followers\":\"עוקבים\",\"account.follows\":\"נעקבים\",\"account.follows_you\":\"במעקב אחריך\",\"account.media\":\"מדיה\",\"account.mention\":\"אזכור של @{name}\",\"account.mute\":\"להשתיק את @{name}\",\"account.posts\":\"הודעות\",\"account.report\":\"לדווח על @{name}\",\"account.requested\":\"בהמתנה לאישור\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"הסרת חסימה מעל @{name}\",\"account.unblock_domain\":\"הסר חסימה מקהילת {domain}\",\"account.unfollow\":\"הפסקת מעקב\",\"account.unmute\":\"הפסקת השתקת @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"ניתן להקיש {combo} כדי לדלג בפעם הבאה\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"חסימות\",\"column.community\":\"ציר זמן מקומי\",\"column.favourites\":\"חיבובים\",\"column.follow_requests\":\"בקשות מעקב\",\"column.home\":\"בבית\",\"column.mutes\":\"השתקות\",\"column.notifications\":\"התראות\",\"column.pins\":\"Pinned toot\",\"column.public\":\"בפרהסיה\",\"column_back_button.label\":\"חזרה\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"ניווט\",\"column_subheading.settings\":\"אפשרויות\",\"compose_form.lock_disclaimer\":\"חשבונך אינו {locked}. כל אחד יוכל לעקוב אחריך כדי לקרוא את הודעותיך המיועדות לעוקבים בלבד.\",\"compose_form.lock_disclaimer.lock\":\"נעול\",\"compose_form.placeholder\":\"מה עובר לך בראש?\",\"compose_form.publish\":\"ללחוש\",\"compose_form.publish_loud\":\"לחצרץ!\",\"compose_form.sensitive\":\"סימון תוכן כרגיש\",\"compose_form.spoiler\":\"הסתרה מאחורי אזהרת תוכן\",\"compose_form.spoiler_placeholder\":\"אזהרת תוכן\",\"confirmation_modal.cancel\":\"ביטול\",\"confirmations.block.confirm\":\"לחסום\",\"confirmations.block.message\":\"לחסום את {name}?\",\"confirmations.delete.confirm\":\"למחוק\",\"confirmations.delete.message\":\"למחוק את ההודעה?\",\"confirmations.domain_block.confirm\":\"הסתר קהילה שלמה\",\"confirmations.domain_block.message\":\"באמת באמת לחסום את כל קהילת {domain}? ברב המקרים השתקות נבחרות של מספר משתמשים מסויימים צריכה להספיק.\",\"confirmations.mute.confirm\":\"להשתיק\",\"confirmations.mute.message\":\"להשתיק את {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"פעילות\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"דגלים\",\"emoji_button.food\":\"אוכל ושתיה\",\"emoji_button.label\":\"הוספת אמוג'י\",\"emoji_button.nature\":\"טבע\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"חפצים\",\"emoji_button.people\":\"אנשים\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"חיפוש...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"סמלים\",\"emoji_button.travel\":\"טיולים ואתרים\",\"empty_column.community\":\"טור הסביבה ריק. יש לפרסם משהו כדי שדברים יתרחילו להתגלגל!\",\"empty_column.hashtag\":\"אין כלום בהאשתג הזה עדיין.\",\"empty_column.home\":\"אף אחד לא במעקב עדיין. אפשר לבקר ב{public} או להשתמש בחיפוש כדי להתחיל ולהכיר חצוצרנים אחרים.\",\"empty_column.home.public_timeline\":\"ציר זמן בין-קהילתי\",\"empty_column.notifications\":\"אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב!\",\"empty_column.public\":\"אין פה כלום! כדי למלא את הטור הזה אפשר לכתוב משהו, או להתחיל לעקוב אחרי אנשים מקהילות אחרות.\",\"follow_request.authorize\":\"קבלה\",\"follow_request.reject\":\"דחיה\",\"getting_started.appsshort\":\"יישומונים לניידים\",\"getting_started.faq\":\"שאלות ותשובות\",\"getting_started.heading\":\"בואו נתחיל\",\"getting_started.open_source_notice\":\"מסטודון היא תוכנה חופשית (בקוד פתוח). ניתן לתרום או לדווח על בעיות בגיטהאב: {github}.\",\"getting_started.userguide\":\"מדריך למשתמשים\",\"home.column_settings.advanced\":\"למתקדמים\",\"home.column_settings.basic\":\"למתחילים\",\"home.column_settings.filter_regex\":\"סינון באמצעות ביטויים רגולריים (regular expressions)\",\"home.column_settings.show_reblogs\":\"הצגת הדהודים\",\"home.column_settings.show_replies\":\"הצגת תגובות\",\"home.settings\":\"הגדרות טור\",\"lightbox.close\":\"סגירה\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"טוען...\",\"media_gallery.toggle_visible\":\"נראה\\\\בלתי נראה\",\"missing_indicator.label\":\"לא נמצא\",\"navigation_bar.blocks\":\"חסימות\",\"navigation_bar.community_timeline\":\"ציר זמן מקומי\",\"navigation_bar.edit_profile\":\"עריכת פרופיל\",\"navigation_bar.favourites\":\"חיבובים\",\"navigation_bar.follow_requests\":\"בקשות מעקב\",\"navigation_bar.info\":\"מידע נוסף\",\"navigation_bar.logout\":\"יציאה\",\"navigation_bar.mutes\":\"השתקות\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"העדפות\",\"navigation_bar.public_timeline\":\"ציר זמן בין-קהילתי\",\"notification.favourite\":\"חצרוצך חובב על ידי {name}\",\"notification.follow\":\"{name} במעקב אחרייך\",\"notification.mention\":\"אוזכרת על ידי {name}\",\"notification.reblog\":\"חצרוצך הודהד על ידי {name}\",\"notifications.clear\":\"הסרת התראות\",\"notifications.clear_confirmation\":\"להסיר את כל ההתראות? בטוח?\",\"notifications.column_settings.alert\":\"התראות לשולחן העבודה\",\"notifications.column_settings.favourite\":\"מחובבים:\",\"notifications.column_settings.follow\":\"עוקבים חדשים:\",\"notifications.column_settings.mention\":\"פניות:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"הדהודים:\",\"notifications.column_settings.show\":\"הצגה בטור\",\"notifications.column_settings.sound\":\"שמע מופעל\",\"onboarding.done\":\"יציאה\",\"onboarding.next\":\"הלאה\",\"onboarding.page_five.public_timelines\":\"ציר הזמן המקומי מראה הודעות פומביות מכל באי קהילת {domain}. ציר הזמן העולמי מראה הודעות פומביות מאת כי מי שבאי קהילת {domain} עוקבים אחריו. אלו צירי הזמן הפומביים, דרך נהדרת לגלות אנשים חדשים.\",\"onboarding.page_four.home\":\"ציר זמן הבית מראה הודעות מהנעקבים שלך.\",\"onboarding.page_four.notifications\":\"טור ההתראות מראה כשמישהו מתייחס להודעות שלך.\",\"onboarding.page_one.federation\":\"מסטודון היא רשת של שרתים עצמאיים מצורפים ביחד לכדי רשת חברתית אחת גדולה. אנחנו מכנים את השרתים האלו: קהילות\",\"onboarding.page_one.handle\":\"אתם בקהילה {domain}, ולכן מזהה המשתמש המלא שלכם הוא {handle}\",\"onboarding.page_one.welcome\":\"ברוכים הבאים למסטודון!\",\"onboarding.page_six.admin\":\"הקהילה מנוהלת בידי {admin}.\",\"onboarding.page_six.almost_done\":\"כמעט סיימנו...\",\"onboarding.page_six.appetoot\":\"בתותאבון!\",\"onboarding.page_six.apps_available\":\"קיימים {apps} זמינים עבור אנדרואיד, אייפון ופלטפורמות נוספות.\",\"onboarding.page_six.github\":\"מסטודון הוא תוכנה חופשית. ניתן לדווח על באגים, לבקש יכולות, או לתרום לקוד באתר {github}.\",\"onboarding.page_six.guidelines\":\"חוקי הקהילה\",\"onboarding.page_six.read_guidelines\":\"נא לקרוא את {guidelines} של {domain}!\",\"onboarding.page_six.various_app\":\"יישומונים ניידים\",\"onboarding.page_three.profile\":\"ץתחת 'עריכת פרופיל' ניתן להחליף את תמונת הפרופיל שלך, תיאור קצר, והשם המוצג. שם גם ניתן למצוא אפשרויות והעדפות נוספות.\",\"onboarding.page_three.search\":\"בחלונית החיפוש ניתן לחפש אנשים והאשתגים, כמו למשל {illustration} או {introductions}. כדי למצוא מישהו שלא על האינסטנס המקומי, יש להשתמש בכינוי המשתמש המלא.\",\"onboarding.page_two.compose\":\"הודעות כותבים מטור הכתיבה. ניתן לנעלות תמונות, לשנות הגדרות פרטיות, ולהוסיף אזהרות תוכן בעזרת האייקונים שמתחת.\",\"onboarding.skip\":\"לדלג\",\"privacy.change\":\"שינוי פרטיות ההודעה\",\"privacy.direct.long\":\"הצג רק למי שהודעה זו פונה אליו\",\"privacy.direct.short\":\"הודעה ישירה\",\"privacy.private.long\":\"הצג לעוקבים בלבד\",\"privacy.private.short\":\"לעוקבים בלבד\",\"privacy.public.long\":\"פרסם בפומבי\",\"privacy.public.short\":\"פומבי\",\"privacy.unlisted.long\":\"לא יופיע בפידים הציבוריים המשותפים\",\"privacy.unlisted.short\":\"לא לפיד הכללי\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"ביטול\",\"report.placeholder\":\"הערות נוספות\",\"report.submit\":\"שליחה\",\"report.target\":\"דיווח\",\"search.placeholder\":\"חיפוש\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {תוצאה} other {תוצאות}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"לא ניתן להדהד הודעה זו\",\"status.delete\":\"מחיקה\",\"status.embed\":\"Embed\",\"status.favourite\":\"חיבוב\",\"status.load_more\":\"עוד\",\"status.media_hidden\":\"מדיה מוסתרת\",\"status.mention\":\"פניה אל @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"השתקת שיחה\",\"status.open\":\"הרחבת הודעה\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"הדהוד\",\"status.reblogged_by\":\"הודהד על ידי {name}\",\"status.reply\":\"תגובה\",\"status.replyAll\":\"תגובה לכולם\",\"status.report\":\"דיווח על @{name}\",\"status.sensitive_toggle\":\"לחצו כדי לראות\",\"status.sensitive_warning\":\"תוכן רגיש\",\"status.share\":\"Share\",\"status.show_less\":\"הראה פחות\",\"status.show_more\":\"הראה יותר\",\"status.unmute_conversation\":\"הסרת השתקת שיחה\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"חיבור\",\"tabs_bar.federated_timeline\":\"ציר זמן בין-קהילתי\",\"tabs_bar.home\":\"בבית\",\"tabs_bar.local_timeline\":\"ציר זמן מקומי\",\"tabs_bar.notifications\":\"התראות\",\"upload_area.title\":\"ניתן להעלות על ידי Drag & drop\",\"upload_button.label\":\"הוספת מדיה\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"ביטול\",\"upload_progress.label\":\"עולה...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 690, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/he.js", + "name": "./node_modules/react-intl/locale-data/he.js", + "index": 849, + "index2": 848, + "size": 2397, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 52 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_he.js", + "issuerId": 688, + "issuerName": "./tmp/packs/locale_he.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 688, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_he.js", + "module": "./tmp/packs/locale_he.js", + "moduleName": "./tmp/packs/locale_he.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/he.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.he = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"he\", pluralRuleFunction: function (e, t) {\n var a = String(e).split(\".\"),\n o = a[0],\n n = !a[1],\n r = Number(a[0]) == e,\n i = r && a[0].slice(-1);return t ? \"other\" : 1 == e && n ? \"one\" : 2 == o && n ? \"two\" : n && (e < 0 || e > 10) && r && 0 == i ? \"many\" : \"other\";\n }, fields: { year: { displayName: \"שנה\", relative: { 0: \"השנה\", 1: \"השנה הבאה\", \"-1\": \"השנה שעברה\" }, relativeTime: { future: { one: \"בעוד שנה\", two: \"בעוד שנתיים\", many: \"בעוד {0} שנה\", other: \"בעוד {0} שנים\" }, past: { one: \"לפני שנה\", two: \"לפני שנתיים\", many: \"לפני {0} שנה\", other: \"לפני {0} שנים\" } } }, month: { displayName: \"חודש\", relative: { 0: \"החודש\", 1: \"החודש הבא\", \"-1\": \"החודש שעבר\" }, relativeTime: { future: { one: \"בעוד חודש\", two: \"בעוד חודשיים\", many: \"בעוד {0} חודשים\", other: \"בעוד {0} חודשים\" }, past: { one: \"לפני חודש\", two: \"לפני חודשיים\", many: \"לפני {0} חודשים\", other: \"לפני {0} חודשים\" } } }, day: { displayName: \"יום\", relative: { 0: \"היום\", 1: \"מחר\", 2: \"מחרתיים\", \"-2\": \"שלשום\", \"-1\": \"אתמול\" }, relativeTime: { future: { one: \"בעוד יום {0}\", two: \"בעוד יומיים\", many: \"בעוד {0} ימים\", other: \"בעוד {0} ימים\" }, past: { one: \"לפני יום {0}\", two: \"לפני יומיים\", many: \"לפני {0} ימים\", other: \"לפני {0} ימים\" } } }, hour: { displayName: \"שעה\", relative: { 0: \"בשעה זו\" }, relativeTime: { future: { one: \"בעוד שעה\", two: \"בעוד שעתיים\", many: \"בעוד {0} שעות\", other: \"בעוד {0} שעות\" }, past: { one: \"לפני שעה\", two: \"לפני שעתיים\", many: \"לפני {0} שעות\", other: \"לפני {0} שעות\" } } }, minute: { displayName: \"דקה\", relative: { 0: \"בדקה זו\" }, relativeTime: { future: { one: \"בעוד דקה\", two: \"בעוד שתי דקות\", many: \"בעוד {0} דקות\", other: \"בעוד {0} דקות\" }, past: { one: \"לפני דקה\", two: \"לפני שתי דקות\", many: \"לפני {0} דקות\", other: \"לפני {0} דקות\" } } }, second: { displayName: \"שנייה\", relative: { 0: \"עכשיו\" }, relativeTime: { future: { one: \"בעוד שנייה\", two: \"בעוד שתי שניות\", many: \"בעוד {0} שניות\", other: \"בעוד {0} שניות\" }, past: { one: \"לפני שנייה\", two: \"לפני שתי שניות\", many: \"לפני {0} שניות\", other: \"לפני {0} שניות\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 688, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_he.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_he.js", + "moduleName": "./tmp/packs/locale_he.js", + "loc": "", + "name": "locale_he", + "reasons": [] + } + ] + }, + { + "id": 53, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 17431, + "names": [ + "locale_fr" + ], + "files": [ + "locale_fr-abab8a49160466298d03.js", + "locale_fr-abab8a49160466298d03.js.map" + ], + "hash": "abab8a49160466298d03", + "parents": [ + 65 + ], + "modules": [ + { + "id": 685, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fr.js", + "name": "./tmp/packs/locale_fr.js", + "index": 844, + "index2": 846, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 53 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_fr.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/fr.json';\nimport localeData from \"react-intl/locale-data/fr.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 686, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/fr.json", + "name": "./app/javascript/mastodon/locales/fr.json", + "index": 845, + "index2": 844, + "size": 11995, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 53 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fr.js", + "issuerId": 685, + "issuerName": "./tmp/packs/locale_fr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 685, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fr.js", + "module": "./tmp/packs/locale_fr.js", + "moduleName": "./tmp/packs/locale_fr.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/fr.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Bloquer\",\"account.block_domain\":\"Tout masquer de {domain}\",\"account.disclaimer_full\":\"Les données ci-dessous peuvent ne pas refléter ce profil dans sa totalité.\",\"account.edit_profile\":\"Modifier le profil\",\"account.follow\":\"Suivre\",\"account.followers\":\"Abonné⋅e⋅s\",\"account.follows\":\"Abonnements\",\"account.follows_you\":\"Vous suit\",\"account.media\":\"Média\",\"account.mention\":\"Mentionner\",\"account.mute\":\"Masquer\",\"account.posts\":\"Statuts\",\"account.report\":\"Signaler\",\"account.requested\":\"Invitation envoyée\",\"account.share\":\"Partager le profil de @{name}\",\"account.unblock\":\"Débloquer\",\"account.unblock_domain\":\"Ne plus masquer {domain}\",\"account.unfollow\":\"Ne plus suivre\",\"account.unmute\":\"Ne plus masquer\",\"account.view_full_profile\":\"Afficher le profil complet\",\"boost_modal.combo\":\"Vous pouvez appuyer sur {combo} pour pouvoir passer ceci, la prochaine fois\",\"bundle_column_error.body\":\"Une erreur s’est produite lors du chargement de ce composant.\",\"bundle_column_error.retry\":\"Réessayer\",\"bundle_column_error.title\":\"Erreur réseau\",\"bundle_modal_error.close\":\"Fermer\",\"bundle_modal_error.message\":\"Une erreur s’est produite lors du chargement de ce composant.\",\"bundle_modal_error.retry\":\"Réessayer\",\"column.blocks\":\"Comptes bloqués\",\"column.community\":\"Fil public local\",\"column.favourites\":\"Favoris\",\"column.follow_requests\":\"Demandes de suivi\",\"column.home\":\"Accueil\",\"column.mutes\":\"Comptes masqués\",\"column.notifications\":\"Notifications\",\"column.pins\":\"Pouets épinglés\",\"column.public\":\"Fil public global\",\"column_back_button.label\":\"Retour\",\"column_header.hide_settings\":\"Masquer les paramètres\",\"column_header.moveLeft_settings\":\"Déplacer la colonne vers la gauche\",\"column_header.moveRight_settings\":\"Déplacer la colonne vers la droite\",\"column_header.pin\":\"Épingler\",\"column_header.show_settings\":\"Afficher les paramètres\",\"column_header.unpin\":\"Retirer\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Paramètres\",\"compose_form.lock_disclaimer\":\"Votre compte n’est pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.\",\"compose_form.lock_disclaimer.lock\":\"verrouillé\",\"compose_form.placeholder\":\"Qu’avez-vous en tête ?\",\"compose_form.publish\":\"Pouet \",\"compose_form.publish_loud\":\"{publish} !\",\"compose_form.sensitive\":\"Marquer le média comme sensible\",\"compose_form.spoiler\":\"Masquer le texte derrière un avertissement\",\"compose_form.spoiler_placeholder\":\"Écrivez ici votre avertissement\",\"confirmation_modal.cancel\":\"Annuler\",\"confirmations.block.confirm\":\"Bloquer\",\"confirmations.block.message\":\"Confirmez-vous le blocage de {name} ?\",\"confirmations.delete.confirm\":\"Supprimer\",\"confirmations.delete.message\":\"Confirmez-vous la suppression de ce pouet ?\",\"confirmations.domain_block.confirm\":\"Masquer le domaine entier\",\"confirmations.domain_block.message\":\"Êtes-vous vraiment, vraiment sûr⋅e de vouloir bloquer {domain} en entier ? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables.\",\"confirmations.mute.confirm\":\"Masquer\",\"confirmations.mute.message\":\"Confirmez-vous le masquage de {name} ?\",\"confirmations.unfollow.confirm\":\"Ne plus suivre\",\"confirmations.unfollow.message\":\"Voulez-vous arrêter de suivre {name} ?\",\"embed.instructions\":\"Intégrez ce statut à votre site en copiant le code ci-dessous.\",\"embed.preview\":\"Il apparaîtra comme cela : \",\"emoji_button.activity\":\"Activités\",\"emoji_button.custom\":\"Personnalisés\",\"emoji_button.flags\":\"Drapeaux\",\"emoji_button.food\":\"Boire et manger\",\"emoji_button.label\":\"Insérer un émoji\",\"emoji_button.nature\":\"Nature\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objets\",\"emoji_button.people\":\"Personnages\",\"emoji_button.recent\":\"Fréquemment utilisés\",\"emoji_button.search\":\"Recherche…\",\"emoji_button.search_results\":\"Résultats de la recherche\",\"emoji_button.symbols\":\"Symboles\",\"emoji_button.travel\":\"Lieux et voyages\",\"empty_column.community\":\"Le fil public local est vide. Écrivez donc quelque chose pour le remplir !\",\"empty_column.hashtag\":\"Il n’y a encore aucun contenu associé à ce hashtag\",\"empty_column.home\":\"Vous ne suivez encore personne. Visitez {public} ou bien utilisez la recherche pour vous connecter à d’autres utilisateur⋅ice⋅s.\",\"empty_column.home.public_timeline\":\"le fil public\",\"empty_column.notifications\":\"Vous n’avez pas encore de notification. Interagissez avec d’autres utilisateur⋅ice⋅s pour débuter la conversation.\",\"empty_column.public\":\"Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des utilisateur⋅ice⋅s d’autres instances pour remplir le fil public.\",\"follow_request.authorize\":\"Accepter\",\"follow_request.reject\":\"Rejeter\",\"getting_started.appsshort\":\"Applications\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Pour commencer\",\"getting_started.open_source_notice\":\"Mastodon est un logiciel libre. Vous pouvez contribuer et envoyer vos commentaires et rapports de bogues via {github} sur GitHub.\",\"getting_started.userguide\":\"Guide d’utilisation\",\"home.column_settings.advanced\":\"Avancé\",\"home.column_settings.basic\":\"Basique\",\"home.column_settings.filter_regex\":\"Filtrer avec une expression rationnelle\",\"home.column_settings.show_reblogs\":\"Afficher les partages\",\"home.column_settings.show_replies\":\"Afficher les réponses\",\"home.settings\":\"Paramètres de la colonne\",\"lightbox.close\":\"Fermer\",\"lightbox.next\":\"Suivant\",\"lightbox.previous\":\"Précédent\",\"loading_indicator.label\":\"Chargement…\",\"media_gallery.toggle_visible\":\"Modifier la visibilité\",\"missing_indicator.label\":\"Non trouvé\",\"navigation_bar.blocks\":\"Comptes bloqués\",\"navigation_bar.community_timeline\":\"Fil public local\",\"navigation_bar.edit_profile\":\"Modifier le profil\",\"navigation_bar.favourites\":\"Favoris\",\"navigation_bar.follow_requests\":\"Demandes de suivi\",\"navigation_bar.info\":\"Plus d’informations\",\"navigation_bar.logout\":\"Déconnexion\",\"navigation_bar.mutes\":\"Comptes masqués\",\"navigation_bar.pins\":\"Pouets épinglés\",\"navigation_bar.preferences\":\"Préférences\",\"navigation_bar.public_timeline\":\"Fil public global\",\"notification.favourite\":\"{name} a ajouté à ses favoris :\",\"notification.follow\":\"{name} vous suit.\",\"notification.mention\":\"{name} vous a mentionné⋅e :\",\"notification.reblog\":\"{name} a partagé votre statut :\",\"notifications.clear\":\"Nettoyer\",\"notifications.clear_confirmation\":\"Voulez-vous vraiment supprimer toutes vos notifications ?\",\"notifications.column_settings.alert\":\"Notifications locales\",\"notifications.column_settings.favourite\":\"Favoris :\",\"notifications.column_settings.follow\":\"Nouveaux⋅elles abonné⋅e⋅s :\",\"notifications.column_settings.mention\":\"Mentions :\",\"notifications.column_settings.push\":\"Notifications push\",\"notifications.column_settings.push_meta\":\"Cet appareil\",\"notifications.column_settings.reblog\":\"Partages :\",\"notifications.column_settings.show\":\"Afficher dans la colonne\",\"notifications.column_settings.sound\":\"Émettre un son\",\"onboarding.done\":\"Effectué\",\"onboarding.next\":\"Suivant\",\"onboarding.page_five.public_timelines\":\"Le fil public global affiche les posts de tou⋅te⋅s les utilisateur⋅ice⋅s suivi⋅es par les membres de {domain}. Le fil public local est identique mais se limite aux utilisateur⋅ice⋅s de {domain}.\",\"onboarding.page_four.home\":\"L’Accueil affiche les posts de tou⋅te⋅s les utilisateur⋅ice⋅s que vous suivez\",\"onboarding.page_four.notifications\":\"Les Notifications vous informent lorsque quelqu’un interagit avec vous\",\"onboarding.page_one.federation\":\"Mastodon est un réseau social qui appartient à tou⋅te⋅s.\",\"onboarding.page_one.handle\":\"Vous êtes sur {domain}, une des nombreuses instances indépendantes de Mastodon. Votre nom d’utilisateur⋅ice complet est {handle}\",\"onboarding.page_one.welcome\":\"Bienvenue sur Mastodon !\",\"onboarding.page_six.admin\":\"L’administrateur⋅ice de votre instance est {admin}\",\"onboarding.page_six.almost_done\":\"Nous y sommes presque…\",\"onboarding.page_six.appetoot\":\"Bon appouétit !\",\"onboarding.page_six.apps_available\":\"De nombreuses {apps} sont disponibles pour iOS, Android et autres. Et maintenant… Bon appouétit !\",\"onboarding.page_six.github\":\"Mastodon est un logiciel libre, gratuit et open-source. Vous pouvez rapporter des bogues, suggérer des fonctionnalités, ou contribuer à son développement sur {github}.\",\"onboarding.page_six.guidelines\":\"règles de la communauté\",\"onboarding.page_six.read_guidelines\":\"S’il vous plaît, n’oubliez pas de lire les {guidelines} !\",\"onboarding.page_six.various_app\":\"applications mobiles\",\"onboarding.page_three.profile\":\"Modifiez votre profil pour changer votre avatar, votre description ainsi que votre nom. Vous y trouverez également d’autres préférences.\",\"onboarding.page_three.search\":\"Utilisez la barre de recherche pour trouver des utilisateur⋅ice⋅s et regarder des hashtags tels que {illustration} et {introductions}. Pour trouver quelqu’un qui n’est pas sur cette instance, utilisez son nom d’utilisateur⋅ice complet.\",\"onboarding.page_two.compose\":\"Écrivez depuis la colonne de composition. Vous pouvez ajouter des images, changer les réglages de confidentialité, et ajouter des avertissements de contenu (Content Warning) grâce aux icônes en dessous.\",\"onboarding.skip\":\"Passer\",\"privacy.change\":\"Ajuster la confidentialité du message\",\"privacy.direct.long\":\"N’afficher que pour les personnes mentionnées\",\"privacy.direct.short\":\"Direct\",\"privacy.private.long\":\"N’afficher que pour vos abonné⋅e⋅s\",\"privacy.private.short\":\"Privé\",\"privacy.public.long\":\"Afficher dans les fils publics\",\"privacy.public.short\":\"Public\",\"privacy.unlisted.long\":\"Ne pas afficher dans les fils publics\",\"privacy.unlisted.short\":\"Non-listé\",\"relative_time.days\":\"{number} j\",\"relative_time.hours\":\"{number} h\",\"relative_time.just_now\":\"à l’instant\",\"relative_time.minutes\":\"{number} min\",\"relative_time.seconds\":\"{number} s\",\"reply_indicator.cancel\":\"Annuler\",\"report.placeholder\":\"Commentaires additionnels\",\"report.submit\":\"Envoyer\",\"report.target\":\"Signalement\",\"search.placeholder\":\"Rechercher\",\"search_popout.search_format\":\"Recherche avancée\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"statuts\",\"search_popout.tips.text\":\"Un texte simple renvoie les noms affichés, les noms d’utilisateur⋅ice et les hashtags correspondants\",\"search_popout.tips.user\":\"utilisateur⋅ice\",\"search_results.total\":\"{count, number} {count, plural, one {résultat} other {résultats}}\",\"standalone.public_title\":\"Jeter un coup d’œil…\",\"status.cannot_reblog\":\"Cette publication ne peut être boostée\",\"status.delete\":\"Effacer\",\"status.embed\":\"Intégrer\",\"status.favourite\":\"Ajouter aux favoris\",\"status.load_more\":\"Charger plus\",\"status.media_hidden\":\"Média caché\",\"status.mention\":\"Mentionner\",\"status.more\":\"Plus\",\"status.mute_conversation\":\"Masquer la conversation\",\"status.open\":\"Déplier ce statut\",\"status.pin\":\"Épingler sur le profil\",\"status.reblog\":\"Partager\",\"status.reblogged_by\":\"{name} a partagé :\",\"status.reply\":\"Répondre\",\"status.replyAll\":\"Répondre au fil\",\"status.report\":\"Signaler @{name}\",\"status.sensitive_toggle\":\"Cliquer pour afficher\",\"status.sensitive_warning\":\"Contenu sensible\",\"status.share\":\"Partager\",\"status.show_less\":\"Replier\",\"status.show_more\":\"Déplier\",\"status.unmute_conversation\":\"Ne plus masquer la conversation\",\"status.unpin\":\"Retirer du profil\",\"tabs_bar.compose\":\"Composer\",\"tabs_bar.federated_timeline\":\"Fil public global\",\"tabs_bar.home\":\"Accueil\",\"tabs_bar.local_timeline\":\"Fil public local\",\"tabs_bar.notifications\":\"Notifications\",\"upload_area.title\":\"Glissez et déposez pour envoyer\",\"upload_button.label\":\"Joindre un média\",\"upload_form.description\":\"Décrire pour les malvoyants\",\"upload_form.undo\":\"Annuler\",\"upload_progress.label\":\"Envoi en cours…\",\"video.close\":\"Fermer la vidéo\",\"video.exit_fullscreen\":\"Quitter plein écran\",\"video.expand\":\"Agrandir la vidéo\",\"video.fullscreen\":\"Plein écran\",\"video.hide\":\"Masquer la vidéo\",\"video.mute\":\"Couper le son\",\"video.pause\":\"Pause\",\"video.play\":\"Lecture\",\"video.unmute\":\"Rétablir le son\"}" + }, + { + "id": 687, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/fr.js", + "name": "./node_modules/react-intl/locale-data/fr.js", + "index": 846, + "index2": 845, + "size": 5111, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 53 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fr.js", + "issuerId": 685, + "issuerName": "./tmp/packs/locale_fr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 685, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fr.js", + "module": "./tmp/packs/locale_fr.js", + "moduleName": "./tmp/packs/locale_fr.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/fr.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a() : \"function\" == typeof define && define.amd ? define(a) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.fr = a());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"fr\", pluralRuleFunction: function (e, a) {\n return a ? 1 == e ? \"one\" : \"other\" : e >= 0 && e < 2 ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"année\", relative: { 0: \"cette année\", 1: \"l’année prochaine\", \"-1\": \"l’année dernière\" }, relativeTime: { future: { one: \"dans {0} an\", other: \"dans {0} ans\" }, past: { one: \"il y a {0} an\", other: \"il y a {0} ans\" } } }, month: { displayName: \"mois\", relative: { 0: \"ce mois-ci\", 1: \"le mois prochain\", \"-1\": \"le mois dernier\" }, relativeTime: { future: { one: \"dans {0} mois\", other: \"dans {0} mois\" }, past: { one: \"il y a {0} mois\", other: \"il y a {0} mois\" } } }, day: { displayName: \"jour\", relative: { 0: \"aujourd’hui\", 1: \"demain\", 2: \"après-demain\", \"-2\": \"avant-hier\", \"-1\": \"hier\" }, relativeTime: { future: { one: \"dans {0} jour\", other: \"dans {0} jours\" }, past: { one: \"il y a {0} jour\", other: \"il y a {0} jours\" } } }, hour: { displayName: \"heure\", relative: { 0: \"cette heure-ci\" }, relativeTime: { future: { one: \"dans {0} heure\", other: \"dans {0} heures\" }, past: { one: \"il y a {0} heure\", other: \"il y a {0} heures\" } } }, minute: { displayName: \"minute\", relative: { 0: \"cette minute-ci\" }, relativeTime: { future: { one: \"dans {0} minute\", other: \"dans {0} minutes\" }, past: { one: \"il y a {0} minute\", other: \"il y a {0} minutes\" } } }, second: { displayName: \"seconde\", relative: { 0: \"maintenant\" }, relativeTime: { future: { one: \"dans {0} seconde\", other: \"dans {0} secondes\" }, past: { one: \"il y a {0} seconde\", other: \"il y a {0} secondes\" } } } } }, { locale: \"fr-BE\", parentLocale: \"fr\" }, { locale: \"fr-BF\", parentLocale: \"fr\" }, { locale: \"fr-BI\", parentLocale: \"fr\" }, { locale: \"fr-BJ\", parentLocale: \"fr\" }, { locale: \"fr-BL\", parentLocale: \"fr\" }, { locale: \"fr-CA\", parentLocale: \"fr\", fields: { year: { displayName: \"année\", relative: { 0: \"cette année\", 1: \"l’année prochaine\", \"-1\": \"l’année dernière\" }, relativeTime: { future: { one: \"Dans {0} an\", other: \"Dans {0} ans\" }, past: { one: \"Il y a {0} an\", other: \"Il y a {0} ans\" } } }, month: { displayName: \"mois\", relative: { 0: \"ce mois-ci\", 1: \"le mois prochain\", \"-1\": \"le mois dernier\" }, relativeTime: { future: { one: \"dans {0} mois\", other: \"dans {0} mois\" }, past: { one: \"il y a {0} mois\", other: \"il y a {0} mois\" } } }, day: { displayName: \"jour\", relative: { 0: \"aujourd’hui\", 1: \"demain\", 2: \"après-demain\", \"-2\": \"avant-hier\", \"-1\": \"hier\" }, relativeTime: { future: { one: \"dans {0} jour\", other: \"dans {0} jours\" }, past: { one: \"il y a {0} jour\", other: \"il y a {0} jours\" } } }, hour: { displayName: \"heure\", relative: { 0: \"cette heure-ci\" }, relativeTime: { future: { one: \"dans {0} heure\", other: \"dans {0} heures\" }, past: { one: \"il y a {0} heure\", other: \"il y a {0} heures\" } } }, minute: { displayName: \"minute\", relative: { 0: \"cette minute-ci\" }, relativeTime: { future: { one: \"dans {0} minute\", other: \"dans {0} minutes\" }, past: { one: \"il y a {0} minute\", other: \"il y a {0} minutes\" } } }, second: { displayName: \"seconde\", relative: { 0: \"maintenant\" }, relativeTime: { future: { one: \"dans {0} seconde\", other: \"dans {0} secondes\" }, past: { one: \"il y a {0} seconde\", other: \"il y a {0} secondes\" } } } } }, { locale: \"fr-CD\", parentLocale: \"fr\" }, { locale: \"fr-CF\", parentLocale: \"fr\" }, { locale: \"fr-CG\", parentLocale: \"fr\" }, { locale: \"fr-CH\", parentLocale: \"fr\" }, { locale: \"fr-CI\", parentLocale: \"fr\" }, { locale: \"fr-CM\", parentLocale: \"fr\" }, { locale: \"fr-DJ\", parentLocale: \"fr\" }, { locale: \"fr-DZ\", parentLocale: \"fr\" }, { locale: \"fr-GA\", parentLocale: \"fr\" }, { locale: \"fr-GF\", parentLocale: \"fr\" }, { locale: \"fr-GN\", parentLocale: \"fr\" }, { locale: \"fr-GP\", parentLocale: \"fr\" }, { locale: \"fr-GQ\", parentLocale: \"fr\" }, { locale: \"fr-HT\", parentLocale: \"fr\" }, { locale: \"fr-KM\", parentLocale: \"fr\" }, { locale: \"fr-LU\", parentLocale: \"fr\" }, { locale: \"fr-MA\", parentLocale: \"fr\" }, { locale: \"fr-MC\", parentLocale: \"fr\" }, { locale: \"fr-MF\", parentLocale: \"fr\" }, { locale: \"fr-MG\", parentLocale: \"fr\" }, { locale: \"fr-ML\", parentLocale: \"fr\" }, { locale: \"fr-MQ\", parentLocale: \"fr\" }, { locale: \"fr-MR\", parentLocale: \"fr\" }, { locale: \"fr-MU\", parentLocale: \"fr\" }, { locale: \"fr-NC\", parentLocale: \"fr\" }, { locale: \"fr-NE\", parentLocale: \"fr\" }, { locale: \"fr-PF\", parentLocale: \"fr\" }, { locale: \"fr-PM\", parentLocale: \"fr\" }, { locale: \"fr-RE\", parentLocale: \"fr\" }, { locale: \"fr-RW\", parentLocale: \"fr\" }, { locale: \"fr-SC\", parentLocale: \"fr\" }, { locale: \"fr-SN\", parentLocale: \"fr\" }, { locale: \"fr-SY\", parentLocale: \"fr\" }, { locale: \"fr-TD\", parentLocale: \"fr\" }, { locale: \"fr-TG\", parentLocale: \"fr\" }, { locale: \"fr-TN\", parentLocale: \"fr\" }, { locale: \"fr-VU\", parentLocale: \"fr\" }, { locale: \"fr-WF\", parentLocale: \"fr\" }, { locale: \"fr-YT\", parentLocale: \"fr\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 685, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fr.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fr.js", + "moduleName": "./tmp/packs/locale_fr.js", + "loc": "", + "name": "locale_fr", + "reasons": [] + } + ] + }, + { + "id": 54, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 13208, + "names": [ + "locale_fi" + ], + "files": [ + "locale_fi-a0bb536510dfb7fe46e7.js", + "locale_fi-a0bb536510dfb7fe46e7.js.map" + ], + "hash": "a0bb536510dfb7fe46e7", + "parents": [ + 65 + ], + "modules": [ + { + "id": 682, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fi.js", + "name": "./tmp/packs/locale_fi.js", + "index": 841, + "index2": 843, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 54 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_fi.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/fi.json';\nimport localeData from \"react-intl/locale-data/fi.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 683, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/fi.json", + "name": "./app/javascript/mastodon/locales/fi.json", + "index": 842, + "index2": 841, + "size": 10951, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 54 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fi.js", + "issuerId": 682, + "issuerName": "./tmp/packs/locale_fi.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 682, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fi.js", + "module": "./tmp/packs/locale_fi.js", + "moduleName": "./tmp/packs/locale_fi.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/fi.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Estä @{name}\",\"account.block_domain\":\"Hide everything from {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Muokkaa\",\"account.follow\":\"Seuraa\",\"account.followers\":\"Seuraajia\",\"account.follows\":\"Seuraa\",\"account.follows_you\":\"Seuraa sinua\",\"account.media\":\"Media\",\"account.mention\":\"Mainitse @{name}\",\"account.mute\":\"Mute @{name}\",\"account.posts\":\"Postit\",\"account.report\":\"Report @{name}\",\"account.requested\":\"Odottaa hyväksyntää\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Salli @{name}\",\"account.unblock_domain\":\"Unhide {domain}\",\"account.unfollow\":\"Lopeta seuraaminen\",\"account.unmute\":\"Unmute @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"You can press {combo} to skip this next time\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Blocked users\",\"column.community\":\"Paikallinen aikajana\",\"column.favourites\":\"Favourites\",\"column.follow_requests\":\"Follow requests\",\"column.home\":\"Koti\",\"column.mutes\":\"Muted users\",\"column.notifications\":\"Ilmoitukset\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Yleinen aikajana\",\"column_back_button.label\":\"Takaisin\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Settings\",\"compose_form.lock_disclaimer\":\"Your account is not {locked}. Anyone can follow you to view your follower-only posts.\",\"compose_form.lock_disclaimer.lock\":\"locked\",\"compose_form.placeholder\":\"Mitä sinulla on mielessä?\",\"compose_form.publish\":\"Toot\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Merkitse media herkäksi\",\"compose_form.spoiler\":\"Piiloita teksti varoituksen taakse\",\"compose_form.spoiler_placeholder\":\"Content warning\",\"confirmation_modal.cancel\":\"Cancel\",\"confirmations.block.confirm\":\"Block\",\"confirmations.block.message\":\"Are you sure you want to block {name}?\",\"confirmations.delete.confirm\":\"Delete\",\"confirmations.delete.message\":\"Are you sure you want to delete this status?\",\"confirmations.domain_block.confirm\":\"Hide entire domain\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Mute\",\"confirmations.mute.message\":\"Are you sure you want to mute {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Activity\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Flags\",\"emoji_button.food\":\"Food & Drink\",\"emoji_button.label\":\"Insert emoji\",\"emoji_button.nature\":\"Nature\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objects\",\"emoji_button.people\":\"People\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Search...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Symbols\",\"emoji_button.travel\":\"Travel & Places\",\"empty_column.community\":\"The local timeline is empty. Write something publicly to get the ball rolling!\",\"empty_column.hashtag\":\"There is nothing in this hashtag yet.\",\"empty_column.home\":\"Your home timeline is empty! Visit {public} or use search to get started and meet other users.\",\"empty_column.home.public_timeline\":\"the public timeline\",\"empty_column.notifications\":\"You don't have any notifications yet. Interact with others to start the conversation.\",\"empty_column.public\":\"There is nothing here! Write something publicly, or manually follow users from other instances to fill it up\",\"follow_request.authorize\":\"Authorize\",\"follow_request.reject\":\"Reject\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Aloitus\",\"getting_started.open_source_notice\":\"Mastodon Mastodon on avoimen lähdekoodin ohjelma. Voit avustaa tai raportoida ongelmia GitHub palvelussa {github}.\",\"getting_started.userguide\":\"User Guide\",\"home.column_settings.advanced\":\"Advanced\",\"home.column_settings.basic\":\"Basic\",\"home.column_settings.filter_regex\":\"Filter out by regular expressions\",\"home.column_settings.show_reblogs\":\"Show boosts\",\"home.column_settings.show_replies\":\"Show replies\",\"home.settings\":\"Column settings\",\"lightbox.close\":\"Sulje\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Ladataan...\",\"media_gallery.toggle_visible\":\"Toggle visibility\",\"missing_indicator.label\":\"Not found\",\"navigation_bar.blocks\":\"Blocked users\",\"navigation_bar.community_timeline\":\"Paikallinen aikajana\",\"navigation_bar.edit_profile\":\"Muokkaa profiilia\",\"navigation_bar.favourites\":\"Favourites\",\"navigation_bar.follow_requests\":\"Follow requests\",\"navigation_bar.info\":\"Extended information\",\"navigation_bar.logout\":\"Kirjaudu ulos\",\"navigation_bar.mutes\":\"Muted users\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Ominaisuudet\",\"navigation_bar.public_timeline\":\"Yleinen aikajana\",\"notification.favourite\":\"{name} tykkäsi statuksestasi\",\"notification.follow\":\"{name} seurasi sinua\",\"notification.mention\":\"{name} mainitsi sinut\",\"notification.reblog\":\"{name} buustasi statustasi\",\"notifications.clear\":\"Clear notifications\",\"notifications.clear_confirmation\":\"Are you sure you want to permanently clear all your notifications?\",\"notifications.column_settings.alert\":\"Työpöytä ilmoitukset\",\"notifications.column_settings.favourite\":\"Tykkäyksiä:\",\"notifications.column_settings.follow\":\"Uusia seuraajia:\",\"notifications.column_settings.mention\":\"Mainintoja:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Buusteja:\",\"notifications.column_settings.show\":\"Näytä sarakkeessa\",\"notifications.column_settings.sound\":\"Play sound\",\"onboarding.done\":\"Done\",\"onboarding.next\":\"Next\",\"onboarding.page_five.public_timelines\":\"The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.\",\"onboarding.page_four.home\":\"The home timeline shows posts from people you follow.\",\"onboarding.page_four.notifications\":\"The notifications column shows when someone interacts with you.\",\"onboarding.page_one.federation\":\"Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.\",\"onboarding.page_one.handle\":\"You are on {domain}, so your full handle is {handle}\",\"onboarding.page_one.welcome\":\"Welcome to Mastodon!\",\"onboarding.page_six.admin\":\"Your instance's admin is {admin}.\",\"onboarding.page_six.almost_done\":\"Almost done...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"There are {apps} available for iOS, Android and other platforms.\",\"onboarding.page_six.github\":\"Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.\",\"onboarding.page_six.guidelines\":\"community guidelines\",\"onboarding.page_six.read_guidelines\":\"Please read {domain}'s {guidelines}!\",\"onboarding.page_six.various_app\":\"mobile apps\",\"onboarding.page_three.profile\":\"Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.\",\"onboarding.page_three.search\":\"Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.\",\"onboarding.page_two.compose\":\"Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.\",\"onboarding.skip\":\"Skip\",\"privacy.change\":\"Adjust status privacy\",\"privacy.direct.long\":\"Post to mentioned users only\",\"privacy.direct.short\":\"Direct\",\"privacy.private.long\":\"Post to followers only\",\"privacy.private.short\":\"Followers-only\",\"privacy.public.long\":\"Post to public timelines\",\"privacy.public.short\":\"Public\",\"privacy.unlisted.long\":\"Do not show in public timelines\",\"privacy.unlisted.short\":\"Unlisted\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Peruuta\",\"report.placeholder\":\"Additional comments\",\"report.submit\":\"Submit\",\"report.target\":\"Reporting\",\"search.placeholder\":\"Hae\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {result} other {results}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"This post cannot be boosted\",\"status.delete\":\"Poista\",\"status.embed\":\"Embed\",\"status.favourite\":\"Tykkää\",\"status.load_more\":\"Load more\",\"status.media_hidden\":\"Media hidden\",\"status.mention\":\"Mainitse @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Mute conversation\",\"status.open\":\"Expand this status\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Buustaa\",\"status.reblogged_by\":\"{name} buustasi\",\"status.reply\":\"Vastaa\",\"status.replyAll\":\"Reply to thread\",\"status.report\":\"Report @{name}\",\"status.sensitive_toggle\":\"Klikkaa nähdäksesi\",\"status.sensitive_warning\":\"Arkaluontoista sisältöä\",\"status.share\":\"Share\",\"status.show_less\":\"Show less\",\"status.show_more\":\"Show more\",\"status.unmute_conversation\":\"Unmute conversation\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Luo\",\"tabs_bar.federated_timeline\":\"Federated\",\"tabs_bar.home\":\"Koti\",\"tabs_bar.local_timeline\":\"Local\",\"tabs_bar.notifications\":\"Ilmoitukset\",\"upload_area.title\":\"Drag & drop to upload\",\"upload_button.label\":\"Lisää mediaa\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Peru\",\"upload_progress.label\":\"Uploading...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 684, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/fi.js", + "name": "./node_modules/react-intl/locale-data/fi.js", + "index": 843, + "index2": 842, + "size": 1932, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 54 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fi.js", + "issuerId": 682, + "issuerName": "./tmp/packs/locale_fi.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 682, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fi.js", + "module": "./tmp/packs/locale_fi.js", + "moduleName": "./tmp/packs/locale_fi.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/fi.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (t, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = e() : \"function\" == typeof define && define.amd ? define(e) : (t.ReactIntlLocaleData = t.ReactIntlLocaleData || {}, t.ReactIntlLocaleData.fi = e());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"fi\", pluralRuleFunction: function (t, e) {\n var n = !String(t).split(\".\")[1];return e ? \"other\" : 1 == t && n ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"vuosi\", relative: { 0: \"tänä vuonna\", 1: \"ensi vuonna\", \"-1\": \"viime vuonna\" }, relativeTime: { future: { one: \"{0} vuoden päästä\", other: \"{0} vuoden päästä\" }, past: { one: \"{0} vuosi sitten\", other: \"{0} vuotta sitten\" } } }, month: { displayName: \"kuukausi\", relative: { 0: \"tässä kuussa\", 1: \"ensi kuussa\", \"-1\": \"viime kuussa\" }, relativeTime: { future: { one: \"{0} kuukauden päästä\", other: \"{0} kuukauden päästä\" }, past: { one: \"{0} kuukausi sitten\", other: \"{0} kuukautta sitten\" } } }, day: { displayName: \"päivä\", relative: { 0: \"tänään\", 1: \"huomenna\", 2: \"ylihuomenna\", \"-2\": \"toissa päivänä\", \"-1\": \"eilen\" }, relativeTime: { future: { one: \"{0} päivän päästä\", other: \"{0} päivän päästä\" }, past: { one: \"{0} päivä sitten\", other: \"{0} päivää sitten\" } } }, hour: { displayName: \"tunti\", relative: { 0: \"tämän tunnin aikana\" }, relativeTime: { future: { one: \"{0} tunnin päästä\", other: \"{0} tunnin päästä\" }, past: { one: \"{0} tunti sitten\", other: \"{0} tuntia sitten\" } } }, minute: { displayName: \"minuutti\", relative: { 0: \"tämän minuutin aikana\" }, relativeTime: { future: { one: \"{0} minuutin päästä\", other: \"{0} minuutin päästä\" }, past: { one: \"{0} minuutti sitten\", other: \"{0} minuuttia sitten\" } } }, second: { displayName: \"sekunti\", relative: { 0: \"nyt\" }, relativeTime: { future: { one: \"{0} sekunnin päästä\", other: \"{0} sekunnin päästä\" }, past: { one: \"{0} sekunti sitten\", other: \"{0} sekuntia sitten\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 682, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fi.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fi.js", + "moduleName": "./tmp/packs/locale_fi.js", + "loc": "", + "name": "locale_fi", + "reasons": [] + } + ] + }, + { + "id": 55, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 13004, + "names": [ + "locale_fa" + ], + "files": [ + "locale_fa-36da2b4b7fce9ee445d4.js", + "locale_fa-36da2b4b7fce9ee445d4.js.map" + ], + "hash": "36da2b4b7fce9ee445d4", + "parents": [ + 65 + ], + "modules": [ + { + "id": 679, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fa.js", + "name": "./tmp/packs/locale_fa.js", + "index": 838, + "index2": 840, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 55 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_fa.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/fa.json';\nimport localeData from \"react-intl/locale-data/fa.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 680, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/fa.json", + "name": "./app/javascript/mastodon/locales/fa.json", + "index": 839, + "index2": 838, + "size": 10954, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 55 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fa.js", + "issuerId": 679, + "issuerName": "./tmp/packs/locale_fa.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 679, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fa.js", + "module": "./tmp/packs/locale_fa.js", + "moduleName": "./tmp/packs/locale_fa.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/fa.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"مسدودسازی @{name}\",\"account.block_domain\":\"پنهان‌سازی همه چیز از سرور {domain}\",\"account.disclaimer_full\":\"اطلاعات زیر ممکن است نمایهٔ این کاربر را به تمامی نشان ندهد.\",\"account.edit_profile\":\"ویرایش نمایه\",\"account.follow\":\"پی بگیرید\",\"account.followers\":\"پیگیران\",\"account.follows\":\"پی می‌گیرد\",\"account.follows_you\":\"پیگیر شماست\",\"account.media\":\"رسانه\",\"account.mention\":\"نام‌بردن از @{name}\",\"account.mute\":\"بی‌صدا کردن @{name}\",\"account.posts\":\"نوشته‌ها\",\"account.report\":\"گزارش @{name}\",\"account.requested\":\"در انتظار پذیرش\",\"account.share\":\"هم‌رسانی نمایهٔ @{name}\",\"account.unblock\":\"رفع انسداد @{name}\",\"account.unblock_domain\":\"رفع پنهان‌سازی از {domain}\",\"account.unfollow\":\"پایان پیگیری\",\"account.unmute\":\"باصدا کردن @{name}\",\"account.view_full_profile\":\"نمایش نمایهٔ کامل\",\"boost_modal.combo\":\"دکمهٔ {combo} را بزنید تا دیگر این را نبینید\",\"bundle_column_error.body\":\"هنگام بازکردن این بخش خطایی رخ داد.\",\"bundle_column_error.retry\":\"تلاش دوباره\",\"bundle_column_error.title\":\"خطای شبکه\",\"bundle_modal_error.close\":\"بستن\",\"bundle_modal_error.message\":\"هنگام بازکردن این بخش خطایی رخ داد.\",\"bundle_modal_error.retry\":\"تلاش دوباره\",\"column.blocks\":\"کاربران مسدودشده\",\"column.community\":\"نوشته‌های محلی\",\"column.favourites\":\"پسندیده‌ها\",\"column.follow_requests\":\"درخواست‌های پیگیری\",\"column.home\":\"خانه\",\"column.mutes\":\"کاربران بی‌صداشده\",\"column.notifications\":\"اعلان‌ها\",\"column.pins\":\"نوشته‌های ثابت\",\"column.public\":\"نوشته‌های همه‌جا\",\"column_back_button.label\":\"بازگشت\",\"column_header.hide_settings\":\"نهفتن تنظیمات\",\"column_header.moveLeft_settings\":\"انتقال ستون به چپ\",\"column_header.moveRight_settings\":\"انتقال ستون به راست\",\"column_header.pin\":\"ثابت‌کردن\",\"column_header.show_settings\":\"نمایش تنظیمات\",\"column_header.unpin\":\"رهاکردن\",\"column_subheading.navigation\":\"گشت و گذار\",\"column_subheading.settings\":\"تنظیمات\",\"compose_form.lock_disclaimer\":\"حساب شما {locked} نیست. هر کسی می‌تواند پیگیر شما شود و نوشته‌های ویژهٔ پیگیران شما را ببیند.\",\"compose_form.lock_disclaimer.lock\":\"قفل\",\"compose_form.placeholder\":\"تازه چه خبر؟\",\"compose_form.publish\":\"بوق\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"تصاویر حساس هستند\",\"compose_form.spoiler\":\"نوشته را پشت هشدار پنهان کنید\",\"compose_form.spoiler_placeholder\":\"هشدار محتوا\",\"confirmation_modal.cancel\":\"بی‌خیال\",\"confirmations.block.confirm\":\"مسدود کن\",\"confirmations.block.message\":\"آیا واقعاً می‌خواهید {name} را مسدود کنید؟\",\"confirmations.delete.confirm\":\"پاک کن\",\"confirmations.delete.message\":\"آیا واقعاً می‌خواهید این نوشته را پاک کنید؟\",\"confirmations.domain_block.confirm\":\"پنهان‌سازی کل دامین\",\"confirmations.domain_block.message\":\"آیا جدی جدی می‌خواهید کل دامین {domain} را مسدود کنید؟ بیشتر وقت‌ها مسدودکردن یا بی‌صداکردن چند حساب کاربری خاص کافی است و توصیه می‌شود.\",\"confirmations.mute.confirm\":\"بی‌صدا کن\",\"confirmations.mute.message\":\"آیا واقعاً می‌خواهید {name} را بی‌صدا کنید؟\",\"confirmations.unfollow.confirm\":\"لغو پیگیری\",\"confirmations.unfollow.message\":\"آیا واقعاً می‌خواهید به پیگیری از {name} پایان دهید؟\",\"embed.instructions\":\"برای جاگذاری این نوشته در سایت خودتان، کد زیر را کپی کنید.\",\"embed.preview\":\"نوشتهٔ جاگذاری‌شده این گونه به نظر خواهد رسید:\",\"emoji_button.activity\":\"فعالیت\",\"emoji_button.custom\":\"سفارشی\",\"emoji_button.flags\":\"پرچم‌ها\",\"emoji_button.food\":\"غذا و نوشیدنی\",\"emoji_button.label\":\"افزودن شکلک\",\"emoji_button.nature\":\"طبیعت\",\"emoji_button.not_found\":\"این‌جا شکلکی نیست!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"اشیا\",\"emoji_button.people\":\"مردم\",\"emoji_button.recent\":\"زیاد به‌کاررفته\",\"emoji_button.search\":\"جستجو...\",\"emoji_button.search_results\":\"نتایج جستجو\",\"emoji_button.symbols\":\"نمادها\",\"emoji_button.travel\":\"سفر و مکان\",\"empty_column.community\":\"فهرست نوشته‌های محلی خالی است. چیزی بنویسید تا چرخش بچرخد!\",\"empty_column.hashtag\":\"هنوز هیچ چیزی با این هشتگ نیست.\",\"empty_column.home\":\"شما هنوز پیگیر کسی نیستید. {public} را ببینید یا چیزی را جستجو کنید تا کاربران دیگر را ببینید.\",\"empty_column.home.public_timeline\":\"فهرست نوشته‌های همه‌جا\",\"empty_column.notifications\":\"هنوز هیچ اعلانی ندارید. به نوشته‌های دیگران واکنش نشان دهید تا گفتگو آغاز شود.\",\"empty_column.public\":\"این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران دیگر را پی بگیرید تا این‌جا پر شود\",\"follow_request.authorize\":\"اجازه دهید\",\"follow_request.reject\":\"اجازه ندهید\",\"getting_started.appsshort\":\"اپ‌ها\",\"getting_started.faq\":\"پرسش‌های رایج\",\"getting_started.heading\":\"آغاز کنید\",\"getting_started.open_source_notice\":\"ماستدون یک نرم‌افزار آزاد است. می‌توانید در ساخت آن مشارکت کنید یا مشکلاتش را در {github} گزارش دهید.\",\"getting_started.userguide\":\"راهنمای کاربری\",\"home.column_settings.advanced\":\"پیشرفته\",\"home.column_settings.basic\":\"اصلی\",\"home.column_settings.filter_regex\":\"با عبارت‌های باقاعده فیلتر کنید\",\"home.column_settings.show_reblogs\":\"نمایش بازبوق‌ها\",\"home.column_settings.show_replies\":\"نمایش پاسخ‌ها\",\"home.settings\":\"تنظیمات ستون\",\"lightbox.close\":\"بستن\",\"lightbox.next\":\"بعدی\",\"lightbox.previous\":\"قبلی\",\"loading_indicator.label\":\"بارگیری...\",\"media_gallery.toggle_visible\":\"تغییر پیدایی\",\"missing_indicator.label\":\"پیدا نشد\",\"navigation_bar.blocks\":\"کاربران مسدودشده\",\"navigation_bar.community_timeline\":\"نوشته‌های محلی\",\"navigation_bar.edit_profile\":\"ویرایش نمایه\",\"navigation_bar.favourites\":\"پسندیده‌ها\",\"navigation_bar.follow_requests\":\"درخواست‌های پیگیری\",\"navigation_bar.info\":\"اطلاعات تکمیلی\",\"navigation_bar.logout\":\"خروج\",\"navigation_bar.mutes\":\"کاربران بی‌صداشده\",\"navigation_bar.pins\":\"نوشته‌های ثابت\",\"navigation_bar.preferences\":\"ترجیحات\",\"navigation_bar.public_timeline\":\"نوشته‌های همه‌جا\",\"notification.favourite\":\"‫{name}‬ نوشتهٔ شما را پسندید\",\"notification.follow\":\"‫{name}‬ پیگیر شما شد\",\"notification.mention\":\"‫{name}‬ از شما نام برد\",\"notification.reblog\":\"‫{name}‬ نوشتهٔ شما را بازبوقید\",\"notifications.clear\":\"پاک‌کردن اعلان‌ها\",\"notifications.clear_confirmation\":\"واقعاً می‌خواهید همهٔ اعلان‌هایتان را برای همیشه پاک کنید؟\",\"notifications.column_settings.alert\":\"اعلان در کامپیوتر\",\"notifications.column_settings.favourite\":\"پسندیده‌ها:\",\"notifications.column_settings.follow\":\"پیگیران تازه:\",\"notifications.column_settings.mention\":\"نام‌بردن‌ها:\",\"notifications.column_settings.push\":\"اعلان‌ها از سمت سرور\",\"notifications.column_settings.push_meta\":\"این دستگاه\",\"notifications.column_settings.reblog\":\"بازبوق‌ها:\",\"notifications.column_settings.show\":\"نمایش در ستون\",\"notifications.column_settings.sound\":\"پخش صدا\",\"onboarding.done\":\"پایان\",\"onboarding.next\":\"بعدی\",\"onboarding.page_five.public_timelines\":\"نوشته‌های محلی یعنی نوشته‌های همهٔ کاربران {domain}. نوشته‌های همه‌جا یعنی نوشته‌های همهٔ کسانی که کاربران {domain} آن‌ها را پی می‌گیرند. این فهرست‌های عمومی راه خوبی برای یافتن کاربران تازه هستند.\",\"onboarding.page_four.home\":\"ستون «خانه» نوشته‌های کسانی را نشان می‌دهد که شما پی می‌گیرید.\",\"onboarding.page_four.notifications\":\"ستون «اعلان‌ها» ارتباط‌های شما با دیگران را نشان می‌دهد.\",\"onboarding.page_one.federation\":\"ماستدون شبکه‌ای از سرورهای مستقل است که با پیوستن به یکدیگر یک شبکهٔ اجتماعی بزرگ را تشکیل می‌دهند.\",\"onboarding.page_one.handle\":\"شما روی سرور {domain} هستید، بنابراین شناسهٔ کامل شما {handle} است.\",\"onboarding.page_one.welcome\":\"به ماستدون خوش آمدید!\",\"onboarding.page_six.admin\":\"نشانی مسئول سرور شما {admin} است.\",\"onboarding.page_six.almost_done\":\"الان تقریباً آماده‌اید...\",\"onboarding.page_six.appetoot\":\"بوق! بوق!\",\"onboarding.page_six.apps_available\":\"اپ‌های گوناگونی برای اندروید، iOS، و سیستم‌های دیگر موجود است.\",\"onboarding.page_six.github\":\"ماستدون یک نرم‌افزار آزاد و کدباز است. در {github} می‌توانید مشکلاتش را گزارش دهید، ویژگی‌های تازه درخواست کنید، یا در کدهایش مشارکت داشته باشید.\",\"onboarding.page_six.guidelines\":\"رهنمودهای همزیستی دوستانهٔ\",\"onboarding.page_six.read_guidelines\":\"لطفاً {guidelines} {domain} را بخوانید!\",\"onboarding.page_six.various_app\":\"اپ‌های موبایل\",\"onboarding.page_three.profile\":\"با ویرایش نمایه می‌توانید تصویر نمایه، نوشتهٔ معرفی، و نام نمایشی خود را تغییر دهید. ترجیحات دیگر شما هم آن‌جاست.\",\"onboarding.page_three.search\":\"در نوار جستجو می‌توانید کاربران دیگر را بیابید یا هشتگ‌ها را ببینید، مانند {illustration} یا {introductions}. برای یافتن افرادی که روی سرورهای دیگر هستند، شناسهٔ کامل آن‌ها را بنویسید.\",\"onboarding.page_two.compose\":\"در ستون «نوشتن» می‌توانید نوشته‌های تازه بنویسید. همچنین با دکمه‌های زیرش می‌توانید تصویر اضافه کنید، حریم خصوصی نوشته را تنظیم کنید، و هشدار محتوا بگذارید.\",\"onboarding.skip\":\"رد کن\",\"privacy.change\":\"تنظیم حریم خصوصی نوشته‌ها\",\"privacy.direct.long\":\"تنها به کاربران نام‌برده‌شده نشان بده\",\"privacy.direct.short\":\"مستقیم\",\"privacy.private.long\":\"تنها به پیگیران نشان بده\",\"privacy.private.short\":\"خصوصی\",\"privacy.public.long\":\"در فهرست عمومی نشان بده\",\"privacy.public.short\":\"عمومی\",\"privacy.unlisted.long\":\"عمومی، ولی فهرست نکن\",\"privacy.unlisted.short\":\"فهرست‌نشده\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"لغو\",\"report.placeholder\":\"توضیح اضافه\",\"report.submit\":\"بفرست\",\"report.target\":\"گزارش‌دادن\",\"search.placeholder\":\"جستجو\",\"search_popout.search_format\":\"راهنمای جستجوی پیشرفته\",\"search_popout.tips.hashtag\":\"هشتگ\",\"search_popout.tips.status\":\"نوشته\",\"search_popout.tips.text\":\"جستجوی متنی ساده برای نام‌ها، نام‌های کاربری، و هشتگ‌ها\",\"search_popout.tips.user\":\"کاربر\",\"search_results.total\":\"{count, number} {count, plural, one {نتیجه} other {نتیجه}}\",\"standalone.public_title\":\"نگاهی به کاربران این سرور...\",\"status.cannot_reblog\":\"این نوشته را نمی‌شود بازبوقید\",\"status.delete\":\"پاک‌کردن\",\"status.embed\":\"جاگذاری\",\"status.favourite\":\"پسندیدن\",\"status.load_more\":\"بیشتر نشان بده\",\"status.media_hidden\":\"تصویر پنهان شده\",\"status.mention\":\"نام‌بردن از @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"بی‌صداکردن گفتگو\",\"status.open\":\"این نوشته را باز کن\",\"status.pin\":\"نوشتهٔ ثابت نمایه\",\"status.reblog\":\"بازبوقیدن\",\"status.reblogged_by\":\"‫{name}‬ بازبوقید\",\"status.reply\":\"پاسخ\",\"status.replyAll\":\"به نوشته پاسخ دهید\",\"status.report\":\"گزارش دادن @{name}\",\"status.sensitive_toggle\":\"برای دیدن کلیک کنید\",\"status.sensitive_warning\":\"محتوای حساس\",\"status.share\":\"هم‌رسانی\",\"status.show_less\":\"نهفتن\",\"status.show_more\":\"نمایش\",\"status.unmute_conversation\":\"باصداکردن گفتگو\",\"status.unpin\":\"برداشتن نوشتهٔ ثابت نمایه\",\"tabs_bar.compose\":\"بنویسید\",\"tabs_bar.federated_timeline\":\"همگانی\",\"tabs_bar.home\":\"خانه\",\"tabs_bar.local_timeline\":\"محلی\",\"tabs_bar.notifications\":\"اعلان‌ها\",\"upload_area.title\":\"برای بارگذاری به این‌جا بکشید\",\"upload_button.label\":\"افزودن تصویر\",\"upload_form.description\":\"نوشتهٔ توضیحی برای کم‌بینایان و نابینایان\",\"upload_form.undo\":\"واگردانی\",\"upload_progress.label\":\"بارگذاری...\",\"video.close\":\"بستن ویدیو\",\"video.exit_fullscreen\":\"خروج از حالت تمام صفحه\",\"video.expand\":\"بزرگ‌کردن ویدیو\",\"video.fullscreen\":\"تمام صفحه\",\"video.hide\":\"نهفتن ویدیو\",\"video.mute\":\"قطع صدا\",\"video.pause\":\"توقف\",\"video.play\":\"پخش\",\"video.unmute\":\"پخش صدا\"}" + }, + { + "id": 681, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/fa.js", + "name": "./node_modules/react-intl/locale-data/fa.js", + "index": 840, + "index2": 839, + "size": 1725, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 55 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fa.js", + "issuerId": 679, + "issuerName": "./tmp/packs/locale_fa.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 679, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fa.js", + "module": "./tmp/packs/locale_fa.js", + "moduleName": "./tmp/packs/locale_fa.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/fa.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.fa = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"fa\", pluralRuleFunction: function (e, t) {\n return t ? \"other\" : e >= 0 && e <= 1 ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"سال\", relative: { 0: \"امسال\", 1: \"سال آینده\", \"-1\": \"سال گذشته\" }, relativeTime: { future: { one: \"{0} سال بعد\", other: \"{0} سال بعد\" }, past: { one: \"{0} سال پیش\", other: \"{0} سال پیش\" } } }, month: { displayName: \"ماه\", relative: { 0: \"این ماه\", 1: \"ماه آینده\", \"-1\": \"ماه گذشته\" }, relativeTime: { future: { one: \"{0} ماه بعد\", other: \"{0} ماه بعد\" }, past: { one: \"{0} ماه پیش\", other: \"{0} ماه پیش\" } } }, day: { displayName: \"روز\", relative: { 0: \"امروز\", 1: \"فردا\", 2: \"پس‌فردا\", \"-2\": \"پریروز\", \"-1\": \"دیروز\" }, relativeTime: { future: { one: \"{0} روز بعد\", other: \"{0} روز بعد\" }, past: { one: \"{0} روز پیش\", other: \"{0} روز پیش\" } } }, hour: { displayName: \"ساعت\", relative: { 0: \"همین ساعت\" }, relativeTime: { future: { one: \"{0} ساعت بعد\", other: \"{0} ساعت بعد\" }, past: { one: \"{0} ساعت پیش\", other: \"{0} ساعت پیش\" } } }, minute: { displayName: \"دقیقه\", relative: { 0: \"همین دقیقه\" }, relativeTime: { future: { one: \"{0} دقیقه بعد\", other: \"{0} دقیقه بعد\" }, past: { one: \"{0} دقیقه پیش\", other: \"{0} دقیقه پیش\" } } }, second: { displayName: \"ثانیه\", relative: { 0: \"اکنون\" }, relativeTime: { future: { one: \"{0} ثانیه بعد\", other: \"{0} ثانیه بعد\" }, past: { one: \"{0} ثانیه پیش\", other: \"{0} ثانیه پیش\" } } } } }, { locale: \"fa-AF\", parentLocale: \"fa\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 679, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fa.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fa.js", + "moduleName": "./tmp/packs/locale_fa.js", + "loc": "", + "name": "locale_fa", + "reasons": [] + } + ] + }, + { + "id": 56, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 27391, + "names": [ + "locale_es" + ], + "files": [ + "locale_es-26cf29fe0ea58c648317.js", + "locale_es-26cf29fe0ea58c648317.js.map" + ], + "hash": "26cf29fe0ea58c648317", + "parents": [ + 65 + ], + "modules": [ + { + "id": 676, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_es.js", + "name": "./tmp/packs/locale_es.js", + "index": 835, + "index2": 837, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 56 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_es.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/es.json';\nimport localeData from \"react-intl/locale-data/es.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 677, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/es.json", + "name": "./app/javascript/mastodon/locales/es.json", + "index": 836, + "index2": 835, + "size": 11467, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 56 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_es.js", + "issuerId": 676, + "issuerName": "./tmp/packs/locale_es.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 676, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_es.js", + "module": "./tmp/packs/locale_es.js", + "moduleName": "./tmp/packs/locale_es.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/es.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Bloquear\",\"account.block_domain\":\"Ocultar todo de {domain}\",\"account.disclaimer_full\":\"La siguiente información del usuario puede estar incompleta.\",\"account.edit_profile\":\"Editar perfil\",\"account.follow\":\"Seguir\",\"account.followers\":\"Seguidores\",\"account.follows\":\"Sigue\",\"account.follows_you\":\"Te sigue\",\"account.media\":\"Media\",\"account.mention\":\"Mencionar a @{name}\",\"account.mute\":\"Silenciar a @{name}\",\"account.posts\":\"Publicaciones\",\"account.report\":\"Reportar a @{name}\",\"account.requested\":\"Esperando aprobación\",\"account.share\":\"Compartir el perfil de @{name}\",\"account.unblock\":\"Desbloquear a @{name}\",\"account.unblock_domain\":\"Mostrar a {domain}\",\"account.unfollow\":\"Dejar de seguir\",\"account.unmute\":\"Dejar de silenciar a @{name}\",\"account.view_full_profile\":\"Ver perfil completo\",\"boost_modal.combo\":\"Puedes presionar {combo} para saltear este aviso la próxima vez\",\"bundle_column_error.body\":\"Algo salió mal al cargar este componente.\",\"bundle_column_error.retry\":\"Inténtalo de nuevo\",\"bundle_column_error.title\":\"Error de red\",\"bundle_modal_error.close\":\"Cerrar\",\"bundle_modal_error.message\":\"Algo salió mal al cargar este componente.\",\"bundle_modal_error.retry\":\"Inténtalo de nuevo\",\"column.blocks\":\"Usuarios bloqueados\",\"column.community\":\"Línea de tiempo local\",\"column.favourites\":\"Favoritos\",\"column.follow_requests\":\"Solicitudes de seguimiento\",\"column.home\":\"Inicio\",\"column.mutes\":\"Usuarios silenciados\",\"column.notifications\":\"Notificaciones\",\"column.pins\":\"Toot fijado\",\"column.public\":\"Historia federada\",\"column_back_button.label\":\"Atrás\",\"column_header.hide_settings\":\"Ocultar ajustes\",\"column_header.moveLeft_settings\":\"Mover columna a la izquierda\",\"column_header.moveRight_settings\":\"Mover columna a la derecha\",\"column_header.pin\":\"Fijar\",\"column_header.show_settings\":\"Mostrar ajustes\",\"column_header.unpin\":\"Dejar de fijar\",\"column_subheading.navigation\":\"Navegación\",\"column_subheading.settings\":\"Ajustes\",\"compose_form.lock_disclaimer\":\"Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.\",\"compose_form.lock_disclaimer.lock\":\"bloqueado\",\"compose_form.placeholder\":\"¿En qué estás pensando?\",\"compose_form.publish\":\"Tootear\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Marcar contenido como sensible\",\"compose_form.spoiler\":\"Ocultar texto tras una advertencia\",\"compose_form.spoiler_placeholder\":\"Advertencia de contenido\",\"confirmation_modal.cancel\":\"Cancelar\",\"confirmations.block.confirm\":\"Bloquear\",\"confirmations.block.message\":\"¿Estás seguro de que quieres bloquear a {name}?\",\"confirmations.delete.confirm\":\"Eliminar\",\"confirmations.delete.message\":\"¿Estás seguro de que quieres borrar este toot?\",\"confirmations.domain_block.confirm\":\"Ocultar dominio entero\",\"confirmations.domain_block.message\":\"¿Seguro de que quieres bloquear al dominio entero? En algunos casos es preferible bloquear o silenciar objetivos determinados.\",\"confirmations.mute.confirm\":\"Silenciar\",\"confirmations.mute.message\":\"¿Estás seguro de que quieres silenciar a {name}?\",\"confirmations.unfollow.confirm\":\"Dejar de seguir\",\"confirmations.unfollow.message\":\"¿Estás seguro de que quieres dejar de seguir a {name}?\",\"embed.instructions\":\"Añade este toot a tu sitio web con el siguiente código.\",\"embed.preview\":\"Así es como se verá:\",\"emoji_button.activity\":\"Actividad\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Marcas\",\"emoji_button.food\":\"Comida y bebida\",\"emoji_button.label\":\"Insertar emoji\",\"emoji_button.nature\":\"Naturaleza\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objetos\",\"emoji_button.people\":\"Gente\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Buscar…\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Símbolos\",\"emoji_button.travel\":\"Viajes y lugares\",\"empty_column.community\":\"La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!\",\"empty_column.hashtag\":\"No hay nada en este hashtag aún.\",\"empty_column.home\":\"No estás siguiendo a nadie aún. Visita {public} o haz búsquedas para empezar y conocer gente nueva.\",\"empty_column.home.public_timeline\":\"la línea de tiempo pública\",\"empty_column.notifications\":\"No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.\",\"empty_column.public\":\"¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo.\",\"follow_request.authorize\":\"Autorizar\",\"follow_request.reject\":\"Rechazar\",\"getting_started.appsshort\":\"Aplicaciones\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Primeros pasos\",\"getting_started.open_source_notice\":\"Mastodon es software libre. Puedes contribuir o reportar errores en {github}.\",\"getting_started.userguide\":\"Guía de usuario\",\"home.column_settings.advanced\":\"Avanzado\",\"home.column_settings.basic\":\"Básico\",\"home.column_settings.filter_regex\":\"Filtrar con expresiones regulares\",\"home.column_settings.show_reblogs\":\"Mostrar retoots\",\"home.column_settings.show_replies\":\"Mostrar respuestas\",\"home.settings\":\"Ajustes de columna\",\"lightbox.close\":\"Cerrar\",\"lightbox.next\":\"Siguiente\",\"lightbox.previous\":\"Anterior\",\"loading_indicator.label\":\"Cargando…\",\"media_gallery.toggle_visible\":\"Cambiar visibilidad\",\"missing_indicator.label\":\"No encontrado\",\"navigation_bar.blocks\":\"Usuarios bloqueados\",\"navigation_bar.community_timeline\":\"Historia local\",\"navigation_bar.edit_profile\":\"Editar perfil\",\"navigation_bar.favourites\":\"Favoritos\",\"navigation_bar.follow_requests\":\"Solicitudes para seguirte\",\"navigation_bar.info\":\"Información adicional\",\"navigation_bar.logout\":\"Cerrar sesión\",\"navigation_bar.mutes\":\"Usuarios silenciados\",\"navigation_bar.pins\":\"Toots fijados\",\"navigation_bar.preferences\":\"Preferencias\",\"navigation_bar.public_timeline\":\"Historia federada\",\"notification.favourite\":\"{name} marcó tu estado como favorito\",\"notification.follow\":\"{name} te empezó a seguir\",\"notification.mention\":\"{name} te ha mencionado\",\"notification.reblog\":\"{name} ha retooteado tu estado\",\"notifications.clear\":\"Limpiar notificaciones\",\"notifications.clear_confirmation\":\"¿Seguro que quieres limpiar permanentemente todas tus notificaciones?\",\"notifications.column_settings.alert\":\"Notificaciones de escritorio\",\"notifications.column_settings.favourite\":\"Favoritos:\",\"notifications.column_settings.follow\":\"Nuevos seguidores:\",\"notifications.column_settings.mention\":\"Menciones:\",\"notifications.column_settings.push\":\"Notificaciones push:\",\"notifications.column_settings.push_meta\":\"Este dispositivo:\",\"notifications.column_settings.reblog\":\"Retoots:\",\"notifications.column_settings.show\":\"Mostrar en columna\",\"notifications.column_settings.sound\":\"Reproducir sonido\",\"onboarding.done\":\"Listo\",\"onboarding.next\":\"Siguiente\",\"onboarding.page_five.public_timelines\":\"La línea de tiempo local muestra toots públicos de todos en {domain}. La línea de tiempo federada muestra toots públicos de cualquiera a quien la gente de {domain} siga. Estas son las líneas de tiempo públicas, una buena forma de conocer gente nueva.\",\"onboarding.page_four.home\":\"La línea de tiempo principal muestra toots de gente que sigues.\",\"onboarding.page_four.notifications\":\"Las notificaciones se muestran cuando alguien interactúa contigo.\",\"onboarding.page_one.federation\":\"Mastodon es una red de servidores federados que conforman una red social aún más grande. Llamamos a estos servidores instancias.\",\"onboarding.page_one.handle\":\"Estás en {domain}, así que tu nombre de usuario completo es {handle}\",\"onboarding.page_one.welcome\":\"¡Bienvenido a Mastodon!\",\"onboarding.page_six.admin\":\"El administrador de tu instancia es {admin}.\",\"onboarding.page_six.almost_done\":\"Ya casi…\",\"onboarding.page_six.appetoot\":\"¡Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"Hay {apps} disponibles para iOS, Android y otras plataformas.\",\"onboarding.page_six.github\":\"Mastodon es software libre. Puedes reportar errores, pedir funciones nuevas, o contribuir al código en {github}.\",\"onboarding.page_six.guidelines\":\"guías de la comunidad\",\"onboarding.page_six.read_guidelines\":\"¡Por favor lee las {guidelines} de {domain}!\",\"onboarding.page_six.various_app\":\"aplicaciones móviles\",\"onboarding.page_three.profile\":\"Edita tu perfil para cambiar tu avatar, biografía y nombre de cabecera. Ahí, también encontrarás otros ajustes.\",\"onboarding.page_three.search\":\"Usa la barra de búsqueda y revisa hashtags, como {illustration} y {introductions}. Para ver a alguien que no es de tu propia instancia, usa su nombre de usuario completo.\",\"onboarding.page_two.compose\":\"Escribe toots en la columna de redacción. Puedes subir imágenes, cambiar ajustes de privacidad, y añadir advertencias de contenido con los siguientes íconos.\",\"onboarding.skip\":\"Saltar\",\"privacy.change\":\"Ajustar privacidad\",\"privacy.direct.long\":\"Sólo mostrar a los usuarios mencionados\",\"privacy.direct.short\":\"Directo\",\"privacy.private.long\":\"Sólo mostrar a seguidores\",\"privacy.private.short\":\"Privado\",\"privacy.public.long\":\"Mostrar en la historia federada\",\"privacy.public.short\":\"Público\",\"privacy.unlisted.long\":\"No mostrar en la historia federada\",\"privacy.unlisted.short\":\"Sin federar\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"ahora\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Cancelar\",\"report.placeholder\":\"Comentarios adicionales\",\"report.submit\":\"Publicar\",\"report.target\":\"Reportando\",\"search.placeholder\":\"Buscar\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {resultado} other {resultados}}\",\"standalone.public_title\":\"Un pequeño vistazo...\",\"status.cannot_reblog\":\"Este toot no puede retootearse\",\"status.delete\":\"Borrar\",\"status.embed\":\"Incrustado\",\"status.favourite\":\"Favorito\",\"status.load_more\":\"Cargar más\",\"status.media_hidden\":\"Contenido multimedia oculto\",\"status.mention\":\"Mencionar\",\"status.more\":\"Más\",\"status.mute_conversation\":\"Silenciar conversación\",\"status.open\":\"Expandir estado\",\"status.pin\":\"Fijar\",\"status.reblog\":\"Retootear\",\"status.reblogged_by\":\"Retooteado por {name}\",\"status.reply\":\"Responder\",\"status.replyAll\":\"Responder al hilo\",\"status.report\":\"Reportar\",\"status.sensitive_toggle\":\"Haz clic para ver\",\"status.sensitive_warning\":\"Contenido sensible\",\"status.share\":\"Compartir\",\"status.show_less\":\"Mostrar menos\",\"status.show_more\":\"Mostrar más\",\"status.unmute_conversation\":\"Dejar de silenciar conversación\",\"status.unpin\":\"Dejar de fijar\",\"tabs_bar.compose\":\"Redactar\",\"tabs_bar.federated_timeline\":\"Federado\",\"tabs_bar.home\":\"Inicio\",\"tabs_bar.local_timeline\":\"Local\",\"tabs_bar.notifications\":\"Notificaciones\",\"upload_area.title\":\"Arrastra y suelta para subir\",\"upload_button.label\":\"Subir multimedia\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Deshacer\",\"upload_progress.label\":\"Subiendo…\",\"video.close\":\"Cerrar video\",\"video.exit_fullscreen\":\"Salir de pantalla completa\",\"video.expand\":\"Expandir vídeo\",\"video.fullscreen\":\"Pantalla completa\",\"video.hide\":\"Ocultar vídeo\",\"video.mute\":\"Silenciar sonido\",\"video.pause\":\"Pausar\",\"video.play\":\"Reproducir\",\"video.unmute\":\"Dejar de silenciar sonido\"}" + }, + { + "id": 678, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/es.js", + "name": "./node_modules/react-intl/locale-data/es.js", + "index": 837, + "index2": 836, + "size": 15599, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 56 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_es.js", + "issuerId": 676, + "issuerName": "./tmp/packs/locale_es.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 676, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_es.js", + "module": "./tmp/packs/locale_es.js", + "moduleName": "./tmp/packs/locale_es.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/es.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a() : \"function\" == typeof define && define.amd ? define(a) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.es = a());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"es\", pluralRuleFunction: function (e, a) {\n return a ? \"other\" : 1 == e ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"año\", relative: { 0: \"este año\", 1: \"el próximo año\", \"-1\": \"el año pasado\" }, relativeTime: { future: { one: \"dentro de {0} año\", other: \"dentro de {0} años\" }, past: { one: \"hace {0} año\", other: \"hace {0} años\" } } }, month: { displayName: \"mes\", relative: { 0: \"este mes\", 1: \"el próximo mes\", \"-1\": \"el mes pasado\" }, relativeTime: { future: { one: \"dentro de {0} mes\", other: \"dentro de {0} meses\" }, past: { one: \"hace {0} mes\", other: \"hace {0} meses\" } } }, day: { displayName: \"día\", relative: { 0: \"hoy\", 1: \"mañana\", 2: \"pasado mañana\", \"-2\": \"anteayer\", \"-1\": \"ayer\" }, relativeTime: { future: { one: \"dentro de {0} día\", other: \"dentro de {0} días\" }, past: { one: \"hace {0} día\", other: \"hace {0} días\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"hace {0} hora\", other: \"hace {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"hace {0} minuto\", other: \"hace {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"ahora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"hace {0} segundo\", other: \"hace {0} segundos\" } } } } }, { locale: \"es-419\", parentLocale: \"es\" }, { locale: \"es-AR\", parentLocale: \"es-419\" }, { locale: \"es-BO\", parentLocale: \"es-419\" }, { locale: \"es-BR\", parentLocale: \"es-419\" }, { locale: \"es-BZ\", parentLocale: \"es-419\" }, { locale: \"es-CL\", parentLocale: \"es-419\" }, { locale: \"es-CO\", parentLocale: \"es-419\" }, { locale: \"es-CR\", parentLocale: \"es-419\", fields: { year: { displayName: \"año\", relative: { 0: \"este año\", 1: \"el próximo año\", \"-1\": \"el año pasado\" }, relativeTime: { future: { one: \"dentro de {0} año\", other: \"dentro de {0} años\" }, past: { one: \"hace {0} año\", other: \"hace {0} años\" } } }, month: { displayName: \"mes\", relative: { 0: \"este mes\", 1: \"el próximo mes\", \"-1\": \"el mes pasado\" }, relativeTime: { future: { one: \"dentro de {0} mes\", other: \"dentro de {0} meses\" }, past: { one: \"hace {0} mes\", other: \"hace {0} meses\" } } }, day: { displayName: \"día\", relative: { 0: \"hoy\", 1: \"mañana\", 2: \"pasado mañana\", \"-2\": \"antier\", \"-1\": \"ayer\" }, relativeTime: { future: { one: \"dentro de {0} día\", other: \"dentro de {0} días\" }, past: { one: \"hace {0} día\", other: \"hace {0} días\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"hace {0} hora\", other: \"hace {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"hace {0} minuto\", other: \"hace {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"ahora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"hace {0} segundo\", other: \"hace {0} segundos\" } } } } }, { locale: \"es-CU\", parentLocale: \"es-419\" }, { locale: \"es-DO\", parentLocale: \"es-419\", fields: { year: { displayName: \"Año\", relative: { 0: \"este año\", 1: \"el próximo año\", \"-1\": \"el año pasado\" }, relativeTime: { future: { one: \"dentro de {0} año\", other: \"dentro de {0} años\" }, past: { one: \"hace {0} año\", other: \"hace {0} años\" } } }, month: { displayName: \"Mes\", relative: { 0: \"este mes\", 1: \"el próximo mes\", \"-1\": \"el mes pasado\" }, relativeTime: { future: { one: \"dentro de {0} mes\", other: \"dentro de {0} meses\" }, past: { one: \"hace {0} mes\", other: \"hace {0} meses\" } } }, day: { displayName: \"Día\", relative: { 0: \"hoy\", 1: \"mañana\", 2: \"pasado mañana\", \"-2\": \"anteayer\", \"-1\": \"ayer\" }, relativeTime: { future: { one: \"dentro de {0} día\", other: \"dentro de {0} días\" }, past: { one: \"hace {0} día\", other: \"hace {0} días\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"hace {0} hora\", other: \"hace {0} horas\" } } }, minute: { displayName: \"Minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"hace {0} minuto\", other: \"hace {0} minutos\" } } }, second: { displayName: \"Segundo\", relative: { 0: \"ahora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"hace {0} segundo\", other: \"hace {0} segundos\" } } } } }, { locale: \"es-EA\", parentLocale: \"es\" }, { locale: \"es-EC\", parentLocale: \"es-419\" }, { locale: \"es-GQ\", parentLocale: \"es\" }, { locale: \"es-GT\", parentLocale: \"es-419\", fields: { year: { displayName: \"año\", relative: { 0: \"este año\", 1: \"el próximo año\", \"-1\": \"el año pasado\" }, relativeTime: { future: { one: \"dentro de {0} año\", other: \"dentro de {0} años\" }, past: { one: \"hace {0} año\", other: \"hace {0} años\" } } }, month: { displayName: \"mes\", relative: { 0: \"este mes\", 1: \"el próximo mes\", \"-1\": \"el mes pasado\" }, relativeTime: { future: { one: \"dentro de {0} mes\", other: \"dentro de {0} meses\" }, past: { one: \"hace {0} mes\", other: \"hace {0} meses\" } } }, day: { displayName: \"día\", relative: { 0: \"hoy\", 1: \"mañana\", 2: \"pasado mañana\", \"-2\": \"antier\", \"-1\": \"ayer\" }, relativeTime: { future: { one: \"dentro de {0} día\", other: \"dentro de {0} días\" }, past: { one: \"hace {0} día\", other: \"hace {0} días\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"hace {0} hora\", other: \"hace {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"hace {0} minuto\", other: \"hace {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"ahora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"hace {0} segundo\", other: \"hace {0} segundos\" } } } } }, { locale: \"es-HN\", parentLocale: \"es-419\", fields: { year: { displayName: \"año\", relative: { 0: \"este año\", 1: \"el próximo año\", \"-1\": \"el año pasado\" }, relativeTime: { future: { one: \"dentro de {0} año\", other: \"dentro de {0} años\" }, past: { one: \"hace {0} año\", other: \"hace {0} años\" } } }, month: { displayName: \"mes\", relative: { 0: \"este mes\", 1: \"el próximo mes\", \"-1\": \"el mes pasado\" }, relativeTime: { future: { one: \"dentro de {0} mes\", other: \"dentro de {0} meses\" }, past: { one: \"hace {0} mes\", other: \"hace {0} meses\" } } }, day: { displayName: \"día\", relative: { 0: \"hoy\", 1: \"mañana\", 2: \"pasado mañana\", \"-2\": \"antier\", \"-1\": \"ayer\" }, relativeTime: { future: { one: \"dentro de {0} día\", other: \"dentro de {0} días\" }, past: { one: \"hace {0} día\", other: \"hace {0} días\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"hace {0} hora\", other: \"hace {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"hace {0} minuto\", other: \"hace {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"ahora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"hace {0} segundo\", other: \"hace {0} segundos\" } } } } }, { locale: \"es-IC\", parentLocale: \"es\" }, { locale: \"es-MX\", parentLocale: \"es-419\", fields: { year: { displayName: \"año\", relative: { 0: \"este año\", 1: \"el año próximo\", \"-1\": \"el año pasado\" }, relativeTime: { future: { one: \"dentro de {0} año\", other: \"dentro de {0} años\" }, past: { one: \"hace {0} año\", other: \"hace {0} años\" } } }, month: { displayName: \"mes\", relative: { 0: \"este mes\", 1: \"el mes próximo\", \"-1\": \"el mes pasado\" }, relativeTime: { future: { one: \"en {0} mes\", other: \"en {0} meses\" }, past: { one: \"hace {0} mes\", other: \"hace {0} meses\" } } }, day: { displayName: \"día\", relative: { 0: \"hoy\", 1: \"mañana\", 2: \"pasado mañana\", \"-2\": \"antier\", \"-1\": \"ayer\" }, relativeTime: { future: { one: \"dentro de {0} día\", other: \"dentro de {0} días\" }, past: { one: \"hace {0} día\", other: \"hace {0} días\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"hace {0} hora\", other: \"hace {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"hace {0} minuto\", other: \"hace {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"ahora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"hace {0} segundo\", other: \"hace {0} segundos\" } } } } }, { locale: \"es-NI\", parentLocale: \"es-419\", fields: { year: { displayName: \"año\", relative: { 0: \"este año\", 1: \"el próximo año\", \"-1\": \"el año pasado\" }, relativeTime: { future: { one: \"dentro de {0} año\", other: \"dentro de {0} años\" }, past: { one: \"hace {0} año\", other: \"hace {0} años\" } } }, month: { displayName: \"mes\", relative: { 0: \"este mes\", 1: \"el próximo mes\", \"-1\": \"el mes pasado\" }, relativeTime: { future: { one: \"dentro de {0} mes\", other: \"dentro de {0} meses\" }, past: { one: \"hace {0} mes\", other: \"hace {0} meses\" } } }, day: { displayName: \"día\", relative: { 0: \"hoy\", 1: \"mañana\", 2: \"pasado mañana\", \"-2\": \"antier\", \"-1\": \"ayer\" }, relativeTime: { future: { one: \"dentro de {0} día\", other: \"dentro de {0} días\" }, past: { one: \"hace {0} día\", other: \"hace {0} días\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"hace {0} hora\", other: \"hace {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"hace {0} minuto\", other: \"hace {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"ahora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"hace {0} segundo\", other: \"hace {0} segundos\" } } } } }, { locale: \"es-PA\", parentLocale: \"es-419\", fields: { year: { displayName: \"año\", relative: { 0: \"este año\", 1: \"el próximo año\", \"-1\": \"el año pasado\" }, relativeTime: { future: { one: \"dentro de {0} año\", other: \"dentro de {0} años\" }, past: { one: \"hace {0} año\", other: \"hace {0} años\" } } }, month: { displayName: \"mes\", relative: { 0: \"este mes\", 1: \"el próximo mes\", \"-1\": \"el mes pasado\" }, relativeTime: { future: { one: \"dentro de {0} mes\", other: \"dentro de {0} meses\" }, past: { one: \"hace {0} mes\", other: \"hace {0} meses\" } } }, day: { displayName: \"día\", relative: { 0: \"hoy\", 1: \"mañana\", 2: \"pasado mañana\", \"-2\": \"antier\", \"-1\": \"ayer\" }, relativeTime: { future: { one: \"dentro de {0} día\", other: \"dentro de {0} días\" }, past: { one: \"hace {0} día\", other: \"hace {0} días\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"hace {0} hora\", other: \"hace {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"hace {0} minuto\", other: \"hace {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"ahora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"hace {0} segundo\", other: \"hace {0} segundos\" } } } } }, { locale: \"es-PE\", parentLocale: \"es-419\" }, { locale: \"es-PH\", parentLocale: \"es\" }, { locale: \"es-PR\", parentLocale: \"es-419\" }, { locale: \"es-PY\", parentLocale: \"es-419\", fields: { year: { displayName: \"año\", relative: { 0: \"este año\", 1: \"el próximo año\", \"-1\": \"el año pasado\" }, relativeTime: { future: { one: \"dentro de {0} año\", other: \"dentro de {0} años\" }, past: { one: \"hace {0} año\", other: \"hace {0} años\" } } }, month: { displayName: \"mes\", relative: { 0: \"este mes\", 1: \"el próximo mes\", \"-1\": \"el mes pasado\" }, relativeTime: { future: { one: \"dentro de {0} mes\", other: \"dentro de {0} meses\" }, past: { one: \"hace {0} mes\", other: \"hace {0} meses\" } } }, day: { displayName: \"día\", relative: { 0: \"hoy\", 1: \"mañana\", 2: \"pasado mañana\", \"-2\": \"antes de ayer\", \"-1\": \"ayer\" }, relativeTime: { future: { one: \"dentro de {0} día\", other: \"dentro de {0} días\" }, past: { one: \"hace {0} día\", other: \"hace {0} días\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"hace {0} hora\", other: \"hace {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"hace {0} minuto\", other: \"hace {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"ahora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"hace {0} segundo\", other: \"hace {0} segundos\" } } } } }, { locale: \"es-SV\", parentLocale: \"es-419\", fields: { year: { displayName: \"año\", relative: { 0: \"este año\", 1: \"el próximo año\", \"-1\": \"el año pasado\" }, relativeTime: { future: { one: \"dentro de {0} año\", other: \"dentro de {0} años\" }, past: { one: \"hace {0} año\", other: \"hace {0} años\" } } }, month: { displayName: \"mes\", relative: { 0: \"este mes\", 1: \"el próximo mes\", \"-1\": \"el mes pasado\" }, relativeTime: { future: { one: \"dentro de {0} mes\", other: \"dentro de {0} meses\" }, past: { one: \"hace {0} mes\", other: \"hace {0} meses\" } } }, day: { displayName: \"día\", relative: { 0: \"hoy\", 1: \"mañana\", 2: \"pasado mañana\", \"-2\": \"antier\", \"-1\": \"ayer\" }, relativeTime: { future: { one: \"dentro de {0} día\", other: \"dentro de {0} días\" }, past: { one: \"hace {0} día\", other: \"hace {0} días\" } } }, hour: { displayName: \"hora\", relative: { 0: \"esta hora\" }, relativeTime: { future: { one: \"dentro de {0} hora\", other: \"dentro de {0} horas\" }, past: { one: \"hace {0} hora\", other: \"hace {0} horas\" } } }, minute: { displayName: \"minuto\", relative: { 0: \"este minuto\" }, relativeTime: { future: { one: \"dentro de {0} minuto\", other: \"dentro de {0} minutos\" }, past: { one: \"hace {0} minuto\", other: \"hace {0} minutos\" } } }, second: { displayName: \"segundo\", relative: { 0: \"ahora\" }, relativeTime: { future: { one: \"dentro de {0} segundo\", other: \"dentro de {0} segundos\" }, past: { one: \"hace {0} segundo\", other: \"hace {0} segundos\" } } } } }, { locale: \"es-US\", parentLocale: \"es-419\" }, { locale: \"es-UY\", parentLocale: \"es-419\" }, { locale: \"es-VE\", parentLocale: \"es-419\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 676, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_es.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_es.js", + "moduleName": "./tmp/packs/locale_es.js", + "loc": "", + "name": "locale_es", + "reasons": [] + } + ] + }, + { + "id": 57, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 12975, + "names": [ + "locale_eo" + ], + "files": [ + "locale_eo-907e661a2a8c6d12f600.js", + "locale_eo-907e661a2a8c6d12f600.js.map" + ], + "hash": "907e661a2a8c6d12f600", + "parents": [ + 65 + ], + "modules": [ + { + "id": 673, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_eo.js", + "name": "./tmp/packs/locale_eo.js", + "index": 832, + "index2": 834, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 57 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_eo.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/eo.json';\nimport localeData from \"react-intl/locale-data/eo.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 674, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/eo.json", + "name": "./app/javascript/mastodon/locales/eo.json", + "index": 833, + "index2": 832, + "size": 11301, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 57 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_eo.js", + "issuerId": 673, + "issuerName": "./tmp/packs/locale_eo.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 673, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_eo.js", + "module": "./tmp/packs/locale_eo.js", + "moduleName": "./tmp/packs/locale_eo.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/eo.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Bloki @{name}\",\"account.block_domain\":\"Kaŝi ĉion el {domain}\",\"account.disclaimer_full\":\"La ĉi-subaj informoj povas ne plene reflekti la profilon de la uzanto.\",\"account.edit_profile\":\"Redakti la profilon\",\"account.follow\":\"Sekvi\",\"account.followers\":\"Sekvantoj\",\"account.follows\":\"Sekvatoj\",\"account.follows_you\":\"Sekvas vin\",\"account.media\":\"Sonbildaĵoj\",\"account.mention\":\"Mencii @{name}\",\"account.mute\":\"Silentigi @{name}\",\"account.posts\":\"Mesaĝoj\",\"account.report\":\"Signali @{name}\",\"account.requested\":\"Atendas aprobon\",\"account.share\":\"Diskonigi la profilon de @{name}\",\"account.unblock\":\"Malbloki @{name}\",\"account.unblock_domain\":\"Malkaŝi {domain}\",\"account.unfollow\":\"Ne plus sekvi\",\"account.unmute\":\"Malsilentigi @{name}\",\"account.view_full_profile\":\"Vidi plenan profilon\",\"boost_modal.combo\":\"La proksiman fojon, premu {combo} por pasigi\",\"bundle_column_error.body\":\"Io malfunkciis ŝargante tiun ĉi komponanton.\",\"bundle_column_error.retry\":\"Bonvolu reprovi\",\"bundle_column_error.title\":\"Reta eraro\",\"bundle_modal_error.close\":\"Fermi\",\"bundle_modal_error.message\":\"Io malfunkciis ŝargante tiun ĉi komponanton.\",\"bundle_modal_error.retry\":\"Bonvolu reprovi\",\"column.blocks\":\"Blokitaj uzantoj\",\"column.community\":\"Loka tempolinio\",\"column.favourites\":\"Favoritoj\",\"column.follow_requests\":\"Abonpetoj\",\"column.home\":\"Hejmo\",\"column.mutes\":\"Silentigitaj uzantoj\",\"column.notifications\":\"Sciigoj\",\"column.pins\":\"Alpinglitaj pepoj\",\"column.public\":\"Fratara tempolinio\",\"column_back_button.label\":\"Reveni\",\"column_header.hide_settings\":\"Kaŝi agordojn\",\"column_header.moveLeft_settings\":\"Movi kolumnon maldekstren\",\"column_header.moveRight_settings\":\"Movi kolumnon dekstren\",\"column_header.pin\":\"Alpingli\",\"column_header.show_settings\":\"Malkaŝi agordojn\",\"column_header.unpin\":\"Depingli\",\"column_subheading.navigation\":\"Navigado\",\"column_subheading.settings\":\"Agordoj\",\"compose_form.lock_disclaimer\":\"Via konta ne estas ŝlosita. Iu ajn povas sekvi vin por vidi viajn privatajn pepojn.\",\"compose_form.lock_disclaimer.lock\":\"ŝlosita\",\"compose_form.placeholder\":\"Pri kio vi pensas?\",\"compose_form.publish\":\"Hup\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Marki ke la enhavo estas tikla\",\"compose_form.spoiler\":\"Kaŝi la tekston malantaŭ averto\",\"compose_form.spoiler_placeholder\":\"Skribu tie vian averton\",\"confirmation_modal.cancel\":\"Malfari\",\"confirmations.block.confirm\":\"Bloki\",\"confirmations.block.message\":\"Ĉu vi konfirmas la blokadon de {name}?\",\"confirmations.delete.confirm\":\"Malaperigi\",\"confirmations.delete.message\":\"Ĉu vi konfirmas la malaperigon de tiun pepon?\",\"confirmations.domain_block.confirm\":\"Kaŝi la tutan reton\",\"confirmations.domain_block.message\":\"Ĉu vi vere, vere certas, ke vi volas bloki {domain} tute? Plej ofte, kelkaj celitaj blokadoj aŭ silentigoj estas sufiĉaj kaj preferindaj.\",\"confirmations.mute.confirm\":\"Silentigi\",\"confirmations.mute.message\":\"Ĉu vi konfirmas la silentigon de {name}?\",\"confirmations.unfollow.confirm\":\"Ne plu sekvi\",\"confirmations.unfollow.message\":\"Ĉu vi volas ĉesi sekvi {name}?\",\"embed.instructions\":\"Enmetu tiun statkonigon ĉe vian retejon kopiante la ĉi-suban kodon.\",\"embed.preview\":\"Ĝi aperos tiel:\",\"emoji_button.activity\":\"Aktivecoj\",\"emoji_button.custom\":\"Personaj\",\"emoji_button.flags\":\"Flagoj\",\"emoji_button.food\":\"Manĝi kaj trinki\",\"emoji_button.label\":\"Enmeti mieneton\",\"emoji_button.nature\":\"Naturo\",\"emoji_button.not_found\":\"Neniuj mienetoj!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objektoj\",\"emoji_button.people\":\"Homoj\",\"emoji_button.recent\":\"Ofte uzataj\",\"emoji_button.search\":\"Serĉo…\",\"emoji_button.search_results\":\"Rezultatoj de serĉo\",\"emoji_button.symbols\":\"Simboloj\",\"emoji_button.travel\":\"Vojaĝoj & lokoj\",\"empty_column.community\":\"La loka tempolinio estas malplena. Skribu ion por plenigi ĝin!\",\"empty_column.hashtag\":\"Ĝise, neniu enhavo estas asociita kun tiu kradvorto.\",\"empty_column.home\":\"Via hejma tempolinio estas malplena! Vizitu {public} aŭ uzu la serĉilon por renkonti aliajn uzantojn.\",\"empty_column.home.public_timeline\":\"la publika tempolinio\",\"empty_column.notifications\":\"Vi dume ne havas sciigojn. Interagi kun aliajn uzantojn por komenci la konversacion.\",\"empty_column.public\":\"Estas nenio ĉi tie! Publike skribu ion, aŭ mane sekvu uzantojn de aliaj instancoj por plenigi la publikan tempolinion.\",\"follow_request.authorize\":\"Akcepti\",\"follow_request.reject\":\"Rifuzi\",\"getting_started.appsshort\":\"Aplikaĵoj\",\"getting_started.faq\":\"Oftaj demandoj\",\"getting_started.heading\":\"Por komenci\",\"getting_started.open_source_notice\":\"Mastodono estas malfermkoda programo. Vi povas kontribui aŭ raporti problemojn en GitHub je {github}.\",\"getting_started.userguide\":\"Gvidilo de uzo\",\"home.column_settings.advanced\":\"Precizaj agordoj\",\"home.column_settings.basic\":\"Bazaj agordoj\",\"home.column_settings.filter_regex\":\"Forfiltri per regulesprimo\",\"home.column_settings.show_reblogs\":\"Montri diskonigojn\",\"home.column_settings.show_replies\":\"Montri respondojn\",\"home.settings\":\"Agordoj de la kolumno\",\"lightbox.close\":\"Fermi\",\"lightbox.next\":\"Malantaŭa\",\"lightbox.previous\":\"Antaŭa\",\"loading_indicator.label\":\"Ŝarganta…\",\"media_gallery.toggle_visible\":\"Baskuli videblecon\",\"missing_indicator.label\":\"Ne trovita\",\"navigation_bar.blocks\":\"Blokitaj uzantoj\",\"navigation_bar.community_timeline\":\"Loka tempolinio\",\"navigation_bar.edit_profile\":\"Redakti la profilon\",\"navigation_bar.favourites\":\"Favoritaj\",\"navigation_bar.follow_requests\":\"Abonpetoj\",\"navigation_bar.info\":\"Plia informo\",\"navigation_bar.logout\":\"Elsaluti\",\"navigation_bar.mutes\":\"Silentigitaj uzantoj\",\"navigation_bar.pins\":\"Alpinglitaj pepoj\",\"navigation_bar.preferences\":\"Preferoj\",\"navigation_bar.public_timeline\":\"Fratara tempolinio\",\"notification.favourite\":\"{name} favoris vian mesaĝon\",\"notification.follow\":\"{name} sekvis vin\",\"notification.mention\":\"{name} menciis vin\",\"notification.reblog\":\"{name} diskonigis vian mesaĝon\",\"notifications.clear\":\"Forviŝi la sciigojn\",\"notifications.clear_confirmation\":\"Ĉu vi certe volas malaperigi ĉiujn viajn sciigojn?\",\"notifications.column_settings.alert\":\"Retumilaj atentigoj\",\"notifications.column_settings.favourite\":\"Favoritoj:\",\"notifications.column_settings.follow\":\"Novaj sekvantoj:\",\"notifications.column_settings.mention\":\"Mencioj:\",\"notifications.column_settings.push\":\"Puŝsciigoj\",\"notifications.column_settings.push_meta\":\"Tiu ĉi aparato\",\"notifications.column_settings.reblog\":\"Diskonigoj:\",\"notifications.column_settings.show\":\"Montri en kolono\",\"notifications.column_settings.sound\":\"Eligi sonon\",\"onboarding.done\":\"Farita\",\"onboarding.next\":\"Malantaŭa\",\"onboarding.page_five.public_timelines\":\"La loka tempolinio enhavas mesaĝojn de ĉiuj ĉe {domain}. La federacia tempolinio enhavas ĉiujn mesaĝojn de uzantoj, kiujn iu ĉe {domain} sekvas. Ambaŭ tre utilas por trovi novajn kunparolantojn.\",\"onboarding.page_four.home\":\"La hejma tempolinio enhavas la mesaĝojn de ĉiuj uzantoj, kiuj vi sekvas.\",\"onboarding.page_four.notifications\":\"La sciiga kolumno informas vin kiam iu interagas kun vi.\",\"onboarding.page_one.federation\":\"Mastodono estas reto de nedependaj serviloj, unuiĝintaj por krei pligrandan socian retejon. Ni nomas tiujn servilojn instancoj.\",\"onboarding.page_one.handle\":\"Vi estas ĉe {domain}, unu el la multaj instancoj de Mastodono. Via kompleta uznomo do estas {handle}\",\"onboarding.page_one.welcome\":\"Bonvenon al Mastodono!\",\"onboarding.page_six.admin\":\"Via instancestro estas {admin}.\",\"onboarding.page_six.almost_done\":\"Estas preskaŭ finita…\",\"onboarding.page_six.appetoot\":\"Bonan a‘pepi’ton!\",\"onboarding.page_six.apps_available\":\"{apps} estas elŝuteblaj por iOS, Androido kaj alioj. Kaj nun… bonan a‘pepi’ton!\",\"onboarding.page_six.github\":\"Mastodono estas libera, senpaga kaj malfermkoda programaro. Vi povas signali cimojn, proponi funkciojn aŭ kontribui al gîa kreskado ĉe {github}.\",\"onboarding.page_six.guidelines\":\"komunreguloj\",\"onboarding.page_six.read_guidelines\":\"Ni petas vin: ne forgesu legi la {guidelines}n de {domain}!\",\"onboarding.page_six.various_app\":\"telefon-aplikaĵoj\",\"onboarding.page_three.profile\":\"Redaktu vian profilon por ŝanĝi vian avataron, priskribon kaj vian nomon. Vi tie trovos ankoraŭ aliajn agordojn.\",\"onboarding.page_three.search\":\"Uzu la serĉokampo por trovi uzantojn kaj esplori kradvortojn tiel ke {illustration} kaj {introductions}. Por trovi iun, kiu ne estas ĉe ĉi tiu instanco, uzu ĝian kompletan uznomon.\",\"onboarding.page_two.compose\":\"Skribu pepojn en la verkkolumno. Vi povas aldoni bildojn, ŝanĝi la agordojn de privateco kaj aldoni tiklavertojn (« content warning ») dank' al la piktogramoj malsupre.\",\"onboarding.skip\":\"Pasigi\",\"privacy.change\":\"Alĝustigi la privateco de la mesaĝo\",\"privacy.direct.long\":\"Vidigi nur al la menciitaj personoj\",\"privacy.direct.short\":\"Rekta\",\"privacy.private.long\":\"Vidigi nur al viaj sekvantoj\",\"privacy.private.short\":\"Nursekvanta\",\"privacy.public.long\":\"Vidigi en publikaj tempolinioj\",\"privacy.public.short\":\"Publika\",\"privacy.unlisted.long\":\"Ne vidigi en publikaj tempolinioj\",\"privacy.unlisted.short\":\"Nelistigita\",\"relative_time.days\":\"{number}t\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"nun\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Malfari\",\"report.placeholder\":\"Pliaj komentoj\",\"report.submit\":\"Sendi\",\"report.target\":\"Signalaĵo\",\"search.placeholder\":\"Serĉi\",\"search_popout.search_format\":\"Detala serĉo\",\"search_popout.tips.hashtag\":\"kradvorto\",\"search_popout.tips.status\":\"statkonigo\",\"search_popout.tips.text\":\"Simpla teksto eligas la kongruajn afiŝnomojn, uznomojn kaj kradvortojn.\",\"search_popout.tips.user\":\"uzanto\",\"search_results.total\":\"{count, number} {count, plural, one {rezultato} other {rezultatoj}}\",\"standalone.public_title\":\"Rigardeti…\",\"status.cannot_reblog\":\"Tiun publikaĵon oni ne povas diskonigi\",\"status.delete\":\"Forigi\",\"status.embed\":\"Enmeti\",\"status.favourite\":\"Favori\",\"status.load_more\":\"Ŝargi plie\",\"status.media_hidden\":\"Sonbildaĵo kaŝita\",\"status.mention\":\"Mencii @{name}\",\"status.more\":\"Pli\",\"status.mute_conversation\":\"Silentigi konversacion\",\"status.open\":\"Disfaldi statkonigon\",\"status.pin\":\"Pingli al la profilo\",\"status.reblog\":\"Diskonigi\",\"status.reblogged_by\":\"{name} diskonigis\",\"status.reply\":\"Respondi\",\"status.replyAll\":\"Respondi al la fadeno\",\"status.report\":\"Signali @{name}\",\"status.sensitive_toggle\":\"Alklaki por vidi\",\"status.sensitive_warning\":\"Tikla enhavo\",\"status.share\":\"Diskonigi\",\"status.show_less\":\"Refaldi\",\"status.show_more\":\"Disfaldi\",\"status.unmute_conversation\":\"Malsilentigi konversacion\",\"status.unpin\":\"Depingli de profilo\",\"tabs_bar.compose\":\"Ekskribi\",\"tabs_bar.federated_timeline\":\"Federacia tempolinio\",\"tabs_bar.home\":\"Hejmo\",\"tabs_bar.local_timeline\":\"Loka tempolinio\",\"tabs_bar.notifications\":\"Sciigoj\",\"upload_area.title\":\"Algliti por alŝuti\",\"upload_button.label\":\"Aldoni sonbildaĵon\",\"upload_form.description\":\"Priskribi por la misvidantaj\",\"upload_form.undo\":\"Malfari\",\"upload_progress.label\":\"Alŝutanta…\",\"video.close\":\"Fermi videon\",\"video.exit_fullscreen\":\"Eliri el plenekrano\",\"video.expand\":\"Vastigi videon\",\"video.fullscreen\":\"Igi plenekrane\",\"video.hide\":\"Kaŝi videon\",\"video.mute\":\"Silentigi\",\"video.pause\":\"Paŭzi\",\"video.play\":\"Legi\",\"video.unmute\":\"Malsilentigi\"}" + }, + { + "id": 675, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/eo.js", + "name": "./node_modules/react-intl/locale-data/eo.js", + "index": 834, + "index2": 833, + "size": 1349, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 57 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_eo.js", + "issuerId": 673, + "issuerName": "./tmp/packs/locale_eo.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 673, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_eo.js", + "module": "./tmp/packs/locale_eo.js", + "moduleName": "./tmp/packs/locale_eo.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/eo.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.eo = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"eo\", pluralRuleFunction: function (e, t) {\n return t ? \"other\" : 1 == e ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"Year\", relative: { 0: \"this year\", 1: \"next year\", \"-1\": \"last year\" }, relativeTime: { future: { other: \"+{0} y\" }, past: { other: \"-{0} y\" } } }, month: { displayName: \"Month\", relative: { 0: \"this month\", 1: \"next month\", \"-1\": \"last month\" }, relativeTime: { future: { other: \"+{0} m\" }, past: { other: \"-{0} m\" } } }, day: { displayName: \"Day\", relative: { 0: \"today\", 1: \"tomorrow\", \"-1\": \"yesterday\" }, relativeTime: { future: { other: \"+{0} d\" }, past: { other: \"-{0} d\" } } }, hour: { displayName: \"Hour\", relative: { 0: \"this hour\" }, relativeTime: { future: { other: \"+{0} h\" }, past: { other: \"-{0} h\" } } }, minute: { displayName: \"Minute\", relative: { 0: \"this minute\" }, relativeTime: { future: { other: \"+{0} min\" }, past: { other: \"-{0} min\" } } }, second: { displayName: \"Second\", relative: { 0: \"now\" }, relativeTime: { future: { other: \"+{0} s\" }, past: { other: \"-{0} s\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 673, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_eo.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_eo.js", + "moduleName": "./tmp/packs/locale_eo.js", + "loc": "", + "name": "locale_eo", + "reasons": [] + } + ] + }, + { + "id": 58, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 19865, + "names": [ + "locale_en" + ], + "files": [ + "locale_en-a0e3195e8a56398ec497.js", + "locale_en-a0e3195e8a56398ec497.js.map" + ], + "hash": "a0e3195e8a56398ec497", + "parents": [ + 65 + ], + "modules": [ + { + "id": 148, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/en.js", + "name": "./node_modules/react-intl/locale-data/en.js", + "index": 831, + "index2": 830, + "size": 8615, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 48, + 58 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_en.js", + "issuerId": 671, + "issuerName": "./tmp/packs/locale_en.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 671, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_en.js", + "module": "./tmp/packs/locale_en.js", + "moduleName": "./tmp/packs/locale_en.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/en.js", + "loc": "6:0-54" + }, + { + "moduleId": 700, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_io.js", + "module": "./tmp/packs/locale_io.js", + "moduleName": "./tmp/packs/locale_io.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/en.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a() : \"function\" == typeof define && define.amd ? define(a) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.en = a());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"en\", pluralRuleFunction: function (e, a) {\n var n = String(e).split(\".\"),\n l = !n[1],\n o = Number(n[0]) == e,\n t = o && n[0].slice(-1),\n r = o && n[0].slice(-2);return a ? 1 == t && 11 != r ? \"one\" : 2 == t && 12 != r ? \"two\" : 3 == t && 13 != r ? \"few\" : \"other\" : 1 == e && l ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"year\", relative: { 0: \"this year\", 1: \"next year\", \"-1\": \"last year\" }, relativeTime: { future: { one: \"in {0} year\", other: \"in {0} years\" }, past: { one: \"{0} year ago\", other: \"{0} years ago\" } } }, month: { displayName: \"month\", relative: { 0: \"this month\", 1: \"next month\", \"-1\": \"last month\" }, relativeTime: { future: { one: \"in {0} month\", other: \"in {0} months\" }, past: { one: \"{0} month ago\", other: \"{0} months ago\" } } }, day: { displayName: \"day\", relative: { 0: \"today\", 1: \"tomorrow\", \"-1\": \"yesterday\" }, relativeTime: { future: { one: \"in {0} day\", other: \"in {0} days\" }, past: { one: \"{0} day ago\", other: \"{0} days ago\" } } }, hour: { displayName: \"hour\", relative: { 0: \"this hour\" }, relativeTime: { future: { one: \"in {0} hour\", other: \"in {0} hours\" }, past: { one: \"{0} hour ago\", other: \"{0} hours ago\" } } }, minute: { displayName: \"minute\", relative: { 0: \"this minute\" }, relativeTime: { future: { one: \"in {0} minute\", other: \"in {0} minutes\" }, past: { one: \"{0} minute ago\", other: \"{0} minutes ago\" } } }, second: { displayName: \"second\", relative: { 0: \"now\" }, relativeTime: { future: { one: \"in {0} second\", other: \"in {0} seconds\" }, past: { one: \"{0} second ago\", other: \"{0} seconds ago\" } } } } }, { locale: \"en-001\", parentLocale: \"en\" }, { locale: \"en-150\", parentLocale: \"en-001\" }, { locale: \"en-AG\", parentLocale: \"en-001\" }, { locale: \"en-AI\", parentLocale: \"en-001\" }, { locale: \"en-AS\", parentLocale: \"en\" }, { locale: \"en-AT\", parentLocale: \"en-150\" }, { locale: \"en-AU\", parentLocale: \"en-001\" }, { locale: \"en-BB\", parentLocale: \"en-001\" }, { locale: \"en-BE\", parentLocale: \"en-001\" }, { locale: \"en-BI\", parentLocale: \"en\" }, { locale: \"en-BM\", parentLocale: \"en-001\" }, { locale: \"en-BS\", parentLocale: \"en-001\" }, { locale: \"en-BW\", parentLocale: \"en-001\" }, { locale: \"en-BZ\", parentLocale: \"en-001\" }, { locale: \"en-CA\", parentLocale: \"en-001\" }, { locale: \"en-CC\", parentLocale: \"en-001\" }, { locale: \"en-CH\", parentLocale: \"en-150\" }, { locale: \"en-CK\", parentLocale: \"en-001\" }, { locale: \"en-CM\", parentLocale: \"en-001\" }, { locale: \"en-CX\", parentLocale: \"en-001\" }, { locale: \"en-CY\", parentLocale: \"en-001\" }, { locale: \"en-DE\", parentLocale: \"en-150\" }, { locale: \"en-DG\", parentLocale: \"en-001\" }, { locale: \"en-DK\", parentLocale: \"en-150\" }, { locale: \"en-DM\", parentLocale: \"en-001\" }, { locale: \"en-Dsrt\", pluralRuleFunction: function (e, a) {\n return \"other\";\n }, fields: { year: { displayName: \"Year\", relative: { 0: \"this year\", 1: \"next year\", \"-1\": \"last year\" }, relativeTime: { future: { other: \"+{0} y\" }, past: { other: \"-{0} y\" } } }, month: { displayName: \"Month\", relative: { 0: \"this month\", 1: \"next month\", \"-1\": \"last month\" }, relativeTime: { future: { other: \"+{0} m\" }, past: { other: \"-{0} m\" } } }, day: { displayName: \"Day\", relative: { 0: \"today\", 1: \"tomorrow\", \"-1\": \"yesterday\" }, relativeTime: { future: { other: \"+{0} d\" }, past: { other: \"-{0} d\" } } }, hour: { displayName: \"Hour\", relative: { 0: \"this hour\" }, relativeTime: { future: { other: \"+{0} h\" }, past: { other: \"-{0} h\" } } }, minute: { displayName: \"Minute\", relative: { 0: \"this minute\" }, relativeTime: { future: { other: \"+{0} min\" }, past: { other: \"-{0} min\" } } }, second: { displayName: \"Second\", relative: { 0: \"now\" }, relativeTime: { future: { other: \"+{0} s\" }, past: { other: \"-{0} s\" } } } } }, { locale: \"en-ER\", parentLocale: \"en-001\" }, { locale: \"en-FI\", parentLocale: \"en-150\" }, { locale: \"en-FJ\", parentLocale: \"en-001\" }, { locale: \"en-FK\", parentLocale: \"en-001\" }, { locale: \"en-FM\", parentLocale: \"en-001\" }, { locale: \"en-GB\", parentLocale: \"en-001\" }, { locale: \"en-GD\", parentLocale: \"en-001\" }, { locale: \"en-GG\", parentLocale: \"en-001\" }, { locale: \"en-GH\", parentLocale: \"en-001\" }, { locale: \"en-GI\", parentLocale: \"en-001\" }, { locale: \"en-GM\", parentLocale: \"en-001\" }, { locale: \"en-GU\", parentLocale: \"en\" }, { locale: \"en-GY\", parentLocale: \"en-001\" }, { locale: \"en-HK\", parentLocale: \"en-001\" }, { locale: \"en-IE\", parentLocale: \"en-001\" }, { locale: \"en-IL\", parentLocale: \"en-001\" }, { locale: \"en-IM\", parentLocale: \"en-001\" }, { locale: \"en-IN\", parentLocale: \"en-001\" }, { locale: \"en-IO\", parentLocale: \"en-001\" }, { locale: \"en-JE\", parentLocale: \"en-001\" }, { locale: \"en-JM\", parentLocale: \"en-001\" }, { locale: \"en-KE\", parentLocale: \"en-001\" }, { locale: \"en-KI\", parentLocale: \"en-001\" }, { locale: \"en-KN\", parentLocale: \"en-001\" }, { locale: \"en-KY\", parentLocale: \"en-001\" }, { locale: \"en-LC\", parentLocale: \"en-001\" }, { locale: \"en-LR\", parentLocale: \"en-001\" }, { locale: \"en-LS\", parentLocale: \"en-001\" }, { locale: \"en-MG\", parentLocale: \"en-001\" }, { locale: \"en-MH\", parentLocale: \"en\" }, { locale: \"en-MO\", parentLocale: \"en-001\" }, { locale: \"en-MP\", parentLocale: \"en\" }, { locale: \"en-MS\", parentLocale: \"en-001\" }, { locale: \"en-MT\", parentLocale: \"en-001\" }, { locale: \"en-MU\", parentLocale: \"en-001\" }, { locale: \"en-MW\", parentLocale: \"en-001\" }, { locale: \"en-MY\", parentLocale: \"en-001\" }, { locale: \"en-NA\", parentLocale: \"en-001\" }, { locale: \"en-NF\", parentLocale: \"en-001\" }, { locale: \"en-NG\", parentLocale: \"en-001\" }, { locale: \"en-NL\", parentLocale: \"en-150\" }, { locale: \"en-NR\", parentLocale: \"en-001\" }, { locale: \"en-NU\", parentLocale: \"en-001\" }, { locale: \"en-NZ\", parentLocale: \"en-001\" }, { locale: \"en-PG\", parentLocale: \"en-001\" }, { locale: \"en-PH\", parentLocale: \"en-001\" }, { locale: \"en-PK\", parentLocale: \"en-001\" }, { locale: \"en-PN\", parentLocale: \"en-001\" }, { locale: \"en-PR\", parentLocale: \"en\" }, { locale: \"en-PW\", parentLocale: \"en-001\" }, { locale: \"en-RW\", parentLocale: \"en-001\" }, { locale: \"en-SB\", parentLocale: \"en-001\" }, { locale: \"en-SC\", parentLocale: \"en-001\" }, { locale: \"en-SD\", parentLocale: \"en-001\" }, { locale: \"en-SE\", parentLocale: \"en-150\" }, { locale: \"en-SG\", parentLocale: \"en-001\" }, { locale: \"en-SH\", parentLocale: \"en-001\" }, { locale: \"en-SI\", parentLocale: \"en-150\" }, { locale: \"en-SL\", parentLocale: \"en-001\" }, { locale: \"en-SS\", parentLocale: \"en-001\" }, { locale: \"en-SX\", parentLocale: \"en-001\" }, { locale: \"en-SZ\", parentLocale: \"en-001\" }, { locale: \"en-Shaw\", pluralRuleFunction: function (e, a) {\n return \"other\";\n }, fields: { year: { displayName: \"Year\", relative: { 0: \"this year\", 1: \"next year\", \"-1\": \"last year\" }, relativeTime: { future: { other: \"+{0} y\" }, past: { other: \"-{0} y\" } } }, month: { displayName: \"Month\", relative: { 0: \"this month\", 1: \"next month\", \"-1\": \"last month\" }, relativeTime: { future: { other: \"+{0} m\" }, past: { other: \"-{0} m\" } } }, day: { displayName: \"Day\", relative: { 0: \"today\", 1: \"tomorrow\", \"-1\": \"yesterday\" }, relativeTime: { future: { other: \"+{0} d\" }, past: { other: \"-{0} d\" } } }, hour: { displayName: \"Hour\", relative: { 0: \"this hour\" }, relativeTime: { future: { other: \"+{0} h\" }, past: { other: \"-{0} h\" } } }, minute: { displayName: \"Minute\", relative: { 0: \"this minute\" }, relativeTime: { future: { other: \"+{0} min\" }, past: { other: \"-{0} min\" } } }, second: { displayName: \"Second\", relative: { 0: \"now\" }, relativeTime: { future: { other: \"+{0} s\" }, past: { other: \"-{0} s\" } } } } }, { locale: \"en-TC\", parentLocale: \"en-001\" }, { locale: \"en-TK\", parentLocale: \"en-001\" }, { locale: \"en-TO\", parentLocale: \"en-001\" }, { locale: \"en-TT\", parentLocale: \"en-001\" }, { locale: \"en-TV\", parentLocale: \"en-001\" }, { locale: \"en-TZ\", parentLocale: \"en-001\" }, { locale: \"en-UG\", parentLocale: \"en-001\" }, { locale: \"en-UM\", parentLocale: \"en\" }, { locale: \"en-US\", parentLocale: \"en\" }, { locale: \"en-VC\", parentLocale: \"en-001\" }, { locale: \"en-VG\", parentLocale: \"en-001\" }, { locale: \"en-VI\", parentLocale: \"en\" }, { locale: \"en-VU\", parentLocale: \"en-001\" }, { locale: \"en-WS\", parentLocale: \"en-001\" }, { locale: \"en-ZA\", parentLocale: \"en-001\" }, { locale: \"en-ZM\", parentLocale: \"en-001\" }, { locale: \"en-ZW\", parentLocale: \"en-001\" }];\n});" + }, + { + "id": 671, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_en.js", + "name": "./tmp/packs/locale_en.js", + "index": 829, + "index2": 831, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 58 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_en.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/en.json';\nimport localeData from \"react-intl/locale-data/en.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 672, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/en.json", + "name": "./app/javascript/mastodon/locales/en.json", + "index": 830, + "index2": 829, + "size": 10925, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 58 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_en.js", + "issuerId": 671, + "issuerName": "./tmp/packs/locale_en.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 671, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_en.js", + "module": "./tmp/packs/locale_en.js", + "moduleName": "./tmp/packs/locale_en.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/en.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Block @{name}\",\"account.block_domain\":\"Hide everything from {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Edit profile\",\"account.follow\":\"Follow\",\"account.followers\":\"Followers\",\"account.follows\":\"Follows\",\"account.follows_you\":\"Follows you\",\"account.media\":\"Media\",\"account.mention\":\"Mention @{name}\",\"account.mute\":\"Mute @{name}\",\"account.posts\":\"Posts\",\"account.report\":\"Report @{name}\",\"account.requested\":\"Awaiting approval. Click to cancel follow request\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Unblock @{name}\",\"account.unblock_domain\":\"Unhide {domain}\",\"account.unfollow\":\"Unfollow\",\"account.unmute\":\"Unmute @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"You can press {combo} to skip this next time\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Blocked users\",\"column.community\":\"Local timeline\",\"column.favourites\":\"Favourites\",\"column.follow_requests\":\"Follow requests\",\"column.home\":\"Home\",\"column.mutes\":\"Muted users\",\"column.notifications\":\"Notifications\",\"column.pins\":\"Pinned toots\",\"column.public\":\"Federated timeline\",\"column_back_button.label\":\"Back\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Settings\",\"compose_form.lock_disclaimer\":\"Your account is not {locked}. Anyone can follow you to view your follower-only posts.\",\"compose_form.lock_disclaimer.lock\":\"locked\",\"compose_form.placeholder\":\"What is on your mind?\",\"compose_form.publish\":\"Toot\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Mark media as sensitive\",\"compose_form.spoiler\":\"Hide text behind warning\",\"compose_form.spoiler_placeholder\":\"Write your warning here\",\"confirmation_modal.cancel\":\"Cancel\",\"confirmations.block.confirm\":\"Block\",\"confirmations.block.message\":\"Are you sure you want to block {name}?\",\"confirmations.delete.confirm\":\"Delete\",\"confirmations.delete.message\":\"Are you sure you want to delete this status?\",\"confirmations.domain_block.confirm\":\"Hide entire domain\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Mute\",\"confirmations.mute.message\":\"Are you sure you want to mute {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Activity\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Flags\",\"emoji_button.food\":\"Food & Drink\",\"emoji_button.label\":\"Insert emoji\",\"emoji_button.nature\":\"Nature\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objects\",\"emoji_button.people\":\"People\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Search...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Symbols\",\"emoji_button.travel\":\"Travel & Places\",\"empty_column.community\":\"The local timeline is empty. Write something publicly to get the ball rolling!\",\"empty_column.hashtag\":\"There is nothing in this hashtag yet.\",\"empty_column.home\":\"Your home timeline is empty! Visit {public} or use search to get started and meet other users.\",\"empty_column.home.public_timeline\":\"the public timeline\",\"empty_column.notifications\":\"You don't have any notifications yet. Interact with others to start the conversation.\",\"empty_column.public\":\"There is nothing here! Write something publicly, or manually follow users from other instances to fill it up\",\"follow_request.authorize\":\"Authorize\",\"follow_request.reject\":\"Reject\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Getting started\",\"getting_started.open_source_notice\":\"Mastodon is open source software. You can contribute or report issues on GitHub at {github}.\",\"getting_started.userguide\":\"User Guide\",\"home.column_settings.advanced\":\"Advanced\",\"home.column_settings.basic\":\"Basic\",\"home.column_settings.filter_regex\":\"Filter out by regular expressions\",\"home.column_settings.show_reblogs\":\"Show boosts\",\"home.column_settings.show_replies\":\"Show replies\",\"home.settings\":\"Column settings\",\"lightbox.close\":\"Close\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Loading...\",\"media_gallery.toggle_visible\":\"Toggle visibility\",\"missing_indicator.label\":\"Not found\",\"navigation_bar.blocks\":\"Blocked users\",\"navigation_bar.community_timeline\":\"Local timeline\",\"navigation_bar.edit_profile\":\"Edit profile\",\"navigation_bar.favourites\":\"Favourites\",\"navigation_bar.follow_requests\":\"Follow requests\",\"navigation_bar.info\":\"About this instance\",\"navigation_bar.logout\":\"Logout\",\"navigation_bar.mutes\":\"Muted users\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Preferences\",\"navigation_bar.public_timeline\":\"Federated timeline\",\"notification.favourite\":\"{name} favourited your status\",\"notification.follow\":\"{name} followed you\",\"notification.mention\":\"{name} mentioned you\",\"notification.reblog\":\"{name} boosted your status\",\"notifications.clear\":\"Clear notifications\",\"notifications.clear_confirmation\":\"Are you sure you want to permanently clear all your notifications?\",\"notifications.column_settings.alert\":\"Desktop notifications\",\"notifications.column_settings.favourite\":\"Favourites:\",\"notifications.column_settings.follow\":\"New followers:\",\"notifications.column_settings.mention\":\"Mentions:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Boosts:\",\"notifications.column_settings.show\":\"Show in column\",\"notifications.column_settings.sound\":\"Play sound\",\"onboarding.done\":\"Done\",\"onboarding.next\":\"Next\",\"onboarding.page_five.public_timelines\":\"The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.\",\"onboarding.page_four.home\":\"The home timeline shows posts from people you follow.\",\"onboarding.page_four.notifications\":\"The notifications column shows when someone interacts with you.\",\"onboarding.page_one.federation\":\"Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.\",\"onboarding.page_one.handle\":\"You are on {domain}, so your full handle is {handle}\",\"onboarding.page_one.welcome\":\"Welcome to Mastodon!\",\"onboarding.page_six.admin\":\"Your instance's admin is {admin}.\",\"onboarding.page_six.almost_done\":\"Almost done...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"There are {apps} available for iOS, Android and other platforms.\",\"onboarding.page_six.github\":\"Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.\",\"onboarding.page_six.guidelines\":\"community guidelines\",\"onboarding.page_six.read_guidelines\":\"Please read {domain}'s {guidelines}!\",\"onboarding.page_six.various_app\":\"mobile apps\",\"onboarding.page_three.profile\":\"Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.\",\"onboarding.page_three.search\":\"Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.\",\"onboarding.page_two.compose\":\"Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.\",\"onboarding.skip\":\"Skip\",\"privacy.change\":\"Adjust status privacy\",\"privacy.direct.long\":\"Post to mentioned users only\",\"privacy.direct.short\":\"Direct\",\"privacy.private.long\":\"Post to followers only\",\"privacy.private.short\":\"Followers-only\",\"privacy.public.long\":\"Post to public timelines\",\"privacy.public.short\":\"Public\",\"privacy.unlisted.long\":\"Do not post to public timelines\",\"privacy.unlisted.short\":\"Unlisted\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Cancel\",\"report.placeholder\":\"Additional comments\",\"report.submit\":\"Submit\",\"report.target\":\"Reporting {target}\",\"search.placeholder\":\"Search\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {result} other {results}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"This post cannot be boosted\",\"status.delete\":\"Delete\",\"status.embed\":\"Embed\",\"status.favourite\":\"Favourite\",\"status.load_more\":\"Load more\",\"status.media_hidden\":\"Media hidden\",\"status.mention\":\"Mention @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"Mute conversation\",\"status.open\":\"Expand this status\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Boost\",\"status.reblogged_by\":\"{name} boosted\",\"status.reply\":\"Reply\",\"status.replyAll\":\"Reply to thread\",\"status.report\":\"Report @{name}\",\"status.sensitive_toggle\":\"Click to view\",\"status.sensitive_warning\":\"Sensitive content\",\"status.share\":\"Share\",\"status.show_less\":\"Show less\",\"status.show_more\":\"Show more\",\"status.unmute_conversation\":\"Unmute conversation\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Compose\",\"tabs_bar.federated_timeline\":\"Federated\",\"tabs_bar.home\":\"Home\",\"tabs_bar.local_timeline\":\"Local\",\"tabs_bar.notifications\":\"Notifications\",\"upload_area.title\":\"Drag & drop to upload\",\"upload_button.label\":\"Add media\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Undo\",\"upload_progress.label\":\"Uploading...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 671, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_en.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_en.js", + "moduleName": "./tmp/packs/locale_en.js", + "loc": "", + "name": "locale_en", + "reasons": [] + } + ] + }, + { + "id": 59, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 14330, + "names": [ + "locale_de" + ], + "files": [ + "locale_de-bf72ca55e704d5a96788.js", + "locale_de-bf72ca55e704d5a96788.js.map" + ], + "hash": "bf72ca55e704d5a96788", + "parents": [ + 65 + ], + "modules": [ + { + "id": 668, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_de.js", + "name": "./tmp/packs/locale_de.js", + "index": 826, + "index2": 828, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 59 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_de.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/de.json';\nimport localeData from \"react-intl/locale-data/de.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 669, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/de.json", + "name": "./app/javascript/mastodon/locales/de.json", + "index": 827, + "index2": 826, + "size": 11950, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 59 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_de.js", + "issuerId": 668, + "issuerName": "./tmp/packs/locale_de.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 668, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_de.js", + "module": "./tmp/packs/locale_de.js", + "moduleName": "./tmp/packs/locale_de.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/de.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"@{name} blocken\",\"account.block_domain\":\"Alles von {domain} verstecken\",\"account.disclaimer_full\":\"Das Profil wird möglicherweise unvollständig wiedergegeben.\",\"account.edit_profile\":\"Profil bearbeiten\",\"account.follow\":\"Folgen\",\"account.followers\":\"Folgende\",\"account.follows\":\"Folgt\",\"account.follows_you\":\"Folgt dir\",\"account.media\":\"Medien\",\"account.mention\":\"@{name} erwähnen\",\"account.mute\":\"@{name} stummschalten\",\"account.posts\":\"Beiträge\",\"account.report\":\"@{name} melden\",\"account.requested\":\"Warte auf Erlaubnis. Klicke zum Abbrechen\",\"account.share\":\"Profil von @{name} teilen\",\"account.unblock\":\"@{name} entblocken\",\"account.unblock_domain\":\"{domain} wieder anzeigen\",\"account.unfollow\":\"Entfolgen\",\"account.unmute\":\"@{name} nicht mehr stummschalten\",\"account.view_full_profile\":\"Vollständiges Profil anzeigen\",\"boost_modal.combo\":\"Du kannst {combo} drücken, um dies beim nächsten Mal zu überspringen\",\"bundle_column_error.body\":\"Etwas ist beim Laden schiefgelaufen.\",\"bundle_column_error.retry\":\"Erneut versuchen\",\"bundle_column_error.title\":\"Netzwerkfehler\",\"bundle_modal_error.close\":\"Schließen\",\"bundle_modal_error.message\":\"Etwas ist beim Laden schiefgelaufen.\",\"bundle_modal_error.retry\":\"Erneut versuchen\",\"column.blocks\":\"Blockierte Profile\",\"column.community\":\"Lokale Zeitleiste\",\"column.favourites\":\"Favoriten\",\"column.follow_requests\":\"Folgeanfragen\",\"column.home\":\"Startseite\",\"column.mutes\":\"Stummgeschaltete Profile\",\"column.notifications\":\"Mitteilungen\",\"column.pins\":\"Angeheftete Beiträge\",\"column.public\":\"Gesamtes bekanntes Netz\",\"column_back_button.label\":\"Zurück\",\"column_header.hide_settings\":\"Einstellungen verbergen\",\"column_header.moveLeft_settings\":\"Spalte nach links verschieben\",\"column_header.moveRight_settings\":\"Spalte nach rechts verschieben\",\"column_header.pin\":\"Anheften\",\"column_header.show_settings\":\"Einstellungen anzeigen\",\"column_header.unpin\":\"Lösen\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Einstellungen\",\"compose_form.lock_disclaimer\":\"Dein Profil ist nicht {locked}. Wer dir folgen will, kann das jederzeit tun und dann auch deine privaten Beiträge sehen.\",\"compose_form.lock_disclaimer.lock\":\"gesperrt\",\"compose_form.placeholder\":\"Worüber möchtest du schreiben?\",\"compose_form.publish\":\"Tröt\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Medien als heikel markieren\",\"compose_form.spoiler\":\"Text hinter Warnung verbergen\",\"compose_form.spoiler_placeholder\":\"Inhaltswarnung\",\"confirmation_modal.cancel\":\"Abbrechen\",\"confirmations.block.confirm\":\"Blockieren\",\"confirmations.block.message\":\"Bist du dir sicher, dass du {name} blockieren möchtest?\",\"confirmations.delete.confirm\":\"Löschen\",\"confirmations.delete.message\":\"Bist du dir sicher, dass du diesen Beitrag löschen möchtest?\",\"confirmations.domain_block.confirm\":\"Die ganze Domain verbergen\",\"confirmations.domain_block.message\":\"Bist du dir wirklich sicher, dass du die ganze Domain {domain} verbergen willst? In den meisten Fällen reichen ein paar gezielte Blocks aus.\",\"confirmations.mute.confirm\":\"Stummschalten\",\"confirmations.mute.message\":\"Bist du dir sicher, dass du {name} stummschalten möchtest?\",\"confirmations.unfollow.confirm\":\"Entfolgen\",\"confirmations.unfollow.message\":\"Bist du dir sicher, dass du {name} entfolgen möchtest?\",\"embed.instructions\":\"Du kannst diesen Beitrag auf deiner Webseite einbetten, indem du den folgenden Code einfügst.\",\"embed.preview\":\"So wird es aussehen:\",\"emoji_button.activity\":\"Aktivitäten\",\"emoji_button.custom\":\"Eigene\",\"emoji_button.flags\":\"Flaggen\",\"emoji_button.food\":\"Essen und Trinken\",\"emoji_button.label\":\"Emoji einfügen\",\"emoji_button.nature\":\"Natur\",\"emoji_button.not_found\":\"Keine Emojis!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Gegenstände\",\"emoji_button.people\":\"Personen\",\"emoji_button.recent\":\"Häufig benutzt\",\"emoji_button.search\":\"Suchen\",\"emoji_button.search_results\":\"Suchergebnisse\",\"emoji_button.symbols\":\"Symbole\",\"emoji_button.travel\":\"Reisen und Orte\",\"empty_column.community\":\"Die lokale Zeitleiste ist leer. Schreibe einen öffentlichen Beitrag, um den Ball ins Rollen zu bringen!\",\"empty_column.hashtag\":\"Unter diesem Hashtag gibt es noch nichts.\",\"empty_column.home\":\"Deine Startseite ist leer! Besuche {public} oder nutze die Suche, um loszulegen und andere Leute zu finden.\",\"empty_column.home.public_timeline\":\"die öffentliche Zeitleiste\",\"empty_column.notifications\":\"Du hast noch keine Mitteilungen. Interagiere mit anderen, um ins Gespräch zu kommen.\",\"empty_column.public\":\"Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Instanzen, um die Zeitleiste aufzufüllen\",\"follow_request.authorize\":\"Erlauben\",\"follow_request.reject\":\"Ablehnen\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"Häufig gestellte Fragen\",\"getting_started.heading\":\"Erste Schritte\",\"getting_started.open_source_notice\":\"Mastodon ist quelloffene Software. Du kannst auf GitHub unter {github} dazu beitragen oder Probleme melden.\",\"getting_started.userguide\":\"Bedienungsanleitung\",\"home.column_settings.advanced\":\"Erweitert\",\"home.column_settings.basic\":\"Einfach\",\"home.column_settings.filter_regex\":\"Mit regulären Ausdrücken filtern\",\"home.column_settings.show_reblogs\":\"Geteilte Beiträge anzeigen\",\"home.column_settings.show_replies\":\"Antworten anzeigen\",\"home.settings\":\"Spalteneinstellungen\",\"lightbox.close\":\"Schließen\",\"lightbox.next\":\"Weiter\",\"lightbox.previous\":\"Zurück\",\"loading_indicator.label\":\"Wird geladen …\",\"media_gallery.toggle_visible\":\"Sichtbarkeit umschalten\",\"missing_indicator.label\":\"Nicht gefunden\",\"navigation_bar.blocks\":\"Blockierte Profile\",\"navigation_bar.community_timeline\":\"Lokale Zeitleiste\",\"navigation_bar.edit_profile\":\"Profil bearbeiten\",\"navigation_bar.favourites\":\"Favoriten\",\"navigation_bar.follow_requests\":\"Folgeanfragen\",\"navigation_bar.info\":\"Über diese Instanz\",\"navigation_bar.logout\":\"Abmelden\",\"navigation_bar.mutes\":\"Stummgeschaltete Profile\",\"navigation_bar.pins\":\"Angeheftete Beiträge\",\"navigation_bar.preferences\":\"Einstellungen\",\"navigation_bar.public_timeline\":\"Föderierte Zeitleiste\",\"notification.favourite\":\"{name} hat deinen Beitrag favorisiert\",\"notification.follow\":\"{name} folgt dir\",\"notification.mention\":\"{name} hat dich erwähnt\",\"notification.reblog\":\"{name} hat deinen Beitrag geteilt\",\"notifications.clear\":\"Mitteilungen löschen\",\"notifications.clear_confirmation\":\"Bist du dir sicher, dass du alle Mitteilungen löschen möchtest?\",\"notifications.column_settings.alert\":\"Desktop-Benachrichtigungen\",\"notifications.column_settings.favourite\":\"Favorisierungen:\",\"notifications.column_settings.follow\":\"Neue Folgende:\",\"notifications.column_settings.mention\":\"Erwähnungen:\",\"notifications.column_settings.push\":\"Push-Benachrichtigungen\",\"notifications.column_settings.push_meta\":\"Auf diesem Gerät\",\"notifications.column_settings.reblog\":\"Geteilte Beiträge:\",\"notifications.column_settings.show\":\"In der Spalte anzeigen\",\"notifications.column_settings.sound\":\"Ton abspielen\",\"onboarding.done\":\"Fertig\",\"onboarding.next\":\"Weiter\",\"onboarding.page_five.public_timelines\":\"Die lokale Zeitleiste zeigt alle Beiträge von Leuten, die auch auf {domain} sind. Das gesamte bekannte Netz zeigt Beiträge von allen, denen von Leuten auf {domain} gefolgt wird. Zusammen sind sie die öffentlichen Zeitleisten. In ihnen kannst du viel Neues entdecken!\",\"onboarding.page_four.home\":\"Die Startseite zeigt dir Beiträge von Leuten, denen du folgst.\",\"onboarding.page_four.notifications\":\"Wenn jemand mit dir interagiert, bekommst du eine Mitteilung.\",\"onboarding.page_one.federation\":\"Mastodon ist ein soziales Netzwerk, das aus unabhängigen Servern besteht. Diese Server nennen wir auch Instanzen.\",\"onboarding.page_one.handle\":\"Du bist auf der Instanz {domain}, also ist dein vollständiger Profilname im Netzwerk {handle}\",\"onboarding.page_one.welcome\":\"Willkommen bei Mastodon!\",\"onboarding.page_six.admin\":\"Für deine Instanz ist {admin} zuständig.\",\"onboarding.page_six.almost_done\":\"Fast fertig …\",\"onboarding.page_six.appetoot\":\"Guten Appetröt!\",\"onboarding.page_six.apps_available\":\"Es gibt verschiedene {apps} für iOS, Android und weitere Plattformen.\",\"onboarding.page_six.github\":\"Mastodon ist freie, quelloffene Software. Du kannst auf {github} dazu beitragen, Probleme melden und Wünsche äußern.\",\"onboarding.page_six.guidelines\":\"Richtlinien\",\"onboarding.page_six.read_guidelines\":\"Bitte mach dich mit den {guidelines} von {domain} vertraut.\",\"onboarding.page_six.various_app\":\"Apps\",\"onboarding.page_three.profile\":\"Bearbeite dein Profil, um dein Bild, deinen Namen und deine Beschreibung anzupassen. Dort findest du auch weitere Einstellungen.\",\"onboarding.page_three.search\":\"Benutze die Suchfunktion, um Leute zu finden und mit Hashtags wie {illustration} oder {introductions} nach Beiträgen zu suchen. Um eine Person zu finden, die auf einer anderen Instanz ist, benutze den vollständigen Profilnamen.\",\"onboarding.page_two.compose\":\"Schreibe deine Beiträge in der Schreiben-Spalte. Mit den Symbolen unter dem Eingabefeld kannst du Bilder hochladen, Sichtbarkeits-Einstellungen ändern und Inhaltswarnungen hinzufügen.\",\"onboarding.skip\":\"Überspringen\",\"privacy.change\":\"Sichtbarkeit des Beitrags anpassen\",\"privacy.direct.long\":\"Beitrag nur an erwähnte Profile\",\"privacy.direct.short\":\"Direkt\",\"privacy.private.long\":\"Beitrag nur an Folgende\",\"privacy.private.short\":\"Nur Folgende\",\"privacy.public.long\":\"Beitrag an öffentliche Zeitleisten\",\"privacy.public.short\":\"Öffentlich\",\"privacy.unlisted.long\":\"Nicht in öffentlichen Zeitleisten anzeigen\",\"privacy.unlisted.short\":\"Nicht gelistet\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Abbrechen\",\"report.placeholder\":\"Zusätzliche Kommentare\",\"report.submit\":\"Absenden\",\"report.target\":\"{target} melden\",\"search.placeholder\":\"Suche\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {Ergebnis} other {Ergebnisse}}\",\"standalone.public_title\":\"Ein kleiner Einblick …\",\"status.cannot_reblog\":\"Dieser Beitrag kann nicht geteilt werden\",\"status.delete\":\"Löschen\",\"status.embed\":\"Einbetten\",\"status.favourite\":\"Favorisieren\",\"status.load_more\":\"Weitere laden\",\"status.media_hidden\":\"Medien versteckt\",\"status.mention\":\"@{name} erwähnen\",\"status.more\":\"Mehr\",\"status.mute_conversation\":\"Thread stummschalten\",\"status.open\":\"Diesen Beitrag öffnen\",\"status.pin\":\"Im Profil anheften\",\"status.reblog\":\"Teilen\",\"status.reblogged_by\":\"{name} teilte\",\"status.reply\":\"Antworten\",\"status.replyAll\":\"Auf Thread antworten\",\"status.report\":\"@{name} melden\",\"status.sensitive_toggle\":\"Zum Ansehen klicken\",\"status.sensitive_warning\":\"Heikle Inhalte\",\"status.share\":\"Teilen\",\"status.show_less\":\"Weniger anzeigen\",\"status.show_more\":\"Mehr anzeigen\",\"status.unmute_conversation\":\"Stummschaltung von Thread aufheben\",\"status.unpin\":\"Vom Profil lösen\",\"tabs_bar.compose\":\"Schreiben\",\"tabs_bar.federated_timeline\":\"Föderation\",\"tabs_bar.home\":\"Startseite\",\"tabs_bar.local_timeline\":\"Lokal\",\"tabs_bar.notifications\":\"Mitteilungen\",\"upload_area.title\":\"Zum Hochladen hereinziehen\",\"upload_button.label\":\"Mediendatei hinzufügen\",\"upload_form.description\":\"Für Menschen mit Sehbehinderung beschreiben\",\"upload_form.undo\":\"Entfernen\",\"upload_progress.label\":\"Wird hochgeladen …\",\"video.close\":\"Video schließen\",\"video.exit_fullscreen\":\"Vollbild verlassen\",\"video.expand\":\"Video vergrößern\",\"video.fullscreen\":\"Vollbild\",\"video.hide\":\"Video verbergen\",\"video.mute\":\"Stummschalten\",\"video.pause\":\"Pause\",\"video.play\":\"Abspielen\",\"video.unmute\":\"Ton einschalten\"}" + }, + { + "id": 670, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/de.js", + "name": "./node_modules/react-intl/locale-data/de.js", + "index": 828, + "index2": 827, + "size": 2055, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 59 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_de.js", + "issuerId": 668, + "issuerName": "./tmp/packs/locale_de.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 668, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_de.js", + "module": "./tmp/packs/locale_de.js", + "moduleName": "./tmp/packs/locale_de.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/de.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.de = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"de\", pluralRuleFunction: function (e, t) {\n var n = !String(e).split(\".\")[1];return t ? \"other\" : 1 == e && n ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"Jahr\", relative: { 0: \"dieses Jahr\", 1: \"nächstes Jahr\", \"-1\": \"letztes Jahr\" }, relativeTime: { future: { one: \"in {0} Jahr\", other: \"in {0} Jahren\" }, past: { one: \"vor {0} Jahr\", other: \"vor {0} Jahren\" } } }, month: { displayName: \"Monat\", relative: { 0: \"diesen Monat\", 1: \"nächsten Monat\", \"-1\": \"letzten Monat\" }, relativeTime: { future: { one: \"in {0} Monat\", other: \"in {0} Monaten\" }, past: { one: \"vor {0} Monat\", other: \"vor {0} Monaten\" } } }, day: { displayName: \"Tag\", relative: { 0: \"heute\", 1: \"morgen\", 2: \"übermorgen\", \"-2\": \"vorgestern\", \"-1\": \"gestern\" }, relativeTime: { future: { one: \"in {0} Tag\", other: \"in {0} Tagen\" }, past: { one: \"vor {0} Tag\", other: \"vor {0} Tagen\" } } }, hour: { displayName: \"Stunde\", relative: { 0: \"in dieser Stunde\" }, relativeTime: { future: { one: \"in {0} Stunde\", other: \"in {0} Stunden\" }, past: { one: \"vor {0} Stunde\", other: \"vor {0} Stunden\" } } }, minute: { displayName: \"Minute\", relative: { 0: \"in dieser Minute\" }, relativeTime: { future: { one: \"in {0} Minute\", other: \"in {0} Minuten\" }, past: { one: \"vor {0} Minute\", other: \"vor {0} Minuten\" } } }, second: { displayName: \"Sekunde\", relative: { 0: \"jetzt\" }, relativeTime: { future: { one: \"in {0} Sekunde\", other: \"in {0} Sekunden\" }, past: { one: \"vor {0} Sekunde\", other: \"vor {0} Sekunden\" } } } } }, { locale: \"de-AT\", parentLocale: \"de\" }, { locale: \"de-BE\", parentLocale: \"de\" }, { locale: \"de-CH\", parentLocale: \"de\" }, { locale: \"de-IT\", parentLocale: \"de\" }, { locale: \"de-LI\", parentLocale: \"de\" }, { locale: \"de-LU\", parentLocale: \"de\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 668, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_de.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_de.js", + "moduleName": "./tmp/packs/locale_de.js", + "loc": "", + "name": "locale_de", + "reasons": [] + } + ] + }, + { + "id": 60, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 15482, + "names": [ + "locale_ca" + ], + "files": [ + "locale_ca-04107d1a98af2b039204.js", + "locale_ca-04107d1a98af2b039204.js.map" + ], + "hash": "04107d1a98af2b039204", + "parents": [ + 65 + ], + "modules": [ + { + "id": 665, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ca.js", + "name": "./tmp/packs/locale_ca.js", + "index": 823, + "index2": 825, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 60 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_ca.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/ca.json';\nimport localeData from \"react-intl/locale-data/ca.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 666, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/ca.json", + "name": "./app/javascript/mastodon/locales/ca.json", + "index": 824, + "index2": 823, + "size": 11725, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 60 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ca.js", + "issuerId": 665, + "issuerName": "./tmp/packs/locale_ca.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 665, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ca.js", + "module": "./tmp/packs/locale_ca.js", + "moduleName": "./tmp/packs/locale_ca.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/ca.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Bloquejar @{name}\",\"account.block_domain\":\"Amagar tot de {domain}\",\"account.disclaimer_full\":\"La informació següent pot reflectir incompleta el perfil de l'usuari.\",\"account.edit_profile\":\"Editar perfil\",\"account.follow\":\"Seguir\",\"account.followers\":\"Seguidors\",\"account.follows\":\"Seguint\",\"account.follows_you\":\"et segueix\",\"account.media\":\"Media\",\"account.mention\":\"Esmentar @{name}\",\"account.mute\":\"Silenciar @{name}\",\"account.posts\":\"Publicacions\",\"account.report\":\"Informe @{name}\",\"account.requested\":\"Esperant aprovació\",\"account.share\":\"Compartir el perfil de @{name}\",\"account.unblock\":\"Desbloquejar @{name}\",\"account.unblock_domain\":\"Mostra {domain}\",\"account.unfollow\":\"Deixar de seguir\",\"account.unmute\":\"Treure silenci de @{name}\",\"account.view_full_profile\":\"Veure el perfil complet\",\"boost_modal.combo\":\"Pots premer {combo} per saltar-te això el proper cop\",\"bundle_column_error.body\":\"S'ha produït un error en carregar aquest component.\",\"bundle_column_error.retry\":\"Torna-ho a provar\",\"bundle_column_error.title\":\"Error de connexió\",\"bundle_modal_error.close\":\"Tanca\",\"bundle_modal_error.message\":\"S'ha produït un error en carregar aquest component.\",\"bundle_modal_error.retry\":\"Torna-ho a provar\",\"column.blocks\":\"Usuaris bloquejats\",\"column.community\":\"Línia de temps local\",\"column.favourites\":\"Favorits\",\"column.follow_requests\":\"Peticions per seguir-te\",\"column.home\":\"Inici\",\"column.mutes\":\"Usuaris silenciats\",\"column.notifications\":\"Notificacions\",\"column.pins\":\"Toot fixat\",\"column.public\":\"Línia de temps federada\",\"column_back_button.label\":\"Enrere\",\"column_header.hide_settings\":\"Amaga la configuració\",\"column_header.moveLeft_settings\":\"Mou la columna cap a l'esquerra\",\"column_header.moveRight_settings\":\"Mou la columna cap a la dreta\",\"column_header.pin\":\"Fixar\",\"column_header.show_settings\":\"Mostra la configuració\",\"column_header.unpin\":\"Deslligar\",\"column_subheading.navigation\":\"Navegació\",\"column_subheading.settings\":\"Configuració\",\"compose_form.lock_disclaimer\":\"El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges a seguidors.\",\"compose_form.lock_disclaimer.lock\":\"bloquejat\",\"compose_form.placeholder\":\"En què estàs pensant?\",\"compose_form.publish\":\"Toot\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Marcar multimèdia com a sensible\",\"compose_form.spoiler\":\"Amagar text darrera l'advertència\",\"compose_form.spoiler_placeholder\":\"Advertència de contingut\",\"confirmation_modal.cancel\":\"Cancel·lar\",\"confirmations.block.confirm\":\"Bloquejar\",\"confirmations.block.message\":\"Estàs segur que vols bloquejar {name}?\",\"confirmations.delete.confirm\":\"Esborrar\",\"confirmations.delete.message\":\"Estàs segur que vols esborrar aquest estat?\",\"confirmations.domain_block.confirm\":\"Amagar tot el domini\",\"confirmations.domain_block.message\":\"Estàs realment, realment segur que vols bloquejar totalment {domain}? En la majoria dels casos bloquejar o silenciar és suficient i preferible.\",\"confirmations.mute.confirm\":\"Silenciar\",\"confirmations.mute.message\":\"Estàs segur que vols silenciar {name}?\",\"confirmations.unfollow.confirm\":\"Deixar de seguir\",\"confirmations.unfollow.message\":\"Estàs segur que vols deixar de seguir {name}?\",\"embed.instructions\":\"Incrusta aquest estat al lloc web copiant el codi a continuació.\",\"embed.preview\":\"A continuació s'explica com:\",\"emoji_button.activity\":\"Activitat\",\"emoji_button.custom\":\"Personalitzat\",\"emoji_button.flags\":\"Flags\",\"emoji_button.food\":\"Menjar i Beure\",\"emoji_button.label\":\"Inserir emoji\",\"emoji_button.nature\":\"Natura\",\"emoji_button.not_found\":\"Emojos no!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objectes\",\"emoji_button.people\":\"Gent\",\"emoji_button.recent\":\"Freqüentment utilitzat\",\"emoji_button.search\":\"Cercar...\",\"emoji_button.search_results\":\"Resultats de la cerca\",\"emoji_button.symbols\":\"Símbols\",\"emoji_button.travel\":\"Viatges i Llocs\",\"empty_column.community\":\"La línia de temps local és buida. Escriu alguna cosa públicament per fer rodar la pilota!\",\"empty_column.hashtag\":\"Encara no hi ha res amb aquesta etiqueta.\",\"empty_column.home\":\"Encara no segueixes ningú. Visita {public} o fes cerca per començar i conèixer altres usuaris.\",\"empty_column.home.public_timeline\":\"la línia de temps pública\",\"empty_column.notifications\":\"Encara no tens notificacions. Interactua amb altres per iniciar la conversa.\",\"empty_column.public\":\"No hi ha res aquí! Escriu alguna cosa públicament o segueix manualment usuaris d'altres instàncies per omplir-ho\",\"follow_request.authorize\":\"Autoritzar\",\"follow_request.reject\":\"Rebutjar\",\"getting_started.appsshort\":\"Aplicacions\",\"getting_started.faq\":\"PMF\",\"getting_started.heading\":\"Començant\",\"getting_started.open_source_notice\":\"Mastodon és un programari de codi obert. Pots contribuir o informar de problemes a GitHub de {github}.\",\"getting_started.userguide\":\"Guia de l'usuari\",\"home.column_settings.advanced\":\"Avançat\",\"home.column_settings.basic\":\"Bàsic\",\"home.column_settings.filter_regex\":\"Filtrar per expressió regular\",\"home.column_settings.show_reblogs\":\"Mostrar 'boosts'\",\"home.column_settings.show_replies\":\"Mostrar respostes\",\"home.settings\":\"Ajustos de columna\",\"lightbox.close\":\"Tancar\",\"lightbox.next\":\"Següent\",\"lightbox.previous\":\"Anterior\",\"loading_indicator.label\":\"Carregant...\",\"media_gallery.toggle_visible\":\"Alternar visibilitat\",\"missing_indicator.label\":\"No trobat\",\"navigation_bar.blocks\":\"Usuaris bloquejats\",\"navigation_bar.community_timeline\":\"Línia de temps Local\",\"navigation_bar.edit_profile\":\"Editar perfil\",\"navigation_bar.favourites\":\"Favorits\",\"navigation_bar.follow_requests\":\"Sol·licituds de seguiment\",\"navigation_bar.info\":\"Informació addicional\",\"navigation_bar.logout\":\"Tancar sessió\",\"navigation_bar.mutes\":\"Usuaris silenciats\",\"navigation_bar.pins\":\"Toots fixats\",\"navigation_bar.preferences\":\"Preferències\",\"navigation_bar.public_timeline\":\"Línia de temps federada\",\"notification.favourite\":\"{name} ha afavorit el teu estat\",\"notification.follow\":\"{name} et segueix\",\"notification.mention\":\"{name} t'ha esmentat\",\"notification.reblog\":\"{name} ha retootejat el teu estat\",\"notifications.clear\":\"Netejar notificacions\",\"notifications.clear_confirmation\":\"Estàs segur que vols esborrar permanenment totes les teves notificacions?\",\"notifications.column_settings.alert\":\"Notificacions d'escriptori\",\"notifications.column_settings.favourite\":\"Favorits:\",\"notifications.column_settings.follow\":\"Nous seguidors:\",\"notifications.column_settings.mention\":\"Mencions:\",\"notifications.column_settings.push\":\"Push notificacions\",\"notifications.column_settings.push_meta\":\"Aquest dispositiu\",\"notifications.column_settings.reblog\":\"Boosts:\",\"notifications.column_settings.show\":\"Mostrar en la columna\",\"notifications.column_settings.sound\":\"Reproduïr so\",\"onboarding.done\":\"Fet\",\"onboarding.next\":\"Següent\",\"onboarding.page_five.public_timelines\":\"La línia de temps local mostra missatges públics de tothom de {domain}. La línia de temps federada mostra els missatges públics de tothom que la gent de {domain} segueix. Aquests són les línies de temps Públiques, una bona manera de descobrir noves persones.\",\"onboarding.page_four.home\":\"La línia de temps d'Inici mostra missatges de les persones que segueixes.\",\"onboarding.page_four.notifications\":\"La columna Notificacions mostra quan algú interactua amb tu.\",\"onboarding.page_one.federation\":\"Mastodon és una xarxa de servidors independents que s'uneixen per fer una més gran xarxa social. A aquests servidors els hi diem instàncies.\",\"onboarding.page_one.handle\":\"Ets a {domain}, per tant el teu usuari complert és {handle}\",\"onboarding.page_one.welcome\":\"Benvingut a Mastodon!\",\"onboarding.page_six.admin\":\"L'administrador de la teva instància és {admin}.\",\"onboarding.page_six.almost_done\":\"Quasi fet...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"Hi ha {apps} disponibles per iOS, Android i altres plataformes.\",\"onboarding.page_six.github\":\"Mastodon és un programari de codi obert. Pots informar d'errors, sol·licitar característiques o contribuir en el codi a {github}.\",\"onboarding.page_six.guidelines\":\"Normes de la comunitat\",\"onboarding.page_six.read_guidelines\":\"Si us plau llegeix les {guidelines} de {domain}!\",\"onboarding.page_six.various_app\":\"aplicacions per mòbils\",\"onboarding.page_three.profile\":\"Edita el teu perfil per canviar el teu avatar, bio o el nom de visualització. També hi trobaràs altres preferències.\",\"onboarding.page_three.search\":\"Utilitza la barra de cerca per trobar gent i mirar etiquetes, com a {illustration} i {introductions}. Per buscar una persona que no està en aquesta instància, utilitza tot el seu nom d'usuari complert.\",\"onboarding.page_two.compose\":\"Escriu missatges en la columna de redacció. Pots pujar imatges, canviar la configuració de privacitat i afegir les advertències de contingut amb les icones de sota.\",\"onboarding.skip\":\"Omet\",\"privacy.change\":\"Ajusta l'estat de privacitat\",\"privacy.direct.long\":\"Publicar només per als usuaris esmentats\",\"privacy.direct.short\":\"Directe\",\"privacy.private.long\":\"Publicar només a seguidors\",\"privacy.private.short\":\"Només seguidors\",\"privacy.public.long\":\"Publicar en línies de temps públiques\",\"privacy.public.short\":\"Públic\",\"privacy.unlisted.long\":\"No publicar en línies de temps públiques\",\"privacy.unlisted.short\":\"No llistat\",\"relative_time.days\":\"fa {number} jorns\",\"relative_time.hours\":\"fa {number} hores\",\"relative_time.just_now\":\"ara\",\"relative_time.minutes\":\"fa {number} minutes\",\"relative_time.seconds\":\"fa {number} segondes\",\"reply_indicator.cancel\":\"Cancel·lar\",\"report.placeholder\":\"Comentaris addicionals\",\"report.submit\":\"Enviar\",\"report.target\":\"Informes\",\"search.placeholder\":\"Cercar\",\"search_popout.search_format\":\"Format de cerca avançada\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"El text simple retorna coincidències amb els noms de visualització, els noms d'usuari i els hashtags\",\"search_popout.tips.user\":\"usuari\",\"search_results.total\":\"{count, number} {count, plural, un {result} altres {results}}\",\"standalone.public_title\":\"Una mirada a l'interior ...\",\"status.cannot_reblog\":\"Aquesta publicació no pot ser retootejada\",\"status.delete\":\"Esborrar\",\"status.embed\":\"Incrustar\",\"status.favourite\":\"Favorit\",\"status.load_more\":\"Carrega més\",\"status.media_hidden\":\"Multimèdia amagat\",\"status.mention\":\"Esmentar @{name}\",\"status.more\":\"Més\",\"status.mute_conversation\":\"Silenciar conversació\",\"status.open\":\"Ampliar aquest estat\",\"status.pin\":\"Fixat en el perfil\",\"status.reblog\":\"Boost\",\"status.reblogged_by\":\"{name} ha retootejat\",\"status.reply\":\"Respondre\",\"status.replyAll\":\"Respondre al tema\",\"status.report\":\"Informar sobre @{name}\",\"status.sensitive_toggle\":\"Clic per veure\",\"status.sensitive_warning\":\"Contingut sensible\",\"status.share\":\"Compartir\",\"status.show_less\":\"Mostra menys\",\"status.show_more\":\"Mostra més\",\"status.unmute_conversation\":\"Activar conversació\",\"status.unpin\":\"Deslliga del perfil\",\"tabs_bar.compose\":\"Compondre\",\"tabs_bar.federated_timeline\":\"Federada\",\"tabs_bar.home\":\"Inici\",\"tabs_bar.local_timeline\":\"Local\",\"tabs_bar.notifications\":\"Notificacions\",\"upload_area.title\":\"Arrossega i deixa anar per carregar\",\"upload_button.label\":\"Afegir multimèdia\",\"upload_form.description\":\"Descriure els problemes visuals\",\"upload_form.undo\":\"Desfer\",\"upload_progress.label\":\"Pujant...\",\"video.close\":\"Tancar el vídeo\",\"video.exit_fullscreen\":\"Surt de pantalla completa\",\"video.expand\":\"Ampliar el vídeo\",\"video.fullscreen\":\"Pantalla completa\",\"video.hide\":\"Amaga vídeo\",\"video.mute\":\"Silenciar el so\",\"video.pause\":\"Pausa\",\"video.play\":\"Reproduir\",\"video.unmute\":\"Activar so\"}" + }, + { + "id": 667, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/ca.js", + "name": "./node_modules/react-intl/locale-data/ca.js", + "index": 825, + "index2": 824, + "size": 3432, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 60 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ca.js", + "issuerId": 665, + "issuerName": "./tmp/packs/locale_ca.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 665, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ca.js", + "module": "./tmp/packs/locale_ca.js", + "moduleName": "./tmp/packs/locale_ca.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/ca.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a() : \"function\" == typeof define && define.amd ? define(a) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.ca = a());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"ca\", pluralRuleFunction: function (e, a) {\n var t = !String(e).split(\".\")[1];return a ? 1 == e || 3 == e ? \"one\" : 2 == e ? \"two\" : 4 == e ? \"few\" : \"other\" : 1 == e && t ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"any\", relative: { 0: \"enguany\", 1: \"l’any que ve\", \"-1\": \"l’any passat\" }, relativeTime: { future: { one: \"d’aquí a {0} any\", other: \"d’aquí a {0} anys\" }, past: { one: \"fa {0} any\", other: \"fa {0} anys\" } } }, month: { displayName: \"mes\", relative: { 0: \"aquest mes\", 1: \"el mes que ve\", \"-1\": \"el mes passat\" }, relativeTime: { future: { one: \"d’aquí a {0} mes\", other: \"d’aquí a {0} mesos\" }, past: { one: \"fa {0} mes\", other: \"fa {0} mesos\" } } }, day: { displayName: \"dia\", relative: { 0: \"avui\", 1: \"demà\", 2: \"demà passat\", \"-2\": \"abans-d’ahir\", \"-1\": \"ahir\" }, relativeTime: { future: { one: \"d’aquí a {0} dia\", other: \"d’aquí a {0} dies\" }, past: { one: \"fa {0} dia\", other: \"fa {0} dies\" } } }, hour: { displayName: \"hora\", relative: { 0: \"aquesta hora\" }, relativeTime: { future: { one: \"d’aquí a {0} hora\", other: \"d’aquí a {0} hores\" }, past: { one: \"fa {0} hora\", other: \"fa {0} hores\" } } }, minute: { displayName: \"minut\", relative: { 0: \"aquest minut\" }, relativeTime: { future: { one: \"d’aquí a {0} minut\", other: \"d’aquí a {0} minuts\" }, past: { one: \"fa {0} minut\", other: \"fa {0} minuts\" } } }, second: { displayName: \"segon\", relative: { 0: \"ara\" }, relativeTime: { future: { one: \"d’aquí a {0} segon\", other: \"d’aquí a {0} segons\" }, past: { one: \"fa {0} segon\", other: \"fa {0} segons\" } } } } }, { locale: \"ca-AD\", parentLocale: \"ca\" }, { locale: \"ca-ES-VALENCIA\", parentLocale: \"ca-ES\", fields: { year: { displayName: \"any\", relative: { 0: \"enguany\", 1: \"l’any que ve\", \"-1\": \"l’any passat\" }, relativeTime: { future: { one: \"d’aquí a {0} any\", other: \"d’aquí a {0} anys\" }, past: { one: \"fa {0} any\", other: \"fa {0} anys\" } } }, month: { displayName: \"mes\", relative: { 0: \"aquest mes\", 1: \"el mes que ve\", \"-1\": \"el mes passat\" }, relativeTime: { future: { one: \"d’aquí a {0} mes\", other: \"d’aquí a {0} mesos\" }, past: { one: \"fa {0} mes\", other: \"fa {0} mesos\" } } }, day: { displayName: \"dia\", relative: { 0: \"avui\", 1: \"demà\", 2: \"demà passat\", \"-2\": \"abans-d’ahir\", \"-1\": \"ahir\" }, relativeTime: { future: { one: \"d’aquí a {0} dia\", other: \"d’aquí a {0} dies\" }, past: { one: \"fa {0} dia\", other: \"fa {0} dies\" } } }, hour: { displayName: \"hora\", relative: { 0: \"aquesta hora\" }, relativeTime: { future: { one: \"d’aquí a {0} hora\", other: \"d’aquí a {0} hores\" }, past: { one: \"fa {0} hora\", other: \"fa {0} hores\" } } }, minute: { displayName: \"minut\", relative: { 0: \"aquest minut\" }, relativeTime: { future: { one: \"d’aquí a {0} minut\", other: \"d’aquí a {0} minuts\" }, past: { one: \"fa {0} minut\", other: \"fa {0} minuts\" } } }, second: { displayName: \"segon\", relative: { 0: \"ara\" }, relativeTime: { future: { one: \"d’aquí a {0} segon\", other: \"d’aquí a {0} segons\" }, past: { one: \"fa {0} segon\", other: \"fa {0} segons\" } } } } }, { locale: \"ca-ES\", parentLocale: \"ca\" }, { locale: \"ca-FR\", parentLocale: \"ca\" }, { locale: \"ca-IT\", parentLocale: \"ca\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 665, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ca.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ca.js", + "moduleName": "./tmp/packs/locale_ca.js", + "loc": "", + "name": "locale_ca", + "reasons": [] + } + ] + }, + { + "id": 61, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 13061, + "names": [ + "locale_bg" + ], + "files": [ + "locale_bg-c13dba4d26f870d592b2.js", + "locale_bg-c13dba4d26f870d592b2.js.map" + ], + "hash": "c13dba4d26f870d592b2", + "parents": [ + 65 + ], + "modules": [ + { + "id": 662, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_bg.js", + "name": "./tmp/packs/locale_bg.js", + "index": 820, + "index2": 822, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 61 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_bg.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/bg.json';\nimport localeData from \"react-intl/locale-data/bg.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 663, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/bg.json", + "name": "./app/javascript/mastodon/locales/bg.json", + "index": 821, + "index2": 820, + "size": 10948, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 61 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_bg.js", + "issuerId": 662, + "issuerName": "./tmp/packs/locale_bg.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 662, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_bg.js", + "module": "./tmp/packs/locale_bg.js", + "moduleName": "./tmp/packs/locale_bg.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/bg.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"Блокирай\",\"account.block_domain\":\"Hide everything from {domain}\",\"account.disclaimer_full\":\"Information below may reflect the user's profile incompletely.\",\"account.edit_profile\":\"Редактирай профила си\",\"account.follow\":\"Последвай\",\"account.followers\":\"Последователи\",\"account.follows\":\"Следвам\",\"account.follows_you\":\"Твой последовател\",\"account.media\":\"Media\",\"account.mention\":\"Споменаване\",\"account.mute\":\"Mute @{name}\",\"account.posts\":\"Публикации\",\"account.report\":\"Report @{name}\",\"account.requested\":\"В очакване на одобрение\",\"account.share\":\"Share @{name}'s profile\",\"account.unblock\":\"Не блокирай\",\"account.unblock_domain\":\"Unhide {domain}\",\"account.unfollow\":\"Не следвай\",\"account.unmute\":\"Unmute @{name}\",\"account.view_full_profile\":\"View full profile\",\"boost_modal.combo\":\"You can press {combo} to skip this next time\",\"bundle_column_error.body\":\"Something went wrong while loading this component.\",\"bundle_column_error.retry\":\"Try again\",\"bundle_column_error.title\":\"Network error\",\"bundle_modal_error.close\":\"Close\",\"bundle_modal_error.message\":\"Something went wrong while loading this component.\",\"bundle_modal_error.retry\":\"Try again\",\"column.blocks\":\"Blocked users\",\"column.community\":\"Local timeline\",\"column.favourites\":\"Favourites\",\"column.follow_requests\":\"Follow requests\",\"column.home\":\"Начало\",\"column.mutes\":\"Muted users\",\"column.notifications\":\"Известия\",\"column.pins\":\"Pinned toot\",\"column.public\":\"Публичен канал\",\"column_back_button.label\":\"Назад\",\"column_header.hide_settings\":\"Hide settings\",\"column_header.moveLeft_settings\":\"Move column to the left\",\"column_header.moveRight_settings\":\"Move column to the right\",\"column_header.pin\":\"Pin\",\"column_header.show_settings\":\"Show settings\",\"column_header.unpin\":\"Unpin\",\"column_subheading.navigation\":\"Navigation\",\"column_subheading.settings\":\"Settings\",\"compose_form.lock_disclaimer\":\"Your account is not {locked}. Anyone can follow you to view your follower-only posts.\",\"compose_form.lock_disclaimer.lock\":\"locked\",\"compose_form.placeholder\":\"Какво си мислиш?\",\"compose_form.publish\":\"Раздумай\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"Отбележи съдържанието като деликатно\",\"compose_form.spoiler\":\"Скрий текста зад предупреждение\",\"compose_form.spoiler_placeholder\":\"Content warning\",\"confirmation_modal.cancel\":\"Cancel\",\"confirmations.block.confirm\":\"Block\",\"confirmations.block.message\":\"Are you sure you want to block {name}?\",\"confirmations.delete.confirm\":\"Delete\",\"confirmations.delete.message\":\"Are you sure you want to delete this status?\",\"confirmations.domain_block.confirm\":\"Hide entire domain\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"Mute\",\"confirmations.mute.message\":\"Are you sure you want to mute {name}?\",\"confirmations.unfollow.confirm\":\"Unfollow\",\"confirmations.unfollow.message\":\"Are you sure you want to unfollow {name}?\",\"embed.instructions\":\"Embed this status on your website by copying the code below.\",\"embed.preview\":\"Here is what it will look like:\",\"emoji_button.activity\":\"Activity\",\"emoji_button.custom\":\"Custom\",\"emoji_button.flags\":\"Flags\",\"emoji_button.food\":\"Food & Drink\",\"emoji_button.label\":\"Insert emoji\",\"emoji_button.nature\":\"Nature\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"Objects\",\"emoji_button.people\":\"People\",\"emoji_button.recent\":\"Frequently used\",\"emoji_button.search\":\"Search...\",\"emoji_button.search_results\":\"Search results\",\"emoji_button.symbols\":\"Symbols\",\"emoji_button.travel\":\"Travel & Places\",\"empty_column.community\":\"The local timeline is empty. Write something publicly to get the ball rolling!\",\"empty_column.hashtag\":\"There is nothing in this hashtag yet.\",\"empty_column.home\":\"Your home timeline is empty! Visit {public} or use search to get started and meet other users.\",\"empty_column.home.public_timeline\":\"the public timeline\",\"empty_column.notifications\":\"You don't have any notifications yet. Interact with others to start the conversation.\",\"empty_column.public\":\"There is nothing here! Write something publicly, or manually follow users from other instances to fill it up\",\"follow_request.authorize\":\"Authorize\",\"follow_request.reject\":\"Reject\",\"getting_started.appsshort\":\"Apps\",\"getting_started.faq\":\"FAQ\",\"getting_started.heading\":\"Първи стъпки\",\"getting_started.open_source_notice\":\"Mastodon е софтуер с отворен код. Можеш да помогнеш или да докладваш за проблеми в Github: {github}.\",\"getting_started.userguide\":\"User Guide\",\"home.column_settings.advanced\":\"Advanced\",\"home.column_settings.basic\":\"Basic\",\"home.column_settings.filter_regex\":\"Filter out by regular expressions\",\"home.column_settings.show_reblogs\":\"Show boosts\",\"home.column_settings.show_replies\":\"Show replies\",\"home.settings\":\"Column settings\",\"lightbox.close\":\"Затвори\",\"lightbox.next\":\"Next\",\"lightbox.previous\":\"Previous\",\"loading_indicator.label\":\"Зареждане...\",\"media_gallery.toggle_visible\":\"Toggle visibility\",\"missing_indicator.label\":\"Not found\",\"navigation_bar.blocks\":\"Blocked users\",\"navigation_bar.community_timeline\":\"Local timeline\",\"navigation_bar.edit_profile\":\"Редактирай профил\",\"navigation_bar.favourites\":\"Favourites\",\"navigation_bar.follow_requests\":\"Follow requests\",\"navigation_bar.info\":\"Extended information\",\"navigation_bar.logout\":\"Излизане\",\"navigation_bar.mutes\":\"Muted users\",\"navigation_bar.pins\":\"Pinned toots\",\"navigation_bar.preferences\":\"Предпочитания\",\"navigation_bar.public_timeline\":\"Публичен канал\",\"notification.favourite\":\"{name} хареса твоята публикация\",\"notification.follow\":\"{name} те последва\",\"notification.mention\":\"{name} те спомена\",\"notification.reblog\":\"{name} сподели твоята публикация\",\"notifications.clear\":\"Clear notifications\",\"notifications.clear_confirmation\":\"Are you sure you want to permanently clear all your notifications?\",\"notifications.column_settings.alert\":\"Десктоп известия\",\"notifications.column_settings.favourite\":\"Предпочитани:\",\"notifications.column_settings.follow\":\"Нови последователи:\",\"notifications.column_settings.mention\":\"Споменавания:\",\"notifications.column_settings.push\":\"Push notifications\",\"notifications.column_settings.push_meta\":\"This device\",\"notifications.column_settings.reblog\":\"Споделяния:\",\"notifications.column_settings.show\":\"Покажи в колона\",\"notifications.column_settings.sound\":\"Play sound\",\"onboarding.done\":\"Done\",\"onboarding.next\":\"Next\",\"onboarding.page_five.public_timelines\":\"The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.\",\"onboarding.page_four.home\":\"The home timeline shows posts from people you follow.\",\"onboarding.page_four.notifications\":\"The notifications column shows when someone interacts with you.\",\"onboarding.page_one.federation\":\"Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.\",\"onboarding.page_one.handle\":\"You are on {domain}, so your full handle is {handle}\",\"onboarding.page_one.welcome\":\"Welcome to Mastodon!\",\"onboarding.page_six.admin\":\"Your instance's admin is {admin}.\",\"onboarding.page_six.almost_done\":\"Almost done...\",\"onboarding.page_six.appetoot\":\"Bon Appetoot!\",\"onboarding.page_six.apps_available\":\"There are {apps} available for iOS, Android and other platforms.\",\"onboarding.page_six.github\":\"Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.\",\"onboarding.page_six.guidelines\":\"community guidelines\",\"onboarding.page_six.read_guidelines\":\"Please read {domain}'s {guidelines}!\",\"onboarding.page_six.various_app\":\"mobile apps\",\"onboarding.page_three.profile\":\"Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.\",\"onboarding.page_three.search\":\"Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.\",\"onboarding.page_two.compose\":\"Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.\",\"onboarding.skip\":\"Skip\",\"privacy.change\":\"Adjust status privacy\",\"privacy.direct.long\":\"Post to mentioned users only\",\"privacy.direct.short\":\"Direct\",\"privacy.private.long\":\"Post to followers only\",\"privacy.private.short\":\"Followers-only\",\"privacy.public.long\":\"Post to public timelines\",\"privacy.public.short\":\"Public\",\"privacy.unlisted.long\":\"Do not show in public timelines\",\"privacy.unlisted.short\":\"Unlisted\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"Отказ\",\"report.placeholder\":\"Additional comments\",\"report.submit\":\"Submit\",\"report.target\":\"Reporting\",\"search.placeholder\":\"Търсене\",\"search_popout.search_format\":\"Advanced search format\",\"search_popout.tips.hashtag\":\"hashtag\",\"search_popout.tips.status\":\"status\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"user\",\"search_results.total\":\"{count, number} {count, plural, one {result} other {results}}\",\"standalone.public_title\":\"A look inside...\",\"status.cannot_reblog\":\"This post cannot be boosted\",\"status.delete\":\"Изтриване\",\"status.embed\":\"Embed\",\"status.favourite\":\"Предпочитани\",\"status.load_more\":\"Load more\",\"status.media_hidden\":\"Media hidden\",\"status.mention\":\"Споменаване\",\"status.more\":\"More\",\"status.mute_conversation\":\"Mute conversation\",\"status.open\":\"Expand this status\",\"status.pin\":\"Pin on profile\",\"status.reblog\":\"Споделяне\",\"status.reblogged_by\":\"{name} сподели\",\"status.reply\":\"Отговор\",\"status.replyAll\":\"Reply to thread\",\"status.report\":\"Report @{name}\",\"status.sensitive_toggle\":\"Покажи\",\"status.sensitive_warning\":\"Деликатно съдържание\",\"status.share\":\"Share\",\"status.show_less\":\"Show less\",\"status.show_more\":\"Show more\",\"status.unmute_conversation\":\"Unmute conversation\",\"status.unpin\":\"Unpin from profile\",\"tabs_bar.compose\":\"Съставяне\",\"tabs_bar.federated_timeline\":\"Federated\",\"tabs_bar.home\":\"Начало\",\"tabs_bar.local_timeline\":\"Local\",\"tabs_bar.notifications\":\"Известия\",\"upload_area.title\":\"Drag & drop to upload\",\"upload_button.label\":\"Добави медия\",\"upload_form.description\":\"Describe for the visually impaired\",\"upload_form.undo\":\"Отмяна\",\"upload_progress.label\":\"Uploading...\",\"video.close\":\"Close video\",\"video.exit_fullscreen\":\"Exit full screen\",\"video.expand\":\"Expand video\",\"video.fullscreen\":\"Full screen\",\"video.hide\":\"Hide video\",\"video.mute\":\"Mute sound\",\"video.pause\":\"Pause\",\"video.play\":\"Play\",\"video.unmute\":\"Unmute sound\"}" + }, + { + "id": 664, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/bg.js", + "name": "./node_modules/react-intl/locale-data/bg.js", + "index": 822, + "index2": 821, + "size": 1788, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 61 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_bg.js", + "issuerId": 662, + "issuerName": "./tmp/packs/locale_bg.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 662, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_bg.js", + "module": "./tmp/packs/locale_bg.js", + "moduleName": "./tmp/packs/locale_bg.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/bg.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(t) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.bg = t());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"bg\", pluralRuleFunction: function (e, t) {\n return t ? \"other\" : 1 == e ? \"one\" : \"other\";\n }, fields: { year: { displayName: \"година\", relative: { 0: \"тази година\", 1: \"следващата година\", \"-1\": \"миналата година\" }, relativeTime: { future: { one: \"след {0} година\", other: \"след {0} години\" }, past: { one: \"преди {0} година\", other: \"преди {0} години\" } } }, month: { displayName: \"месец\", relative: { 0: \"този месец\", 1: \"следващ месец\", \"-1\": \"предходен месец\" }, relativeTime: { future: { one: \"след {0} месец\", other: \"след {0} месеца\" }, past: { one: \"преди {0} месец\", other: \"преди {0} месеца\" } } }, day: { displayName: \"ден\", relative: { 0: \"днес\", 1: \"утре\", 2: \"вдругиден\", \"-2\": \"онзи ден\", \"-1\": \"вчера\" }, relativeTime: { future: { one: \"след {0} ден\", other: \"след {0} дни\" }, past: { one: \"преди {0} ден\", other: \"преди {0} дни\" } } }, hour: { displayName: \"час\", relative: { 0: \"в този час\" }, relativeTime: { future: { one: \"след {0} час\", other: \"след {0} часа\" }, past: { one: \"преди {0} час\", other: \"преди {0} часа\" } } }, minute: { displayName: \"минута\", relative: { 0: \"в тази минута\" }, relativeTime: { future: { one: \"след {0} минута\", other: \"след {0} минути\" }, past: { one: \"преди {0} минута\", other: \"преди {0} минути\" } } }, second: { displayName: \"секунда\", relative: { 0: \"сега\" }, relativeTime: { future: { one: \"след {0} секунда\", other: \"след {0} секунди\" }, past: { one: \"преди {0} секунда\", other: \"преди {0} секунди\" } } } } }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 662, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_bg.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_bg.js", + "moduleName": "./tmp/packs/locale_bg.js", + "loc": "", + "name": "locale_bg", + "reasons": [] + } + ] + }, + { + "id": 62, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 17705, + "names": [ + "locale_ar" + ], + "files": [ + "locale_ar-7d02662cc0cfffd6f6f9.js", + "locale_ar-7d02662cc0cfffd6f6f9.js.map" + ], + "hash": "7d02662cc0cfffd6f6f9", + "parents": [ + 65 + ], + "modules": [ + { + "id": 659, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ar.js", + "name": "./tmp/packs/locale_ar.js", + "index": 817, + "index2": 819, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 62 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "//\n// locale_ar.js\n// automatically generated by generateLocalePacks.js\n//\nimport messages from '../../app/javascript/mastodon/locales/ar.json';\nimport localeData from \"react-intl/locale-data/ar.js\";\nimport { setLocale } from '../../app/javascript/mastodon/locales';\nsetLocale({ messages: messages, localeData: localeData });" + }, + { + "id": 660, + "identifier": "/home/lambda/repos/mastodon/app/javascript/mastodon/locales/ar.json", + "name": "./app/javascript/mastodon/locales/ar.json", + "index": 818, + "index2": 817, + "size": 10944, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 62 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ar.js", + "issuerId": 659, + "issuerName": "./tmp/packs/locale_ar.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 659, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ar.js", + "module": "./tmp/packs/locale_ar.js", + "moduleName": "./tmp/packs/locale_ar.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales/ar.json", + "loc": "5:0-69" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "module.exports = {\"account.block\":\"حظر @{name}\",\"account.block_domain\":\"إخفاء كل شيئ قادم من إسم النطاق {domain}\",\"account.disclaimer_full\":\"قد لا تعكس المعلومات أدناه الملف الشخصي الكامل للمستخدم.\",\"account.edit_profile\":\"تعديل الملف الشخصي\",\"account.follow\":\"تابِع\",\"account.followers\":\"المتابعون\",\"account.follows\":\"يتبع\",\"account.follows_you\":\"يتابعك\",\"account.media\":\"وسائط\",\"account.mention\":\"أُذكُر @{name}\",\"account.mute\":\"أكتم @{name}\",\"account.posts\":\"المشاركات\",\"account.report\":\"أبلغ عن @{name}\",\"account.requested\":\"في انتظار الموافقة\",\"account.share\":\"مشاركة @{name}'s profile\",\"account.unblock\":\"إلغاء الحظر عن @{name}\",\"account.unblock_domain\":\"فك حظر {domain}\",\"account.unfollow\":\"إلغاء المتابعة\",\"account.unmute\":\"إلغاء الكتم عن @{name}\",\"account.view_full_profile\":\"عرض الملف الشخصي كاملا\",\"boost_modal.combo\":\"يمكنك ضغط {combo} لتخطّي هذه في المرّة القادمة\",\"bundle_column_error.body\":\"لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.\",\"bundle_column_error.retry\":\"إعادة المحاولة\",\"bundle_column_error.title\":\"خطأ في الشبكة\",\"bundle_modal_error.close\":\"أغلق\",\"bundle_modal_error.message\":\"لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.\",\"bundle_modal_error.retry\":\"إعادة المحاولة\",\"column.blocks\":\"الحسابات المحجوبة\",\"column.community\":\"الخيط العام المحلي\",\"column.favourites\":\"المفضلة\",\"column.follow_requests\":\"طلبات المتابعة\",\"column.home\":\"الرئيسية\",\"column.mutes\":\"الحسابات المكتومة\",\"column.notifications\":\"الإشعارات\",\"column.pins\":\"التبويقات المثبتة\",\"column.public\":\"الخيط العام الموحد\",\"column_back_button.label\":\"العودة\",\"column_header.hide_settings\":\"إخفاء الإعدادات\",\"column_header.moveLeft_settings\":\"نقل القائمة إلى اليسار\",\"column_header.moveRight_settings\":\"نقل القائمة إلى اليمين\",\"column_header.pin\":\"تدبيس\",\"column_header.show_settings\":\"عرض الإعدادات\",\"column_header.unpin\":\"فك التدبيس\",\"column_subheading.navigation\":\"التصفح\",\"column_subheading.settings\":\"الإعدادات\",\"compose_form.lock_disclaimer\":\"حسابك ليس {locked}. يمكن لأي شخص متابعتك و عرض المنشورات.\",\"compose_form.lock_disclaimer.lock\":\"مقفل\",\"compose_form.placeholder\":\"فيمَ تفكّر؟\",\"compose_form.publish\":\"بوّق\",\"compose_form.publish_loud\":\"{publish}!\",\"compose_form.sensitive\":\"ضع علامة على الوسيط باعتباره حسّاس\",\"compose_form.spoiler\":\"أخفِ النص واعرض تحذيرا\",\"compose_form.spoiler_placeholder\":\"تنبيه عن المحتوى\",\"confirmation_modal.cancel\":\"إلغاء\",\"confirmations.block.confirm\":\"حجب\",\"confirmations.block.message\":\"هل أنت متأكد أنك تريد حجب {name} ؟\",\"confirmations.delete.confirm\":\"حذف\",\"confirmations.delete.message\":\"هل أنت متأكد أنك تريد حذف هذا المنشور ؟\",\"confirmations.domain_block.confirm\":\"إخفاء إسم النطاق كاملا\",\"confirmations.domain_block.message\":\"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.\",\"confirmations.mute.confirm\":\"أكتم\",\"confirmations.mute.message\":\"هل أنت متأكد أنك تريد كتم {name} ؟\",\"confirmations.unfollow.confirm\":\"إلغاء المتابعة\",\"confirmations.unfollow.message\":\"متأكد من أنك تريد إلغاء متابعة {name} ؟\",\"embed.instructions\":\"يمكنكم إدماج هذه الحالة على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.\",\"embed.preview\":\"هكذا ما سوف يبدو عليه :\",\"emoji_button.activity\":\"الأنشطة\",\"emoji_button.custom\":\"مخصص\",\"emoji_button.flags\":\"الأعلام\",\"emoji_button.food\":\"الطعام والشراب\",\"emoji_button.label\":\"أدرج إيموجي\",\"emoji_button.nature\":\"الطبيعة\",\"emoji_button.not_found\":\"No emojos!! (╯°□°)╯︵ ┻━┻\",\"emoji_button.objects\":\"أشياء\",\"emoji_button.people\":\"الناس\",\"emoji_button.recent\":\"الشائعة الإستخدام\",\"emoji_button.search\":\"ابحث...\",\"emoji_button.search_results\":\"نتائج البحث\",\"emoji_button.symbols\":\"رموز\",\"emoji_button.travel\":\"أماكن و أسفار\",\"empty_column.community\":\"الخط الزمني المحلي فارغ. اكتب شيئا ما للعامة كبداية.\",\"empty_column.hashtag\":\"ليس هناك بعدُ أي محتوى ذو علاقة بهذا الوسم.\",\"empty_column.home\":\"إنك لا تتبع بعد أي شخص إلى حد الآن. زر {public} أو استخدام حقل البحث لكي تبدأ على التعرف على مستخدمين آخرين.\",\"empty_column.home.public_timeline\":\"الخيط العام\",\"empty_column.notifications\":\"لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.\",\"empty_column.public\":\"لا يوجد شيء هنا ! قم بتحرير شيء ما بشكل عام، أو اتبع مستخدمين آخرين في الخوادم المثيلة الأخرى لملء خيط المحادثات العام.\",\"follow_request.authorize\":\"ترخيص\",\"follow_request.reject\":\"رفض\",\"getting_started.appsshort\":\"تطبيقات\",\"getting_started.faq\":\"أسئلة وأجوبة شائعة\",\"getting_started.heading\":\"إستعدّ للبدء\",\"getting_started.open_source_notice\":\"ماستدون برنامج مفتوح المصدر. يمكنك المساهمة، أو الإبلاغ عن تقارير الأخطاء، على جيت هب {github}.\",\"getting_started.userguide\":\"دليل المستخدم\",\"home.column_settings.advanced\":\"متقدمة\",\"home.column_settings.basic\":\"أساسية\",\"home.column_settings.filter_regex\":\"تصفية حسب التعبيرات العادية\",\"home.column_settings.show_reblogs\":\"عرض الترقيات\",\"home.column_settings.show_replies\":\"عرض الردود\",\"home.settings\":\"إعدادات العمود\",\"lightbox.close\":\"إغلاق\",\"lightbox.next\":\"التالي\",\"lightbox.previous\":\"العودة\",\"loading_indicator.label\":\"تحميل ...\",\"media_gallery.toggle_visible\":\"عرض / إخفاء\",\"missing_indicator.label\":\"تعذر العثور عليه\",\"navigation_bar.blocks\":\"الحسابات المحجوبة\",\"navigation_bar.community_timeline\":\"الخيط العام المحلي\",\"navigation_bar.edit_profile\":\"تعديل الملف الشخصي\",\"navigation_bar.favourites\":\"المفضلة\",\"navigation_bar.follow_requests\":\"طلبات المتابعة\",\"navigation_bar.info\":\"معلومات إضافية\",\"navigation_bar.logout\":\"خروج\",\"navigation_bar.mutes\":\"الحسابات المكتومة\",\"navigation_bar.pins\":\"التبويقات المثبتة\",\"navigation_bar.preferences\":\"التفضيلات\",\"navigation_bar.public_timeline\":\"الخيط العام الموحد\",\"notification.favourite\":\"{name} أعجب بمنشورك\",\"notification.follow\":\"{name} يتابعك\",\"notification.mention\":\"{name} ذكرك\",\"notification.reblog\":\"{name} قام بترقية تبويقك\",\"notifications.clear\":\"إمسح الإخطارات\",\"notifications.clear_confirmation\":\"أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟\",\"notifications.column_settings.alert\":\"إشعارات سطح المكتب\",\"notifications.column_settings.favourite\":\"المُفَضَّلة :\",\"notifications.column_settings.follow\":\"متابعُون جُدُد :\",\"notifications.column_settings.mention\":\"الإشارات :\",\"notifications.column_settings.push\":\"الإخطارات المدفوعة\",\"notifications.column_settings.push_meta\":\"هذا الجهاز\",\"notifications.column_settings.reblog\":\"الترقيّات:\",\"notifications.column_settings.show\":\"إعرِضها في عمود\",\"notifications.column_settings.sound\":\"أصدر صوتا\",\"onboarding.done\":\"تم\",\"onboarding.next\":\"التالي\",\"onboarding.page_five.public_timelines\":\"تُعرَض في الخيط الزمني المحلي المشاركات العامة المحررة من طرف جميع المسجلين في {domain}. أما في الخيط الزمني الموحد ، فإنه يتم عرض جميع المشاركات العامة المنشورة من طرف جميع الأشخاص المتابَعين من طرف أعضاء {domain}. هذه هي الخيوط الزمنية العامة، وهي طريقة رائعة للتعرف أشخاص جدد.\",\"onboarding.page_four.home\":\"تعرض الصفحة الرئيسية منشورات جميع الأشخاص الذين تتابعهم.\",\"onboarding.page_four.notifications\":\"فعندما يتفاعل شخص ما معك، عمود الإخطارات يخبرك.\",\"onboarding.page_one.federation\":\"ماستدون شبكة من خوادم مستقلة متلاحمة تهدف إلى إنشاء أكبر شبكة اجتماعية موحدة. تسمى هذه السرفيرات بمثيلات خوادم.\",\"onboarding.page_one.handle\":\"أنت الآن على {domain}، واحد من مجموع مثيلات الخوادم المستقلة. اسم المستخدم الكامل الخاص بك هو {handle}\",\"onboarding.page_one.welcome\":\"مرحبا بك في ماستدون !\",\"onboarding.page_six.admin\":\"مدير(ة) مثيل الخادم هذا {admin}.\",\"onboarding.page_six.almost_done\":\"أنهيت تقريبا ...\",\"onboarding.page_six.appetoot\":\"تمتع بالتبويق !\",\"onboarding.page_six.apps_available\":\"هناك {apps} متوفرة لأنظمة آي أو إس و أندرويد و غيرها من المنصات و الأنظمة.\",\"onboarding.page_six.github\":\"ماستدون برنامج مفتوح المصدر. يمكنك المساهمة، أو الإبلاغ عن تقارير الأخطاء، على GitHub {github}.\",\"onboarding.page_six.guidelines\":\"المبادئ التوجيهية للمجتمع\",\"onboarding.page_six.read_guidelines\":\"رجاءا، قم بالإطلاع على {guidelines} لـ {domain} !\",\"onboarding.page_six.various_app\":\"تطبيقات الجوال\",\"onboarding.page_three.profile\":\"يمكنك إدخال تعديلات على ملفك الشخصي عن طريق تغيير الصورة الرمزية و السيرة و إسمك المستعار. هناك، سوف تجد أيضا تفضيلات أخرى متاحة.\",\"onboarding.page_three.search\":\"باستخدام شريط البحث يمكنك العثور على أشخاص و أصدقاء أو الإطلاع على أوسمة، كـ {illustration} و {introductions}. للبحث عن شخص غير مسجل في مثيل الخادم هذا، استخدم مُعرّفه الكامل.\",\"onboarding.page_two.compose\":\"حرر مشاركاتك عبر عمود التحرير. يمكنك من خلاله تحميل الصور وتغيير إعدادات الخصوصية وإضافة تحذيرات عن المحتوى باستخدام الرموز أدناه.\",\"onboarding.skip\":\"تخطي\",\"privacy.change\":\"إضبط خصوصية المنشور\",\"privacy.direct.long\":\"أنشر إلى المستخدمين المشار إليهم فقط\",\"privacy.direct.short\":\"مباشر\",\"privacy.private.long\":\"أنشر لمتابعيك فقط\",\"privacy.private.short\":\"لمتابعيك فقط\",\"privacy.public.long\":\"أنشر على الخيوط العامة\",\"privacy.public.short\":\"للعامة\",\"privacy.unlisted.long\":\"لا تقم بإدراجه على الخيوط العامة\",\"privacy.unlisted.short\":\"غير مدرج\",\"relative_time.days\":\"{number}d\",\"relative_time.hours\":\"{number}h\",\"relative_time.just_now\":\"now\",\"relative_time.minutes\":\"{number}m\",\"relative_time.seconds\":\"{number}s\",\"reply_indicator.cancel\":\"إلغاء\",\"report.placeholder\":\"تعليقات إضافية\",\"report.submit\":\"إرسال\",\"report.target\":\"إبلاغ\",\"search.placeholder\":\"ابحث\",\"search_popout.search_format\":\"نمط البحث المتقدم\",\"search_popout.tips.hashtag\":\"وسم\",\"search_popout.tips.status\":\"حالة\",\"search_popout.tips.text\":\"Simple text returns matching display names, usernames and hashtags\",\"search_popout.tips.user\":\"مستخدِم\",\"search_results.total\":\"{count, number} {count, plural, one {result} other {results}}\",\"standalone.public_title\":\"نظرة على ...\",\"status.cannot_reblog\":\"تعذرت ترقية هذا المنشور\",\"status.delete\":\"إحذف\",\"status.embed\":\"إدماج\",\"status.favourite\":\"أضف إلى المفضلة\",\"status.load_more\":\"حمّل المزيد\",\"status.media_hidden\":\"الصورة مستترة\",\"status.mention\":\"أذكُر @{name}\",\"status.more\":\"More\",\"status.mute_conversation\":\"كتم المحادثة\",\"status.open\":\"وسع هذه المشاركة\",\"status.pin\":\"تدبيس على الملف الشخصي\",\"status.reblog\":\"رَقِّي\",\"status.reblogged_by\":\"{name} رقى\",\"status.reply\":\"ردّ\",\"status.replyAll\":\"رُد على الخيط\",\"status.report\":\"إبلِغ عن @{name}\",\"status.sensitive_toggle\":\"اضغط للعرض\",\"status.sensitive_warning\":\"محتوى حساس\",\"status.share\":\"مشاركة\",\"status.show_less\":\"إعرض أقلّ\",\"status.show_more\":\"أظهر المزيد\",\"status.unmute_conversation\":\"فك الكتم عن المحادثة\",\"status.unpin\":\"فك التدبيس من الملف الشخصي\",\"tabs_bar.compose\":\"تحرير\",\"tabs_bar.federated_timeline\":\"الموحَّد\",\"tabs_bar.home\":\"الرئيسية\",\"tabs_bar.local_timeline\":\"المحلي\",\"tabs_bar.notifications\":\"الإخطارات\",\"upload_area.title\":\"إسحب ثم أفلت للرفع\",\"upload_button.label\":\"إضافة وسائط\",\"upload_form.description\":\"وصف للمعاقين بصريا\",\"upload_form.undo\":\"إلغاء\",\"upload_progress.label\":\"يرفع...\",\"video.close\":\"إغلاق الفيديو\",\"video.exit_fullscreen\":\"الخروج من وضع الشاشة المليئة\",\"video.expand\":\"توسيع الفيديو\",\"video.fullscreen\":\"ملء الشاشة\",\"video.hide\":\"إخفاء الفيديو\",\"video.mute\":\"كتم الصوت\",\"video.pause\":\"إيقاف مؤقت\",\"video.play\":\"تشغيل\",\"video.unmute\":\"تشغيل الصوت\"}" + }, + { + "id": 661, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/locale-data/ar.js", + "name": "./node_modules/react-intl/locale-data/ar.js", + "index": 819, + "index2": 818, + "size": 6436, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 62 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ar.js", + "issuerId": 659, + "issuerName": "./tmp/packs/locale_ar.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 659, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ar.js", + "module": "./tmp/packs/locale_ar.js", + "moduleName": "./tmp/packs/locale_ar.js", + "type": "harmony import", + "userRequest": "react-intl/locale-data/ar.js", + "loc": "6:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "!function (e, a) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = a() : \"function\" == typeof define && define.amd ? define(a) : (e.ReactIntlLocaleData = e.ReactIntlLocaleData || {}, e.ReactIntlLocaleData.ar = a());\n}(this, function () {\n \"use strict\";\n return [{ locale: \"ar\", pluralRuleFunction: function (e, a) {\n var r = String(e).split(\".\"),\n o = Number(r[0]) == e && r[0].slice(-2);return a ? \"other\" : 0 == e ? \"zero\" : 1 == e ? \"one\" : 2 == e ? \"two\" : o >= 3 && o <= 10 ? \"few\" : o >= 11 && o <= 99 ? \"many\" : \"other\";\n }, fields: { year: { displayName: \"السنة\", relative: { 0: \"السنة الحالية\", 1: \"السنة القادمة\", \"-1\": \"السنة الماضية\" }, relativeTime: { future: { zero: \"خلال {0} سنة\", one: \"خلال سنة واحدة\", two: \"خلال سنتين\", few: \"خلال {0} سنوات\", many: \"خلال {0} سنة\", other: \"خلال {0} سنة\" }, past: { zero: \"قبل {0} سنة\", one: \"قبل سنة واحدة\", two: \"قبل سنتين\", few: \"قبل {0} سنوات\", many: \"قبل {0} سنة\", other: \"قبل {0} سنة\" } } }, month: { displayName: \"الشهر\", relative: { 0: \"هذا الشهر\", 1: \"الشهر القادم\", \"-1\": \"الشهر الماضي\" }, relativeTime: { future: { zero: \"خلال {0} شهر\", one: \"خلال شهر واحد\", two: \"خلال شهرين\", few: \"خلال {0} أشهر\", many: \"خلال {0} شهرًا\", other: \"خلال {0} شهر\" }, past: { zero: \"قبل {0} شهر\", one: \"قبل شهر واحد\", two: \"قبل شهرين\", few: \"قبل {0} أشهر\", many: \"قبل {0} شهرًا\", other: \"قبل {0} شهر\" } } }, day: { displayName: \"يوم\", relative: { 0: \"اليوم\", 1: \"غدًا\", 2: \"بعد الغد\", \"-2\": \"أول أمس\", \"-1\": \"أمس\" }, relativeTime: { future: { zero: \"خلال {0} يوم\", one: \"خلال يوم واحد\", two: \"خلال يومين\", few: \"خلال {0} أيام\", many: \"خلال {0} يومًا\", other: \"خلال {0} يوم\" }, past: { zero: \"قبل {0} يوم\", one: \"قبل يوم واحد\", two: \"قبل يومين\", few: \"قبل {0} أيام\", many: \"قبل {0} يومًا\", other: \"قبل {0} يوم\" } } }, hour: { displayName: \"الساعات\", relative: { 0: \"الساعة الحالية\" }, relativeTime: { future: { zero: \"خلال {0} ساعة\", one: \"خلال ساعة واحدة\", two: \"خلال ساعتين\", few: \"خلال {0} ساعات\", many: \"خلال {0} ساعة\", other: \"خلال {0} ساعة\" }, past: { zero: \"قبل {0} ساعة\", one: \"قبل ساعة واحدة\", two: \"قبل ساعتين\", few: \"قبل {0} ساعات\", many: \"قبل {0} ساعة\", other: \"قبل {0} ساعة\" } } }, minute: { displayName: \"الدقائق\", relative: { 0: \"هذه الدقيقة\" }, relativeTime: { future: { zero: \"خلال {0} دقيقة\", one: \"خلال دقيقة واحدة\", two: \"خلال دقيقتين\", few: \"خلال {0} دقائق\", many: \"خلال {0} دقيقة\", other: \"خلال {0} دقيقة\" }, past: { zero: \"قبل {0} دقيقة\", one: \"قبل دقيقة واحدة\", two: \"قبل دقيقتين\", few: \"قبل {0} دقائق\", many: \"قبل {0} دقيقة\", other: \"قبل {0} دقيقة\" } } }, second: { displayName: \"الثواني\", relative: { 0: \"الآن\" }, relativeTime: { future: { zero: \"خلال {0} ثانية\", one: \"خلال ثانية واحدة\", two: \"خلال ثانيتين\", few: \"خلال {0} ثوانٍ\", many: \"خلال {0} ثانية\", other: \"خلال {0} ثانية\" }, past: { zero: \"قبل {0} ثانية\", one: \"قبل ثانية واحدة\", two: \"قبل ثانيتين\", few: \"قبل {0} ثوانِ\", many: \"قبل {0} ثانية\", other: \"قبل {0} ثانية\" } } } } }, { locale: \"ar-AE\", parentLocale: \"ar\", fields: { year: { displayName: \"السنة\", relative: { 0: \"هذه السنة\", 1: \"السنة التالية\", \"-1\": \"السنة الماضية\" }, relativeTime: { future: { zero: \"خلال {0} سنة\", one: \"خلال سنة واحدة\", two: \"خلال سنتين\", few: \"خلال {0} سنوات\", many: \"خلال {0} سنة\", other: \"خلال {0} سنة\" }, past: { zero: \"قبل {0} سنة\", one: \"قبل سنة واحدة\", two: \"قبل سنتين\", few: \"قبل {0} سنوات\", many: \"قبل {0} سنة\", other: \"قبل {0} سنة\" } } }, month: { displayName: \"الشهر\", relative: { 0: \"هذا الشهر\", 1: \"الشهر القادم\", \"-1\": \"الشهر الماضي\" }, relativeTime: { future: { zero: \"خلال {0} شهر\", one: \"خلال شهر واحد\", two: \"خلال شهرين\", few: \"خلال {0} أشهر\", many: \"خلال {0} شهرًا\", other: \"خلال {0} شهر\" }, past: { zero: \"قبل {0} شهر\", one: \"قبل شهر واحد\", two: \"قبل شهرين\", few: \"قبل {0} أشهر\", many: \"قبل {0} شهرًا\", other: \"قبل {0} شهر\" } } }, day: { displayName: \"يوم\", relative: { 0: \"اليوم\", 1: \"غدًا\", 2: \"بعد الغد\", \"-2\": \"أول أمس\", \"-1\": \"أمس\" }, relativeTime: { future: { zero: \"خلال {0} يوم\", one: \"خلال يوم واحد\", two: \"خلال يومين\", few: \"خلال {0} أيام\", many: \"خلال {0} يومًا\", other: \"خلال {0} يوم\" }, past: { zero: \"قبل {0} يوم\", one: \"قبل يوم واحد\", two: \"قبل يومين\", few: \"قبل {0} أيام\", many: \"قبل {0} يومًا\", other: \"قبل {0} يوم\" } } }, hour: { displayName: \"الساعات\", relative: { 0: \"الساعة الحالية\" }, relativeTime: { future: { zero: \"خلال {0} ساعة\", one: \"خلال ساعة واحدة\", two: \"خلال ساعتين\", few: \"خلال {0} ساعات\", many: \"خلال {0} ساعة\", other: \"خلال {0} ساعة\" }, past: { zero: \"قبل {0} ساعة\", one: \"قبل ساعة واحدة\", two: \"قبل ساعتين\", few: \"قبل {0} ساعات\", many: \"قبل {0} ساعة\", other: \"قبل {0} ساعة\" } } }, minute: { displayName: \"الدقائق\", relative: { 0: \"هذه الدقيقة\" }, relativeTime: { future: { zero: \"خلال {0} دقيقة\", one: \"خلال دقيقة واحدة\", two: \"خلال دقيقتين\", few: \"خلال {0} دقائق\", many: \"خلال {0} دقيقة\", other: \"خلال {0} دقيقة\" }, past: { zero: \"قبل {0} دقيقة\", one: \"قبل دقيقة واحدة\", two: \"قبل دقيقتين\", few: \"قبل {0} دقائق\", many: \"قبل {0} دقيقة\", other: \"قبل {0} دقيقة\" } } }, second: { displayName: \"الثواني\", relative: { 0: \"الآن\" }, relativeTime: { future: { zero: \"خلال {0} ثانية\", one: \"خلال ثانية واحدة\", two: \"خلال ثانيتين\", few: \"خلال {0} ثوانٍ\", many: \"خلال {0} ثانية\", other: \"خلال {0} ثانية\" }, past: { zero: \"قبل {0} ثانية\", one: \"قبل ثانية واحدة\", two: \"قبل ثانيتين\", few: \"قبل {0} ثوانِ\", many: \"قبل {0} ثانية\", other: \"قبل {0} ثانية\" } } } } }, { locale: \"ar-BH\", parentLocale: \"ar\" }, { locale: \"ar-DJ\", parentLocale: \"ar\" }, { locale: \"ar-DZ\", parentLocale: \"ar\" }, { locale: \"ar-EG\", parentLocale: \"ar\" }, { locale: \"ar-EH\", parentLocale: \"ar\" }, { locale: \"ar-ER\", parentLocale: \"ar\" }, { locale: \"ar-IL\", parentLocale: \"ar\" }, { locale: \"ar-IQ\", parentLocale: \"ar\" }, { locale: \"ar-JO\", parentLocale: \"ar\" }, { locale: \"ar-KM\", parentLocale: \"ar\" }, { locale: \"ar-KW\", parentLocale: \"ar\" }, { locale: \"ar-LB\", parentLocale: \"ar\" }, { locale: \"ar-LY\", parentLocale: \"ar\" }, { locale: \"ar-MA\", parentLocale: \"ar\" }, { locale: \"ar-MR\", parentLocale: \"ar\" }, { locale: \"ar-OM\", parentLocale: \"ar\" }, { locale: \"ar-PS\", parentLocale: \"ar\" }, { locale: \"ar-QA\", parentLocale: \"ar\" }, { locale: \"ar-SA\", parentLocale: \"ar\" }, { locale: \"ar-SD\", parentLocale: \"ar\" }, { locale: \"ar-SO\", parentLocale: \"ar\" }, { locale: \"ar-SS\", parentLocale: \"ar\" }, { locale: \"ar-SY\", parentLocale: \"ar\" }, { locale: \"ar-TD\", parentLocale: \"ar\" }, { locale: \"ar-TN\", parentLocale: \"ar\" }, { locale: \"ar-YE\", parentLocale: \"ar\" }];\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 659, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ar.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ar.js", + "moduleName": "./tmp/packs/locale_ar.js", + "loc": "", + "name": "locale_ar", + "reasons": [] + } + ] + }, + { + "id": 63, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 41, + "names": [ + "default" + ], + "files": [ + "default-99ffdcf166b2dedef105.js", + "default-818c1287ac3c764905d81e549d5e0160.css", + "default-99ffdcf166b2dedef105.js.map", + "default-818c1287ac3c764905d81e549d5e0160.css.map" + ], + "hash": "99ffdcf166b2dedef105", + "parents": [ + 65 + ], + "modules": [ + { + "id": 748, + "identifier": "/home/lambda/repos/mastodon/node_modules/extract-text-webpack-plugin/dist/loader.js??ref--4-0!/home/lambda/repos/mastodon/node_modules/style-loader/index.js!/home/lambda/repos/mastodon/node_modules/css-loader/index.js??ref--4-2!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js??ref--4-3!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/app/javascript/styles/application.scss", + "name": "./app/javascript/styles/application.scss", + "index": 909, + "index2": 934, + "size": 41, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 63 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 0, + "source": "// removed by extract-text-webpack-plugin" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 748, + "module": "/home/lambda/repos/mastodon/node_modules/extract-text-webpack-plugin/dist/loader.js??ref--4-0!/home/lambda/repos/mastodon/node_modules/style-loader/index.js!/home/lambda/repos/mastodon/node_modules/css-loader/index.js??ref--4-2!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js??ref--4-3!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/app/javascript/styles/application.scss", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/extract-text-webpack-plugin/dist/loader.js??ref--4-0!/home/lambda/repos/mastodon/node_modules/style-loader/index.js!/home/lambda/repos/mastodon/node_modules/css-loader/index.js??ref--4-2!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js??ref--4-3!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/app/javascript/styles/application.scss", + "moduleName": "./app/javascript/styles/application.scss", + "loc": "", + "name": "default", + "reasons": [] + } + ] + }, + { + "id": 64, + "rendered": true, + "initial": true, + "entry": false, + "extraAsync": false, + "size": 1577, + "names": [ + "admin" + ], + "files": [ + "admin-1bab981afc4fd0d71402.js", + "admin-1bab981afc4fd0d71402.js.map" + ], + "hash": "1bab981afc4fd0d71402", + "parents": [ + 65 + ], + "modules": [ + { + "id": 622, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/admin.js", + "name": "./app/javascript/packs/admin.js", + "index": 760, + "index2": 761, + "size": 1577, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 64 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "import { delegate } from 'rails-ujs';\n\nfunction handleDeleteStatus(event) {\n var _event$detail = event.detail,\n data = _event$detail[0];\n\n var element = document.querySelector('[data-id=\"' + data.id + '\"]');\n if (element) {\n element.parentNode.removeChild(element);\n }\n}\n\n[].forEach.call(document.querySelectorAll('.trash-button'), function (content) {\n content.addEventListener('ajax:success', handleDeleteStatus);\n});\n\nvar batchCheckboxClassName = '.batch-checkbox input[type=\"checkbox\"]';\n\ndelegate(document, '#batch_checkbox_all', 'change', function (_ref) {\n var target = _ref.target;\n\n [].forEach.call(document.querySelectorAll(batchCheckboxClassName), function (content) {\n content.checked = target.checked;\n });\n});\n\ndelegate(document, batchCheckboxClassName, 'change', function () {\n var checkAllElement = document.querySelector('#batch_checkbox_all');\n if (checkAllElement) {\n checkAllElement.checked = [].every.call(document.querySelectorAll(batchCheckboxClassName), function (content) {\n return content.checked;\n });\n }\n});\n\ndelegate(document, '.media-spoiler-show-button', 'click', function () {\n [].forEach.call(document.querySelectorAll('.activity-stream .media-spoiler-wrapper'), function (content) {\n content.classList.add('media-spoiler-wrapper__visible');\n });\n});\n\ndelegate(document, '.media-spoiler-hide-button', 'click', function () {\n [].forEach.call(document.querySelectorAll('.activity-stream .media-spoiler-wrapper'), function (content) {\n content.classList.remove('media-spoiler-wrapper__visible');\n });\n});" + } + ], + "filteredModules": 0, + "origins": [ + { + "moduleId": 622, + "module": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/admin.js", + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/admin.js", + "moduleName": "./app/javascript/packs/admin.js", + "loc": "", + "name": "admin", + "reasons": [] + } + ] + }, + { + "id": 65, + "rendered": true, + "initial": true, + "entry": true, + "extraAsync": false, + "size": 1529167, + "names": [ + "common" + ], + "files": [ + "common-1789b98651001ef10c0b.js", + "common-daadaac9454e7d14470e7954e3143dca.css", + "common-1789b98651001ef10c0b.js.map", + "common-daadaac9454e7d14470e7954e3143dca.css.map" + ], + "hash": "1789b98651001ef10c0b", + "parents": [], + "modules": [ + { + "id": 0, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/index.js", + "name": "./node_modules/react/index.js", + "index": 157, + "index2": 159, + "size": 189, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "issuerId": 652, + "issuerName": "./app/javascript/packs/public.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 6, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "module": "./node_modules/react-intl/lib/index.es.js", + "moduleName": "./node_modules/react-intl/lib/index.es.js", + "type": "harmony import", + "userRequest": "react", + "loc": "11:0-82" + }, + { + "moduleId": 11, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-immutable-pure-component/lib/react-immutable-pure-component.js", + "module": "./node_modules/react-immutable-pure-component/lib/react-immutable-pure-component.js", + "moduleName": "./node_modules/react-immutable-pure-component/lib/react-immutable-pure-component.js", + "type": "cjs require", + "userRequest": "react", + "loc": "2:82-98" + }, + { + "moduleId": 19, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "module": "./app/javascript/mastodon/components/icon_button.js", + "moduleName": "./app/javascript/mastodon/components/icon_button.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 55, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar.js", + "module": "./app/javascript/mastodon/components/avatar.js", + "moduleName": "./app/javascript/mastodon/components/avatar.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 56, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/display_name.js", + "module": "./app/javascript/mastodon/components/display_name.js", + "moduleName": "./app/javascript/mastodon/components/display_name.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 97, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "module": "./node_modules/react-overlays/lib/Overlay.js", + "moduleName": "./node_modules/react-overlays/lib/Overlay.js", + "type": "cjs require", + "userRequest": "react", + "loc": "23:13-29" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 99, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column.js", + "module": "./app/javascript/mastodon/components/column.js", + "moduleName": "./app/javascript/mastodon/components/column.js", + "type": "harmony import", + "userRequest": "react", + "loc": "4:0-26" + }, + { + "moduleId": 101, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/button.js", + "module": "./app/javascript/mastodon/components/button.js", + "moduleName": "./app/javascript/mastodon/components/button.js", + "type": "harmony import", + "userRequest": "react", + "loc": "7:0-26" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "9:0-26" + }, + { + "moduleId": 131, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/relative_timestamp.js", + "module": "./app/javascript/mastodon/components/relative_timestamp.js", + "moduleName": "./app/javascript/mastodon/components/relative_timestamp.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 132, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types-extra/lib/componentOrElement.js", + "module": "./node_modules/prop-types-extra/lib/componentOrElement.js", + "moduleName": "./node_modules/prop-types-extra/lib/componentOrElement.js", + "type": "cjs require", + "userRequest": "react", + "loc": "13:13-29" + }, + { + "moduleId": 141, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Router.js", + "module": "./node_modules/react-router/es/Router.js", + "moduleName": "./node_modules/react-router/es/Router.js", + "type": "harmony import", + "userRequest": "react", + "loc": "31:0-26" + }, + { + "moduleId": 150, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "module": "./app/javascript/mastodon/features/ui/components/column_header.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_header.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 152, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "module": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "moduleName": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "type": "harmony import", + "userRequest": "react", + "loc": "1:0-26" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "react", + "loc": "11:0-26" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 190, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/connectAdvanced.js", + "module": "./node_modules/react-redux/es/components/connectAdvanced.js", + "moduleName": "./node_modules/react-redux/es/components/connectAdvanced.js", + "type": "harmony import", + "userRequest": "react", + "loc": "37:0-49" + }, + { + "moduleId": 206, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/loading_bar.js", + "module": "./node_modules/react-redux-loading-bar/build/loading_bar.js", + "moduleName": "./node_modules/react-redux-loading-bar/build/loading_bar.js", + "type": "cjs require", + "userRequest": "react", + "loc": "28:13-29" + }, + { + "moduleId": 217, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "module": "./node_modules/react-motion/lib/Motion.js", + "moduleName": "./node_modules/react-motion/lib/Motion.js", + "type": "cjs require", + "userRequest": "react", + "loc": "65:13-29" + }, + { + "moduleId": 228, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Link.js", + "module": "./node_modules/react-router-dom/es/Link.js", + "moduleName": "./node_modules/react-router-dom/es/Link.js", + "type": "harmony import", + "userRequest": "react", + "loc": "35:0-26" + }, + { + "moduleId": 231, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Route.js", + "module": "./node_modules/react-router/es/Route.js", + "moduleName": "./node_modules/react-router/es/Route.js", + "type": "harmony import", + "userRequest": "react", + "loc": "31:0-26" + }, + { + "moduleId": 232, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/FocusTrap.js", + "module": "./node_modules/react-hotkeys/lib/FocusTrap.js", + "moduleName": "./node_modules/react-hotkeys/lib/FocusTrap.js", + "type": "cjs require", + "userRequest": "react", + "loc": "31:13-29" + }, + { + "moduleId": 233, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "module": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "type": "cjs require", + "userRequest": "react", + "loc": "12:13-29" + }, + { + "moduleId": 249, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 252, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/notification.js", + "module": "./node_modules/react-notification/dist/notification.js", + "moduleName": "./node_modules/react-notification/dist/notification.js", + "type": "cjs require", + "userRequest": "react", + "loc": "27:13-29" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "react", + "loc": "9:0-26" + }, + { + "moduleId": 257, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "react", + "loc": "6:0-26" + }, + { + "moduleId": 260, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "module": "./app/javascript/mastodon/components/load_more.js", + "moduleName": "./app/javascript/mastodon/components/load_more.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "react", + "loc": "9:0-45" + }, + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "react", + "loc": "4:0-26" + }, + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "react", + "loc": "10:0-26" + }, + { + "moduleId": 270, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/permalink.js", + "module": "./app/javascript/mastodon/components/permalink.js", + "moduleName": "./app/javascript/mastodon/components/permalink.js", + "type": "harmony import", + "userRequest": "react", + "loc": "9:0-26" + }, + { + "moduleId": 271, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/loading_indicator.js", + "module": "./app/javascript/mastodon/components/loading_indicator.js", + "moduleName": "./app/javascript/mastodon/components/loading_indicator.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 272, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "module": "./app/javascript/mastodon/components/column_back_button_slim.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button_slim.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 287, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/character_counter.js", + "module": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "react", + "loc": "9:0-26" + }, + { + "moduleId": 292, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "module": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 293, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_emoji.js", + "module": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 294, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-textarea-autosize/es/index.js", + "module": "./node_modules/react-textarea-autosize/es/index.js", + "moduleName": "./node_modules/react-textarea-autosize/es/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "1:0-26" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 297, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/collapsable.js", + "module": "./app/javascript/mastodon/components/collapsable.js", + "moduleName": "./app/javascript/mastodon/components/collapsable.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 299, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/text_icon_button.js", + "module": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 312, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/warning.js", + "module": "./app/javascript/mastodon/features/compose/components/warning.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/warning.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 316, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "module": "./app/javascript/mastodon/features/status/components/card.js", + "moduleName": "./app/javascript/mastodon/features/status/components/card.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 319, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/about.js", + "module": "./app/javascript/packs/about.js", + "moduleName": "./app/javascript/packs/about.js", + "type": "cjs require", + "userRequest": "react", + "loc": "7:14-30" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 354, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/Provider.js", + "module": "./node_modules/react-redux/es/components/Provider.js", + "moduleName": "./node_modules/react-redux/es/components/Provider.js", + "type": "harmony import", + "userRequest": "react", + "loc": "19:0-44" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 464, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar_overlay.js", + "module": "./app/javascript/mastodon/components/avatar_overlay.js", + "moduleName": "./app/javascript/mastodon/components/avatar_overlay.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 466, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/reduced_motion.js", + "module": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 476, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types-extra/lib/elementType.js", + "module": "./node_modules/prop-types-extra/lib/elementType.js", + "moduleName": "./node_modules/prop-types-extra/lib/elementType.js", + "type": "cjs require", + "userRequest": "react", + "loc": "13:13-29" + }, + { + "moduleId": 477, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Portal.js", + "module": "./node_modules/react-overlays/lib/Portal.js", + "moduleName": "./node_modules/react-overlays/lib/Portal.js", + "type": "cjs require", + "userRequest": "react", + "loc": "13:13-29" + }, + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "react", + "loc": "12:9-25" + }, + { + "moduleId": 487, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/LegacyPortal.js", + "module": "./node_modules/react-overlays/lib/LegacyPortal.js", + "moduleName": "./node_modules/react-overlays/lib/LegacyPortal.js", + "type": "cjs require", + "userRequest": "react", + "loc": "13:13-29" + }, + { + "moduleId": 488, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "module": "./node_modules/react-overlays/lib/Position.js", + "moduleName": "./node_modules/react-overlays/lib/Position.js", + "type": "cjs require", + "userRequest": "react", + "loc": "27:13-29" + }, + { + "moduleId": 498, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/RootCloseWrapper.js", + "module": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "moduleName": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "type": "cjs require", + "userRequest": "react", + "loc": "13:13-29" + }, + { + "moduleId": 501, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/BrowserRouter.js", + "module": "./node_modules/react-router-dom/es/BrowserRouter.js", + "moduleName": "./node_modules/react-router-dom/es/BrowserRouter.js", + "type": "harmony import", + "userRequest": "react", + "loc": "20:0-26" + }, + { + "moduleId": 504, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/HashRouter.js", + "module": "./node_modules/react-router-dom/es/HashRouter.js", + "moduleName": "./node_modules/react-router-dom/es/HashRouter.js", + "type": "harmony import", + "userRequest": "react", + "loc": "20:0-26" + }, + { + "moduleId": 506, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/MemoryRouter.js", + "module": "./node_modules/react-router/es/MemoryRouter.js", + "moduleName": "./node_modules/react-router/es/MemoryRouter.js", + "type": "harmony import", + "userRequest": "react", + "loc": "20:0-26" + }, + { + "moduleId": 507, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/NavLink.js", + "module": "./node_modules/react-router-dom/es/NavLink.js", + "moduleName": "./node_modules/react-router-dom/es/NavLink.js", + "type": "harmony import", + "userRequest": "react", + "loc": "23:0-26" + }, + { + "moduleId": 511, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Prompt.js", + "module": "./node_modules/react-router/es/Prompt.js", + "moduleName": "./node_modules/react-router/es/Prompt.js", + "type": "harmony import", + "userRequest": "react", + "loc": "19:0-26" + }, + { + "moduleId": 513, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Redirect.js", + "module": "./node_modules/react-router/es/Redirect.js", + "moduleName": "./node_modules/react-router/es/Redirect.js", + "type": "harmony import", + "userRequest": "react", + "loc": "19:0-26" + }, + { + "moduleId": 516, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/StaticRouter.js", + "module": "./node_modules/react-router/es/StaticRouter.js", + "moduleName": "./node_modules/react-router/es/StaticRouter.js", + "type": "harmony import", + "userRequest": "react", + "loc": "37:0-26" + }, + { + "moduleId": 518, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Switch.js", + "module": "./node_modules/react-router/es/Switch.js", + "moduleName": "./node_modules/react-router/es/Switch.js", + "type": "harmony import", + "userRequest": "react", + "loc": "19:0-26" + }, + { + "moduleId": 521, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/withRouter.js", + "module": "./node_modules/react-router/es/withRouter.js", + "moduleName": "./node_modules/react-router/es/withRouter.js", + "type": "harmony import", + "userRequest": "react", + "loc": "17:0-26" + }, + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "react", + "loc": "21:13-29" + }, + { + "moduleId": 523, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/create-react-class/index.js", + "module": "./node_modules/create-react-class/index.js", + "moduleName": "./node_modules/create-react-class/index.js", + "type": "cjs require", + "userRequest": "react", + "loc": "11:12-28" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "react", + "loc": "42:13-29" + }, + { + "moduleId": 617, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/checkIndexBounds.js", + "module": "./node_modules/react-swipeable-views-core/lib/checkIndexBounds.js", + "moduleName": "./node_modules/react-swipeable-views-core/lib/checkIndexBounds.js", + "type": "cjs require", + "userRequest": "react", + "loc": "7:13-29" + }, + { + "moduleId": 618, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/computeIndex.js", + "module": "./node_modules/react-swipeable-views-core/lib/computeIndex.js", + "moduleName": "./node_modules/react-swipeable-views-core/lib/computeIndex.js", + "type": "cjs require", + "userRequest": "react", + "loc": "8:13-29" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 624, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "module": "./app/javascript/mastodon/main.js", + "moduleName": "./app/javascript/mastodon/main.js", + "type": "harmony import", + "userRequest": "react", + "loc": "3:0-26" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "9:0-26" + }, + { + "moduleId": 629, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/notificationStack.js", + "module": "./node_modules/react-notification/dist/notificationStack.js", + "moduleName": "./node_modules/react-notification/dist/notificationStack.js", + "type": "cjs require", + "userRequest": "react", + "loc": "17:13-29" + }, + { + "moduleId": 630, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/stackedNotification.js", + "module": "./node_modules/react-notification/dist/stackedNotification.js", + "moduleName": "./node_modules/react-notification/dist/stackedNotification.js", + "type": "cjs require", + "userRequest": "react", + "loc": "27:13-29" + }, + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "react", + "loc": "6:0-26" + }, + { + "moduleId": 633, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 634, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_loading.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 637, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/extended_video_player.js", + "module": "./app/javascript/mastodon/components/extended_video_player.js", + "moduleName": "./app/javascript/mastodon/components/extended_video_player.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 638, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/image_loader.js", + "module": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "type": "harmony import", + "userRequest": "react", + "loc": "9:0-26" + }, + { + "moduleId": 639, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/video_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 641, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "react", + "loc": "7:0-26" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 646, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/drawer_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/drawer_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/drawer_loading.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "cjs require", + "userRequest": "react", + "loc": "41:14-30" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "react", + "loc": "6:0-26" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "react", + "loc": "7:0-26" + }, + { + "moduleId": 655, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "module": "./app/javascript/mastodon/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/containers/card_container.js", + "type": "harmony import", + "userRequest": "react", + "loc": "6:0-26" + }, + { + "moduleId": 656, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "module": "./app/javascript/packs/share.js", + "moduleName": "./app/javascript/packs/share.js", + "type": "cjs require", + "userRequest": "react", + "loc": "7:14-30" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 658, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "module": "./app/javascript/mastodon/features/standalone/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "9:0-26" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 779, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "module": "./app/javascript/mastodon/components/column_back_button.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 780, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "module": "./app/javascript/mastodon/components/missing_indicator.js", + "moduleName": "./app/javascript/mastodon/components/missing_indicator.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "react", + "loc": "27:13-29" + }, + { + "moduleId": 791, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/check.js", + "module": "./node_modules/react-toggle/dist/component/check.js", + "moduleName": "./node_modules/react-toggle/dist/component/check.js", + "type": "cjs require", + "userRequest": "react", + "loc": "7:13-29" + }, + { + "moduleId": 792, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/x.js", + "module": "./node_modules/react-toggle/dist/component/x.js", + "moduleName": "./node_modules/react-toggle/dist/component/x.js", + "type": "cjs require", + "userRequest": "react", + "loc": "7:13-29" + }, + { + "moduleId": 794, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/setting_text.js", + "module": "./app/javascript/mastodon/components/setting_text.js", + "moduleName": "./app/javascript/mastodon/components/setting_text.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 804, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "module": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "react", + "loc": "9:0-26" + }, + { + "moduleId": 821, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/emoji.js", + "module": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "type": "harmony import", + "userRequest": "react", + "loc": "1:0-26" + }, + { + "moduleId": 872, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/anchors.js", + "module": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "type": "harmony import", + "userRequest": "react", + "loc": "6:0-26" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": "react", + "loc": "7:0-26" + }, + { + "moduleId": 875, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "module": "./node_modules/emoji-mart/dist-es/components/preview.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/preview.js", + "type": "harmony import", + "userRequest": "react", + "loc": "7:0-26" + }, + { + "moduleId": 876, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/search.js", + "module": "./node_modules/emoji-mart/dist-es/components/search.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/search.js", + "type": "harmony import", + "userRequest": "react", + "loc": "6:0-26" + }, + { + "moduleId": 878, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/skins.js", + "module": "./node_modules/emoji-mart/dist-es/components/skins.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/skins.js", + "type": "harmony import", + "userRequest": "react", + "loc": "6:0-26" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 887, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "module": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 893, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/attachment_list.js", + "module": "./app/javascript/mastodon/components/attachment_list.js", + "moduleName": "./app/javascript/mastodon/components/attachment_list.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 896, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_link.js", + "module": "./app/javascript/mastodon/features/ui/components/column_link.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_link.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 897, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_subheading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_subheading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_subheading.js", + "type": "harmony import", + "userRequest": "react", + "loc": "2:0-26" + }, + { + "moduleId": 898, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/components/media_item.js", + "module": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "react", + "loc": "8:0-26" + }, + { + "moduleId": 902, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/components/status_check_box.js", + "module": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "moduleName": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "type": "harmony import", + "userRequest": "react", + "loc": "5:0-26" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}" + }, + { + "id": 1, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/classCallCheck.js", + "name": "./node_modules/babel-runtime/helpers/classCallCheck.js", + "index": 133, + "index2": 131, + "size": 208, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "issuerId": 655, + "issuerName": "./app/javascript/mastodon/containers/card_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 19, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "module": "./app/javascript/mastodon/components/icon_button.js", + "moduleName": "./app/javascript/mastodon/components/icon_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 55, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar.js", + "module": "./app/javascript/mastodon/components/avatar.js", + "moduleName": "./app/javascript/mastodon/components/avatar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 56, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/display_name.js", + "module": "./app/javascript/mastodon/components/display_name.js", + "moduleName": "./app/javascript/mastodon/components/display_name.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 99, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column.js", + "module": "./app/javascript/mastodon/components/column.js", + "moduleName": "./app/javascript/mastodon/components/column.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "1:0-67" + }, + { + "moduleId": 101, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/button.js", + "module": "./app/javascript/mastodon/components/button.js", + "moduleName": "./app/javascript/mastodon/components/button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "1:0-67" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 131, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/relative_timestamp.js", + "module": "./app/javascript/mastodon/components/relative_timestamp.js", + "moduleName": "./app/javascript/mastodon/components/relative_timestamp.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 150, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "module": "./app/javascript/mastodon/features/ui/components/column_header.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "5:0-67" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 249, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "1:0-67" + }, + { + "moduleId": 257, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 260, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "module": "./app/javascript/mastodon/components/load_more.js", + "moduleName": "./app/javascript/mastodon/components/load_more.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "1:0-67" + }, + { + "moduleId": 268, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "module": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/intersection_observer_wrapper.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "1:0-67" + }, + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "4:0-67" + }, + { + "moduleId": 270, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/permalink.js", + "module": "./app/javascript/mastodon/components/permalink.js", + "moduleName": "./app/javascript/mastodon/components/permalink.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "3:0-67" + }, + { + "moduleId": 272, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "module": "./app/javascript/mastodon/components/column_back_button_slim.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button_slim.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 287, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/character_counter.js", + "module": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "3:0-67" + }, + { + "moduleId": 292, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "module": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 293, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_emoji.js", + "module": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 299, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/text_icon_button.js", + "module": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 312, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/warning.js", + "module": "./app/javascript/mastodon/features/compose/components/warning.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/warning.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 316, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "module": "./app/javascript/mastodon/features/status/components/card.js", + "moduleName": "./app/javascript/mastodon/features/status/components/card.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 464, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar_overlay.js", + "module": "./app/javascript/mastodon/components/avatar_overlay.js", + "moduleName": "./app/javascript/mastodon/components/avatar_overlay.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 466, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/reduced_motion.js", + "module": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "23:23-70" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "3:0-67" + }, + { + "moduleId": 633, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 637, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/extended_video_player.js", + "module": "./app/javascript/mastodon/components/extended_video_player.js", + "moduleName": "./app/javascript/mastodon/components/extended_video_player.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 638, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/image_loader.js", + "module": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 639, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/video_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 641, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "4:0-67" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "3:0-67" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "4:0-67" + }, + { + "moduleId": 655, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "module": "./app/javascript/mastodon/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/containers/card_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "3:0-67" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 658, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "module": "./app/javascript/mastodon/features/standalone/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "1:0-67" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 779, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "module": "./app/javascript/mastodon/components/column_back_button.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 794, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/setting_text.js", + "module": "./app/javascript/mastodon/components/setting_text.js", + "moduleName": "./app/javascript/mastodon/components/setting_text.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 804, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "module": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "3:0-67" + }, + { + "moduleId": 872, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/anchors.js", + "module": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "3:0-67" + }, + { + "moduleId": 875, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "module": "./node_modules/emoji-mart/dist-es/components/preview.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/preview.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "3:0-67" + }, + { + "moduleId": 876, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/search.js", + "module": "./node_modules/emoji-mart/dist-es/components/search.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/search.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 878, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/skins.js", + "module": "./node_modules/emoji-mart/dist-es/components/skins.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/skins.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 887, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "module": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 893, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/attachment_list.js", + "module": "./app/javascript/mastodon/components/attachment_list.js", + "moduleName": "./app/javascript/mastodon/components/attachment_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 898, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/components/media_item.js", + "module": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + }, + { + "moduleId": 902, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/components/status_check_box.js", + "module": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "moduleName": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/classCallCheck", + "loc": "2:0-67" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};" + }, + { + "id": 2, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/jsx.js", + "name": "./node_modules/babel-runtime/helpers/jsx.js", + "index": 77, + "index2": 130, + "size": 1457, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "issuerId": 653, + "issuerName": "./app/javascript/mastodon/containers/video_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 19, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "module": "./app/javascript/mastodon/components/icon_button.js", + "moduleName": "./app/javascript/mastodon/components/icon_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 55, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar.js", + "module": "./app/javascript/mastodon/components/avatar.js", + "moduleName": "./app/javascript/mastodon/components/avatar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 56, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/display_name.js", + "module": "./app/javascript/mastodon/components/display_name.js", + "moduleName": "./app/javascript/mastodon/components/display_name.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 131, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/relative_timestamp.js", + "module": "./app/javascript/mastodon/components/relative_timestamp.js", + "moduleName": "./app/javascript/mastodon/components/relative_timestamp.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 150, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "module": "./app/javascript/mastodon/features/ui/components/column_header.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "4:0-45" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 249, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "4:0-45" + }, + { + "moduleId": 257, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 260, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "module": "./app/javascript/mastodon/components/load_more.js", + "moduleName": "./app/javascript/mastodon/components/load_more.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "2:0-45" + }, + { + "moduleId": 271, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/loading_indicator.js", + "module": "./app/javascript/mastodon/components/loading_indicator.js", + "moduleName": "./app/javascript/mastodon/components/loading_indicator.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 272, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "module": "./app/javascript/mastodon/components/column_back_button_slim.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button_slim.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 287, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/character_counter.js", + "module": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 292, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "module": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 293, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_emoji.js", + "module": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 297, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/collapsable.js", + "module": "./app/javascript/mastodon/components/collapsable.js", + "moduleName": "./app/javascript/mastodon/components/collapsable.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 299, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/text_icon_button.js", + "module": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 312, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/warning.js", + "module": "./app/javascript/mastodon/features/compose/components/warning.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/warning.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 316, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "module": "./app/javascript/mastodon/features/status/components/card.js", + "moduleName": "./app/javascript/mastodon/features/status/components/card.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 464, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar_overlay.js", + "module": "./app/javascript/mastodon/components/avatar_overlay.js", + "moduleName": "./app/javascript/mastodon/components/avatar_overlay.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 466, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/reduced_motion.js", + "module": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "2:0-45" + }, + { + "moduleId": 633, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 634, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_loading.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 637, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/extended_video_player.js", + "module": "./app/javascript/mastodon/components/extended_video_player.js", + "moduleName": "./app/javascript/mastodon/components/extended_video_player.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 638, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/image_loader.js", + "module": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 639, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/video_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 641, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "3:0-45" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 646, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/drawer_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/drawer_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/drawer_loading.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "2:0-45" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 658, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "module": "./app/javascript/mastodon/features/standalone/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 768, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/generic_not_found/index.js", + "module": "./app/javascript/mastodon/features/generic_not_found/index.js", + "moduleName": "./app/javascript/mastodon/features/generic_not_found/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "4:0-45" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 779, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "module": "./app/javascript/mastodon/components/column_back_button.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 780, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/missing_indicator.js", + "module": "./app/javascript/mastodon/components/missing_indicator.js", + "moduleName": "./app/javascript/mastodon/components/missing_indicator.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 794, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/setting_text.js", + "module": "./app/javascript/mastodon/components/setting_text.js", + "moduleName": "./app/javascript/mastodon/components/setting_text.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 804, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "module": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 887, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "module": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 893, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/attachment_list.js", + "module": "./app/javascript/mastodon/components/attachment_list.js", + "moduleName": "./app/javascript/mastodon/components/attachment_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 896, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_link.js", + "module": "./app/javascript/mastodon/features/ui/components/column_link.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_link.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 897, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_subheading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_subheading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_subheading.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 898, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/components/media_item.js", + "module": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + }, + { + "moduleId": 902, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/components/status_check_box.js", + "module": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "moduleName": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/jsx", + "loc": "1:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "\"use strict\";\n\nexports.__esModule = true;\n\nvar _for = require(\"../core-js/symbol/for\");\n\nvar _for2 = _interopRequireDefault(_for);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function () {\n var REACT_ELEMENT_TYPE = typeof _symbol2.default === \"function\" && _for2.default && (0, _for2.default)(\"react.element\") || 0xeac7;\n return function createRawReactElement(type, props, key, children) {\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n props = {};\n }\n\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n\n props.children = childArray;\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : '' + key,\n ref: null,\n props: props,\n _owner: null\n };\n };\n}();" + }, + { + "id": 3, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/possibleConstructorReturn.js", + "name": "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js", + "index": 134, + "index2": 146, + "size": 544, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "issuerId": 655, + "issuerName": "./app/javascript/mastodon/containers/card_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 19, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "module": "./app/javascript/mastodon/components/icon_button.js", + "moduleName": "./app/javascript/mastodon/components/icon_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 55, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar.js", + "module": "./app/javascript/mastodon/components/avatar.js", + "moduleName": "./app/javascript/mastodon/components/avatar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 56, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/display_name.js", + "module": "./app/javascript/mastodon/components/display_name.js", + "moduleName": "./app/javascript/mastodon/components/display_name.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 99, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column.js", + "module": "./app/javascript/mastodon/components/column.js", + "moduleName": "./app/javascript/mastodon/components/column.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "2:0-89" + }, + { + "moduleId": 101, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/button.js", + "module": "./app/javascript/mastodon/components/button.js", + "moduleName": "./app/javascript/mastodon/components/button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "2:0-89" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 131, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/relative_timestamp.js", + "module": "./app/javascript/mastodon/components/relative_timestamp.js", + "moduleName": "./app/javascript/mastodon/components/relative_timestamp.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 150, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "module": "./app/javascript/mastodon/features/ui/components/column_header.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "6:0-89" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 249, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "2:0-89" + }, + { + "moduleId": 257, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 260, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "module": "./app/javascript/mastodon/components/load_more.js", + "moduleName": "./app/javascript/mastodon/components/load_more.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "2:0-89" + }, + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "5:0-89" + }, + { + "moduleId": 270, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/permalink.js", + "module": "./app/javascript/mastodon/components/permalink.js", + "moduleName": "./app/javascript/mastodon/components/permalink.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "4:0-89" + }, + { + "moduleId": 272, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "module": "./app/javascript/mastodon/components/column_back_button_slim.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button_slim.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 287, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/character_counter.js", + "module": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "4:0-89" + }, + { + "moduleId": 292, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "module": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 293, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_emoji.js", + "module": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 299, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/text_icon_button.js", + "module": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 312, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/warning.js", + "module": "./app/javascript/mastodon/features/compose/components/warning.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/warning.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 316, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "module": "./app/javascript/mastodon/features/status/components/card.js", + "moduleName": "./app/javascript/mastodon/features/status/components/card.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 464, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar_overlay.js", + "module": "./app/javascript/mastodon/components/avatar_overlay.js", + "moduleName": "./app/javascript/mastodon/components/avatar_overlay.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 466, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/reduced_motion.js", + "module": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "31:34-92" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "4:0-89" + }, + { + "moduleId": 633, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 637, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/extended_video_player.js", + "module": "./app/javascript/mastodon/components/extended_video_player.js", + "moduleName": "./app/javascript/mastodon/components/extended_video_player.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 638, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/image_loader.js", + "module": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "4:0-89" + }, + { + "moduleId": 639, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/video_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 641, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "5:0-89" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "4:0-89" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "5:0-89" + }, + { + "moduleId": 655, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "module": "./app/javascript/mastodon/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/containers/card_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "4:0-89" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 658, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "module": "./app/javascript/mastodon/features/standalone/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "2:0-89" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 779, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "module": "./app/javascript/mastodon/components/column_back_button.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 794, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/setting_text.js", + "module": "./app/javascript/mastodon/components/setting_text.js", + "moduleName": "./app/javascript/mastodon/components/setting_text.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 804, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "module": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 887, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "module": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 893, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/attachment_list.js", + "module": "./app/javascript/mastodon/components/attachment_list.js", + "moduleName": "./app/javascript/mastodon/components/attachment_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 898, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/components/media_item.js", + "module": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + }, + { + "moduleId": 902, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/components/status_check_box.js", + "module": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "moduleName": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/possibleConstructorReturn", + "loc": "3:0-89" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};" + }, + { + "id": 4, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/inherits.js", + "name": "./node_modules/babel-runtime/helpers/inherits.js", + "index": 149, + "index2": 154, + "size": 1112, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "issuerId": 655, + "issuerName": "./app/javascript/mastodon/containers/card_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 19, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "module": "./app/javascript/mastodon/components/icon_button.js", + "moduleName": "./app/javascript/mastodon/components/icon_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 55, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar.js", + "module": "./app/javascript/mastodon/components/avatar.js", + "moduleName": "./app/javascript/mastodon/components/avatar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 56, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/display_name.js", + "module": "./app/javascript/mastodon/components/display_name.js", + "moduleName": "./app/javascript/mastodon/components/display_name.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 99, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column.js", + "module": "./app/javascript/mastodon/components/column.js", + "moduleName": "./app/javascript/mastodon/components/column.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "3:0-55" + }, + { + "moduleId": 101, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/button.js", + "module": "./app/javascript/mastodon/components/button.js", + "moduleName": "./app/javascript/mastodon/components/button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "3:0-55" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 131, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/relative_timestamp.js", + "module": "./app/javascript/mastodon/components/relative_timestamp.js", + "moduleName": "./app/javascript/mastodon/components/relative_timestamp.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 150, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_header.js", + "module": "./app/javascript/mastodon/features/ui/components/column_header.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "7:0-55" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 249, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "3:0-55" + }, + { + "moduleId": 257, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 260, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/load_more.js", + "module": "./app/javascript/mastodon/components/load_more.js", + "moduleName": "./app/javascript/mastodon/components/load_more.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "3:0-55" + }, + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "6:0-55" + }, + { + "moduleId": 270, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/permalink.js", + "module": "./app/javascript/mastodon/components/permalink.js", + "moduleName": "./app/javascript/mastodon/components/permalink.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "5:0-55" + }, + { + "moduleId": 272, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "module": "./app/javascript/mastodon/components/column_back_button_slim.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button_slim.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 287, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/character_counter.js", + "module": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "5:0-55" + }, + { + "moduleId": 292, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "module": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 293, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_emoji.js", + "module": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 299, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/text_icon_button.js", + "module": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/text_icon_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 312, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/warning.js", + "module": "./app/javascript/mastodon/features/compose/components/warning.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/warning.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 316, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "module": "./app/javascript/mastodon/features/status/components/card.js", + "moduleName": "./app/javascript/mastodon/features/status/components/card.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 464, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar_overlay.js", + "module": "./app/javascript/mastodon/components/avatar_overlay.js", + "moduleName": "./app/javascript/mastodon/components/avatar_overlay.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 466, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/reduced_motion.js", + "module": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "35:17-58" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "5:0-55" + }, + { + "moduleId": 633, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 637, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/extended_video_player.js", + "module": "./app/javascript/mastodon/components/extended_video_player.js", + "moduleName": "./app/javascript/mastodon/components/extended_video_player.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 638, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/image_loader.js", + "module": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "5:0-55" + }, + { + "moduleId": 639, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/video_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 641, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "6:0-55" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "5:0-55" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "6:0-55" + }, + { + "moduleId": 655, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "module": "./app/javascript/mastodon/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/containers/card_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "5:0-55" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 658, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "module": "./app/javascript/mastodon/features/standalone/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "3:0-55" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 779, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "module": "./app/javascript/mastodon/components/column_back_button.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 794, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/setting_text.js", + "module": "./app/javascript/mastodon/components/setting_text.js", + "moduleName": "./app/javascript/mastodon/components/setting_text.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 804, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "module": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/setting_toggle.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 805, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 886, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/column_settings.js", + "module": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 887, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "module": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/clear_column_button.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 889, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "module": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/components/column_settings.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 893, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/attachment_list.js", + "module": "./app/javascript/mastodon/components/attachment_list.js", + "moduleName": "./app/javascript/mastodon/components/attachment_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 898, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/components/media_item.js", + "module": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + }, + { + "moduleId": 902, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/components/status_check_box.js", + "module": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "moduleName": "./app/javascript/mastodon/features/report/components/status_check_box.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/inherits", + "loc": "4:0-55" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};" + }, + { + "id": 5, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types/index.js", + "name": "./node_modules/prop-types/index.js", + "index": 164, + "index2": 162, + "size": 930, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "issuerId": 159, + "issuerName": "./app/javascript/mastodon/components/media_gallery.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 6, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "module": "./node_modules/react-intl/lib/index.es.js", + "moduleName": "./node_modules/react-intl/lib/index.es.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 97, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "module": "./node_modules/react-overlays/lib/Overlay.js", + "moduleName": "./node_modules/react-overlays/lib/Overlay.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "15:17-38" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 141, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Router.js", + "module": "./node_modules/react-router/es/Router.js", + "moduleName": "./node_modules/react-router/es/Router.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "32:0-35" + }, + { + "moduleId": 152, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "module": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "moduleName": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "3:0-35" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "13:0-35" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 189, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/utils/PropTypes.js", + "module": "./node_modules/react-redux/es/utils/PropTypes.js", + "moduleName": "./node_modules/react-redux/es/utils/PropTypes.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "1:0-35" + }, + { + "moduleId": 206, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/loading_bar.js", + "module": "./node_modules/react-redux-loading-bar/build/loading_bar.js", + "moduleName": "./node_modules/react-redux-loading-bar/build/loading_bar.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "32:17-38" + }, + { + "moduleId": 217, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "module": "./node_modules/react-motion/lib/Motion.js", + "moduleName": "./node_modules/react-motion/lib/Motion.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "69:17-38" + }, + { + "moduleId": 228, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Link.js", + "module": "./node_modules/react-router-dom/es/Link.js", + "moduleName": "./node_modules/react-router-dom/es/Link.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "36:0-35" + }, + { + "moduleId": 231, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Route.js", + "module": "./node_modules/react-router/es/Route.js", + "moduleName": "./node_modules/react-router/es/Route.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "32:0-35" + }, + { + "moduleId": 232, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/FocusTrap.js", + "module": "./node_modules/react-hotkeys/lib/FocusTrap.js", + "moduleName": "./node_modules/react-hotkeys/lib/FocusTrap.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "27:17-38" + }, + { + "moduleId": 233, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "module": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "8:17-38" + }, + { + "moduleId": 253, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/defaultPropTypes.js", + "module": "./node_modules/react-notification/dist/defaultPropTypes.js", + "moduleName": "./node_modules/react-notification/dist/defaultPropTypes.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "7:17-38" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 257, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "11:0-35" + }, + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "12:0-35" + }, + { + "moduleId": 270, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/permalink.js", + "module": "./app/javascript/mastodon/components/permalink.js", + "moduleName": "./app/javascript/mastodon/components/permalink.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 272, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button_slim.js", + "module": "./app/javascript/mastodon/components/column_back_button_slim.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button_slim.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "12:0-35" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "13:0-35" + }, + { + "moduleId": 294, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-textarea-autosize/es/index.js", + "module": "./node_modules/react-textarea-autosize/es/index.js", + "moduleName": "./node_modules/react-textarea-autosize/es/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "2:0-35" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 354, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/Provider.js", + "module": "./node_modules/react-redux/es/components/Provider.js", + "moduleName": "./node_modules/react-redux/es/components/Provider.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "20:0-35" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + }, + { + "moduleId": 477, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Portal.js", + "module": "./node_modules/react-overlays/lib/Portal.js", + "moduleName": "./node_modules/react-overlays/lib/Portal.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "5:17-38" + }, + { + "moduleId": 487, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/LegacyPortal.js", + "module": "./node_modules/react-overlays/lib/LegacyPortal.js", + "moduleName": "./node_modules/react-overlays/lib/LegacyPortal.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "5:17-38" + }, + { + "moduleId": 488, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "module": "./node_modules/react-overlays/lib/Position.js", + "moduleName": "./node_modules/react-overlays/lib/Position.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "19:17-38" + }, + { + "moduleId": 498, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/RootCloseWrapper.js", + "module": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "moduleName": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "9:17-38" + }, + { + "moduleId": 501, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/BrowserRouter.js", + "module": "./node_modules/react-router-dom/es/BrowserRouter.js", + "moduleName": "./node_modules/react-router-dom/es/BrowserRouter.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "21:0-35" + }, + { + "moduleId": 504, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/HashRouter.js", + "module": "./node_modules/react-router-dom/es/HashRouter.js", + "moduleName": "./node_modules/react-router-dom/es/HashRouter.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "21:0-35" + }, + { + "moduleId": 506, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/MemoryRouter.js", + "module": "./node_modules/react-router/es/MemoryRouter.js", + "moduleName": "./node_modules/react-router/es/MemoryRouter.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "21:0-35" + }, + { + "moduleId": 507, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/NavLink.js", + "module": "./node_modules/react-router-dom/es/NavLink.js", + "moduleName": "./node_modules/react-router-dom/es/NavLink.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "24:0-35" + }, + { + "moduleId": 511, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Prompt.js", + "module": "./node_modules/react-router/es/Prompt.js", + "moduleName": "./node_modules/react-router/es/Prompt.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "20:0-35" + }, + { + "moduleId": 513, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Redirect.js", + "module": "./node_modules/react-router/es/Redirect.js", + "moduleName": "./node_modules/react-router/es/Redirect.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "20:0-35" + }, + { + "moduleId": 516, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/StaticRouter.js", + "module": "./node_modules/react-router/es/StaticRouter.js", + "moduleName": "./node_modules/react-router/es/StaticRouter.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "38:0-35" + }, + { + "moduleId": 518, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Switch.js", + "module": "./node_modules/react-router/es/Switch.js", + "moduleName": "./node_modules/react-router/es/Switch.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "20:0-35" + }, + { + "moduleId": 521, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/withRouter.js", + "module": "./node_modules/react-router/es/withRouter.js", + "moduleName": "./node_modules/react-router/es/withRouter.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "18:0-35" + }, + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "17:17-38" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "46:17-38" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "11:0-35" + }, + { + "moduleId": 629, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/notificationStack.js", + "module": "./node_modules/react-notification/dist/notificationStack.js", + "moduleName": "./node_modules/react-notification/dist/notificationStack.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "21:17-38" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "11:0-35" + }, + { + "moduleId": 639, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/video_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "14:0-35" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "11:0-35" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "11:0-35" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "11:0-35" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "12:0-35" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 779, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_back_button.js", + "module": "./app/javascript/mastodon/components/column_back_button.js", + "moduleName": "./app/javascript/mastodon/components/column_back_button.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "prop-types", + "loc": "35:17-38" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + }, + { + "moduleId": 817, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/picker.js", + "module": "./node_modules/emoji-mart/dist-es/components/picker.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/picker.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "10:0-35" + }, + { + "moduleId": 821, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/emoji.js", + "module": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/emoji.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "2:0-35" + }, + { + "moduleId": 872, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/anchors.js", + "module": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/anchors.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "7:0-35" + }, + { + "moduleId": 874, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/category.js", + "module": "./node_modules/emoji-mart/dist-es/components/category.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/category.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "8:0-35" + }, + { + "moduleId": 875, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/preview.js", + "module": "./node_modules/emoji-mart/dist-es/components/preview.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/preview.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "8:0-35" + }, + { + "moduleId": 876, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/search.js", + "module": "./node_modules/emoji-mart/dist-es/components/search.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/search.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "7:0-35" + }, + { + "moduleId": 878, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/emoji-mart/dist-es/components/skins.js", + "module": "./node_modules/emoji-mart/dist-es/components/skins.js", + "moduleName": "./node_modules/emoji-mart/dist-es/components/skins.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "7:0-35" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "prop-types", + "loc": "9:0-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element') || 0xeac7;\n\n var isValidElement = function (object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}" + }, + { + "id": 7, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/locales/index.js", + "name": "./app/javascript/mastodon/locales/index.js", + "index": 345, + "index2": 343, + "size": 137, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_bg.js", + "issuerId": 662, + "issuerName": "./tmp/packs/locale_bg.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "../locales", + "loc": "16:0-39" + }, + { + "moduleId": 274, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "module": "./app/javascript/mastodon/actions/streaming.js", + "moduleName": "./app/javascript/mastodon/actions/streaming.js", + "type": "harmony import", + "userRequest": "../locales", + "loc": "4:0-39" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "../locales", + "loc": "11:0-39" + }, + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "cjs require", + "userRequest": "../mastodon/locales", + "loc": "32:18-48" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "../locales", + "loc": "9:0-39" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "../locales", + "loc": "10:0-39" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "../locales", + "loc": "11:0-39" + }, + { + "moduleId": 659, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ar.js", + "module": "./tmp/packs/locale_ar.js", + "moduleName": "./tmp/packs/locale_ar.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 662, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_bg.js", + "module": "./tmp/packs/locale_bg.js", + "moduleName": "./tmp/packs/locale_bg.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 665, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ca.js", + "module": "./tmp/packs/locale_ca.js", + "moduleName": "./tmp/packs/locale_ca.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 668, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_de.js", + "module": "./tmp/packs/locale_de.js", + "moduleName": "./tmp/packs/locale_de.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 671, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_en.js", + "module": "./tmp/packs/locale_en.js", + "moduleName": "./tmp/packs/locale_en.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 673, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_eo.js", + "module": "./tmp/packs/locale_eo.js", + "moduleName": "./tmp/packs/locale_eo.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 676, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_es.js", + "module": "./tmp/packs/locale_es.js", + "moduleName": "./tmp/packs/locale_es.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 679, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fa.js", + "module": "./tmp/packs/locale_fa.js", + "moduleName": "./tmp/packs/locale_fa.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 682, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fi.js", + "module": "./tmp/packs/locale_fi.js", + "moduleName": "./tmp/packs/locale_fi.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 685, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_fr.js", + "module": "./tmp/packs/locale_fr.js", + "moduleName": "./tmp/packs/locale_fr.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 688, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_he.js", + "module": "./tmp/packs/locale_he.js", + "moduleName": "./tmp/packs/locale_he.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 691, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hr.js", + "module": "./tmp/packs/locale_hr.js", + "moduleName": "./tmp/packs/locale_hr.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 694, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_hu.js", + "module": "./tmp/packs/locale_hu.js", + "moduleName": "./tmp/packs/locale_hu.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 697, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_id.js", + "module": "./tmp/packs/locale_id.js", + "moduleName": "./tmp/packs/locale_id.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 700, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_io.js", + "module": "./tmp/packs/locale_io.js", + "moduleName": "./tmp/packs/locale_io.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 702, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_it.js", + "module": "./tmp/packs/locale_it.js", + "moduleName": "./tmp/packs/locale_it.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 705, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ja.js", + "module": "./tmp/packs/locale_ja.js", + "moduleName": "./tmp/packs/locale_ja.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 708, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ko.js", + "module": "./tmp/packs/locale_ko.js", + "moduleName": "./tmp/packs/locale_ko.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 711, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_nl.js", + "module": "./tmp/packs/locale_nl.js", + "moduleName": "./tmp/packs/locale_nl.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 714, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_no.js", + "module": "./tmp/packs/locale_no.js", + "moduleName": "./tmp/packs/locale_no.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 717, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_oc.js", + "module": "./tmp/packs/locale_oc.js", + "moduleName": "./tmp/packs/locale_oc.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 720, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pl.js", + "module": "./tmp/packs/locale_pl.js", + "moduleName": "./tmp/packs/locale_pl.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 723, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt-BR.js", + "module": "./tmp/packs/locale_pt-BR.js", + "moduleName": "./tmp/packs/locale_pt-BR.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 725, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_pt.js", + "module": "./tmp/packs/locale_pt.js", + "moduleName": "./tmp/packs/locale_pt.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 727, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_ru.js", + "module": "./tmp/packs/locale_ru.js", + "moduleName": "./tmp/packs/locale_ru.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 730, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_sv.js", + "module": "./tmp/packs/locale_sv.js", + "moduleName": "./tmp/packs/locale_sv.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 733, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_th.js", + "module": "./tmp/packs/locale_th.js", + "moduleName": "./tmp/packs/locale_th.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 736, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_tr.js", + "module": "./tmp/packs/locale_tr.js", + "moduleName": "./tmp/packs/locale_tr.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 739, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_uk.js", + "module": "./tmp/packs/locale_uk.js", + "moduleName": "./tmp/packs/locale_uk.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 742, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-CN.js", + "module": "./tmp/packs/locale_zh-CN.js", + "moduleName": "./tmp/packs/locale_zh-CN.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 744, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-HK.js", + "module": "./tmp/packs/locale_zh-HK.js", + "moduleName": "./tmp/packs/locale_zh-HK.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + }, + { + "moduleId": 746, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/tmp/packs/locale_zh-TW.js", + "module": "./tmp/packs/locale_zh-TW.js", + "moduleName": "./tmp/packs/locale_zh-TW.js", + "type": "harmony import", + "userRequest": "../../app/javascript/mastodon/locales", + "loc": "7:0-66" + } + ], + "usedExports": true, + "providedExports": [ + "setLocale", + "getLocale" + ], + "optimizationBailout": [], + "depth": 1, + "source": "var theLocale = void 0;\n\nexport function setLocale(locale) {\n theLocale = locale;\n}\n\nexport function getLocale() {\n return theLocale;\n}" + }, + { + "id": 8, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/immutable/dist/immutable.js", + "name": "./node_modules/immutable/dist/immutable.js", + "index": 208, + "index2": 202, + "size": 138647, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "issuerId": 655, + "issuerName": "./app/javascript/mastodon/containers/card_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 11, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-immutable-pure-component/lib/react-immutable-pure-component.js", + "module": "./node_modules/react-immutable-pure-component/lib/react-immutable-pure-component.js", + "moduleName": "./node_modules/react-immutable-pure-component/lib/react-immutable-pure-component.js", + "type": "cjs require", + "userRequest": "immutable", + "loc": "2:100-120" + }, + { + "moduleId": 12, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-immutable-proptypes/dist/ImmutablePropTypes.js", + "module": "./node_modules/react-immutable-proptypes/dist/ImmutablePropTypes.js", + "moduleName": "./node_modules/react-immutable-proptypes/dist/ImmutablePropTypes.js", + "type": "cjs require", + "userRequest": "immutable", + "loc": "9:16-36" + }, + { + "moduleId": 16, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/timelines.js", + "module": "./app/javascript/mastodon/actions/timelines.js", + "moduleName": "./app/javascript/mastodon/actions/timelines.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "2:0-71" + }, + { + "moduleId": 23, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/store.js", + "module": "./app/javascript/mastodon/actions/store.js", + "moduleName": "./app/javascript/mastodon/actions/store.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "1:0-45" + }, + { + "moduleId": 45, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "module": "./app/javascript/mastodon/actions/notifications.js", + "moduleName": "./app/javascript/mastodon/actions/notifications.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "2:0-50" + }, + { + "moduleId": 69, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/selectors/index.js", + "module": "./app/javascript/mastodon/selectors/index.js", + "moduleName": "./app/javascript/mastodon/selectors/index.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "2:0-50" + }, + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "5:0-71" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "11:0-31" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "16:0-50" + }, + { + "moduleId": 264, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/intersection_observer_article.js", + "module": "./app/javascript/mastodon/components/intersection_observer_article.js", + "moduleName": "./app/javascript/mastodon/components/intersection_observer_article.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "8:0-31" + }, + { + "moduleId": 303, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "5:0-48" + }, + { + "moduleId": 382, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/combineReducers.js", + "module": "./node_modules/redux-immutable/dist/combineReducers.js", + "moduleName": "./node_modules/redux-immutable/dist/combineReducers.js", + "type": "cjs require", + "userRequest": "immutable", + "loc": "7:17-37" + }, + { + "moduleId": 384, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/getUnexpectedInvocationParameterMessage.js", + "module": "./node_modules/redux-immutable/dist/utilities/getUnexpectedInvocationParameterMessage.js", + "moduleName": "./node_modules/redux-immutable/dist/utilities/getUnexpectedInvocationParameterMessage.js", + "type": "cjs require", + "userRequest": "immutable", + "loc": "7:17-37" + }, + { + "moduleId": 386, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/timelines.js", + "module": "./app/javascript/mastodon/reducers/timelines.js", + "moduleName": "./app/javascript/mastodon/reducers/timelines.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "3:0-79" + }, + { + "moduleId": 410, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/meta.js", + "module": "./app/javascript/mastodon/reducers/meta.js", + "moduleName": "./app/javascript/mastodon/reducers/meta.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "2:0-48" + }, + { + "moduleId": 411, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/alerts.js", + "module": "./app/javascript/mastodon/reducers/alerts.js", + "moduleName": "./app/javascript/mastodon/reducers/alerts.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "2:0-71" + }, + { + "moduleId": 415, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/user_lists.js", + "module": "./app/javascript/mastodon/reducers/user_lists.js", + "moduleName": "./app/javascript/mastodon/reducers/user_lists.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "5:0-71" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "13:0-56" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "12:0-56" + }, + { + "moduleId": 443, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "module": "./app/javascript/mastodon/reducers/statuses.js", + "moduleName": "./app/javascript/mastodon/reducers/statuses.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "10:0-56" + }, + { + "moduleId": 444, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/relationships.js", + "module": "./app/javascript/mastodon/reducers/relationships.js", + "moduleName": "./app/javascript/mastodon/reducers/relationships.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "3:0-56" + }, + { + "moduleId": 445, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/settings.js", + "module": "./app/javascript/mastodon/reducers/settings.js", + "moduleName": "./app/javascript/mastodon/reducers/settings.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "5:0-56" + }, + { + "moduleId": 446, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/push_notifications.js", + "module": "./app/javascript/mastodon/reducers/push_notifications.js", + "moduleName": "./app/javascript/mastodon/reducers/push_notifications.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "3:0-34" + }, + { + "moduleId": 447, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/status_lists.js", + "module": "./app/javascript/mastodon/reducers/status_lists.js", + "moduleName": "./app/javascript/mastodon/reducers/status_lists.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "3:0-71" + }, + { + "moduleId": 448, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/cards.js", + "module": "./app/javascript/mastodon/reducers/cards.js", + "moduleName": "./app/javascript/mastodon/reducers/cards.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "3:0-56" + }, + { + "moduleId": 449, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/reports.js", + "module": "./app/javascript/mastodon/reducers/reports.js", + "moduleName": "./app/javascript/mastodon/reducers/reports.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "2:0-69" + }, + { + "moduleId": 450, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/contexts.js", + "module": "./app/javascript/mastodon/reducers/contexts.js", + "moduleName": "./app/javascript/mastodon/reducers/contexts.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "3:0-71" + }, + { + "moduleId": 451, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/compose.js", + "module": "./app/javascript/mastodon/reducers/compose.js", + "moduleName": "./app/javascript/mastodon/reducers/compose.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "4:0-114" + }, + { + "moduleId": 452, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/search.js", + "module": "./app/javascript/mastodon/reducers/search.js", + "moduleName": "./app/javascript/mastodon/reducers/search.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "3:0-71" + }, + { + "moduleId": 453, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/media_attachments.js", + "module": "./app/javascript/mastodon/reducers/media_attachments.js", + "moduleName": "./app/javascript/mastodon/reducers/media_attachments.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "2:0-48" + }, + { + "moduleId": 454, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/notifications.js", + "module": "./app/javascript/mastodon/reducers/notifications.js", + "moduleName": "./app/javascript/mastodon/reducers/notifications.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "4:0-71" + }, + { + "moduleId": 455, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/height_cache.js", + "module": "./app/javascript/mastodon/reducers/height_cache.js", + "moduleName": "./app/javascript/mastodon/reducers/height_cache.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "1:0-48" + }, + { + "moduleId": 456, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/custom_emojis.js", + "module": "./app/javascript/mastodon/reducers/custom_emojis.js", + "moduleName": "./app/javascript/mastodon/reducers/custom_emojis.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "1:0-50" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "12:0-35" + }, + { + "moduleId": 655, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "module": "./app/javascript/mastodon/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/containers/card_container.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "9:0-35" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "20:0-50" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "19:0-50" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "19:0-50" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "17:0-39" + }, + { + "moduleId": 901, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "module": "./app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "moduleName": "./app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "type": "harmony import", + "userRequest": "immutable", + "loc": "4:0-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.Immutable = factory();\n})(this, function () {\n 'use strict';\n var SLICE$0 = Array.prototype.slice;\n\n function createClass(ctor, superClass) {\n if (superClass) {\n ctor.prototype = Object.create(superClass.prototype);\n }\n ctor.prototype.constructor = ctor;\n }\n\n function Iterable(value) {\n return isIterable(value) ? value : Seq(value);\n }\n\n createClass(KeyedIterable, Iterable);\n function KeyedIterable(value) {\n return isKeyed(value) ? value : KeyedSeq(value);\n }\n\n createClass(IndexedIterable, Iterable);\n function IndexedIterable(value) {\n return isIndexed(value) ? value : IndexedSeq(value);\n }\n\n createClass(SetIterable, Iterable);\n function SetIterable(value) {\n return isIterable(value) && !isAssociative(value) ? value : SetSeq(value);\n }\n\n function isIterable(maybeIterable) {\n return !!(maybeIterable && maybeIterable[IS_ITERABLE_SENTINEL]);\n }\n\n function isKeyed(maybeKeyed) {\n return !!(maybeKeyed && maybeKeyed[IS_KEYED_SENTINEL]);\n }\n\n function isIndexed(maybeIndexed) {\n return !!(maybeIndexed && maybeIndexed[IS_INDEXED_SENTINEL]);\n }\n\n function isAssociative(maybeAssociative) {\n return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);\n }\n\n function isOrdered(maybeOrdered) {\n return !!(maybeOrdered && maybeOrdered[IS_ORDERED_SENTINEL]);\n }\n\n Iterable.isIterable = isIterable;\n Iterable.isKeyed = isKeyed;\n Iterable.isIndexed = isIndexed;\n Iterable.isAssociative = isAssociative;\n Iterable.isOrdered = isOrdered;\n\n Iterable.Keyed = KeyedIterable;\n Iterable.Indexed = IndexedIterable;\n Iterable.Set = SetIterable;\n\n var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\n var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\n var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';\n var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\n\n // Used for setting prototype methods that IE8 chokes on.\n var DELETE = 'delete';\n\n // Constants describing the size of trie nodes.\n var SHIFT = 5; // Resulted in best performance after ______?\n var SIZE = 1 << SHIFT;\n var MASK = SIZE - 1;\n\n // A consistent shared value representing \"not set\" which equals nothing other\n // than itself, and nothing that could be provided externally.\n var NOT_SET = {};\n\n // Boolean references, Rough equivalent of `bool &`.\n var CHANGE_LENGTH = { value: false };\n var DID_ALTER = { value: false };\n\n function MakeRef(ref) {\n ref.value = false;\n return ref;\n }\n\n function SetRef(ref) {\n ref && (ref.value = true);\n }\n\n // A function which returns a value representing an \"owner\" for transient writes\n // to tries. The return value will only ever equal itself, and will not equal\n // the return of any subsequent call of this function.\n function OwnerID() {}\n\n // http://jsperf.com/copy-array-inline\n function arrCopy(arr, offset) {\n offset = offset || 0;\n var len = Math.max(0, arr.length - offset);\n var newArr = new Array(len);\n for (var ii = 0; ii < len; ii++) {\n newArr[ii] = arr[ii + offset];\n }\n return newArr;\n }\n\n function ensureSize(iter) {\n if (iter.size === undefined) {\n iter.size = iter.__iterate(returnTrue);\n }\n return iter.size;\n }\n\n function wrapIndex(iter, index) {\n // This implements \"is array index\" which the ECMAString spec defines as:\n //\n // A String property name P is an array index if and only if\n // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal\n // to 2^32−1.\n //\n // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects\n if (typeof index !== 'number') {\n var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32\n if ('' + uint32Index !== index || uint32Index === 4294967295) {\n return NaN;\n }\n index = uint32Index;\n }\n return index < 0 ? ensureSize(iter) + index : index;\n }\n\n function returnTrue() {\n return true;\n }\n\n function wholeSlice(begin, end, size) {\n return (begin === 0 || size !== undefined && begin <= -size) && (end === undefined || size !== undefined && end >= size);\n }\n\n function resolveBegin(begin, size) {\n return resolveIndex(begin, size, 0);\n }\n\n function resolveEnd(end, size) {\n return resolveIndex(end, size, size);\n }\n\n function resolveIndex(index, size, defaultIndex) {\n return index === undefined ? defaultIndex : index < 0 ? Math.max(0, size + index) : size === undefined ? index : Math.min(size, index);\n }\n\n /* global Symbol */\n\n var ITERATE_KEYS = 0;\n var ITERATE_VALUES = 1;\n var ITERATE_ENTRIES = 2;\n\n var REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator';\n\n var ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL;\n\n function Iterator(next) {\n this.next = next;\n }\n\n Iterator.prototype.toString = function () {\n return '[Iterator]';\n };\n\n Iterator.KEYS = ITERATE_KEYS;\n Iterator.VALUES = ITERATE_VALUES;\n Iterator.ENTRIES = ITERATE_ENTRIES;\n\n Iterator.prototype.inspect = Iterator.prototype.toSource = function () {\n return this.toString();\n };\n Iterator.prototype[ITERATOR_SYMBOL] = function () {\n return this;\n };\n\n function iteratorValue(type, k, v, iteratorResult) {\n var value = type === 0 ? k : type === 1 ? v : [k, v];\n iteratorResult ? iteratorResult.value = value : iteratorResult = {\n value: value, done: false\n };\n return iteratorResult;\n }\n\n function iteratorDone() {\n return { value: undefined, done: true };\n }\n\n function hasIterator(maybeIterable) {\n return !!getIteratorFn(maybeIterable);\n }\n\n function isIterator(maybeIterator) {\n return maybeIterator && typeof maybeIterator.next === 'function';\n }\n\n function getIterator(iterable) {\n var iteratorFn = getIteratorFn(iterable);\n return iteratorFn && iteratorFn.call(iterable);\n }\n\n function getIteratorFn(iterable) {\n var iteratorFn = iterable && (REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL] || iterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n function isArrayLike(value) {\n return value && typeof value.length === 'number';\n }\n\n createClass(Seq, Iterable);\n function Seq(value) {\n return value === null || value === undefined ? emptySequence() : isIterable(value) ? value.toSeq() : seqFromValue(value);\n }\n\n Seq.of = function () /*...values*/{\n return Seq(arguments);\n };\n\n Seq.prototype.toSeq = function () {\n return this;\n };\n\n Seq.prototype.toString = function () {\n return this.__toString('Seq {', '}');\n };\n\n Seq.prototype.cacheResult = function () {\n if (!this._cache && this.__iterateUncached) {\n this._cache = this.entrySeq().toArray();\n this.size = this._cache.length;\n }\n return this;\n };\n\n // abstract __iterateUncached(fn, reverse)\n\n Seq.prototype.__iterate = function (fn, reverse) {\n return seqIterate(this, fn, reverse, true);\n };\n\n // abstract __iteratorUncached(type, reverse)\n\n Seq.prototype.__iterator = function (type, reverse) {\n return seqIterator(this, type, reverse, true);\n };\n\n createClass(KeyedSeq, Seq);\n function KeyedSeq(value) {\n return value === null || value === undefined ? emptySequence().toKeyedSeq() : isIterable(value) ? isKeyed(value) ? value.toSeq() : value.fromEntrySeq() : keyedSeqFromValue(value);\n }\n\n KeyedSeq.prototype.toKeyedSeq = function () {\n return this;\n };\n\n createClass(IndexedSeq, Seq);\n function IndexedSeq(value) {\n return value === null || value === undefined ? emptySequence() : !isIterable(value) ? indexedSeqFromValue(value) : isKeyed(value) ? value.entrySeq() : value.toIndexedSeq();\n }\n\n IndexedSeq.of = function () /*...values*/{\n return IndexedSeq(arguments);\n };\n\n IndexedSeq.prototype.toIndexedSeq = function () {\n return this;\n };\n\n IndexedSeq.prototype.toString = function () {\n return this.__toString('Seq [', ']');\n };\n\n IndexedSeq.prototype.__iterate = function (fn, reverse) {\n return seqIterate(this, fn, reverse, false);\n };\n\n IndexedSeq.prototype.__iterator = function (type, reverse) {\n return seqIterator(this, type, reverse, false);\n };\n\n createClass(SetSeq, Seq);\n function SetSeq(value) {\n return (value === null || value === undefined ? emptySequence() : !isIterable(value) ? indexedSeqFromValue(value) : isKeyed(value) ? value.entrySeq() : value).toSetSeq();\n }\n\n SetSeq.of = function () /*...values*/{\n return SetSeq(arguments);\n };\n\n SetSeq.prototype.toSetSeq = function () {\n return this;\n };\n\n Seq.isSeq = isSeq;\n Seq.Keyed = KeyedSeq;\n Seq.Set = SetSeq;\n Seq.Indexed = IndexedSeq;\n\n var IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';\n\n Seq.prototype[IS_SEQ_SENTINEL] = true;\n\n createClass(ArraySeq, IndexedSeq);\n function ArraySeq(array) {\n this._array = array;\n this.size = array.length;\n }\n\n ArraySeq.prototype.get = function (index, notSetValue) {\n return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue;\n };\n\n ArraySeq.prototype.__iterate = function (fn, reverse) {\n var array = this._array;\n var maxIndex = array.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n if (fn(array[reverse ? maxIndex - ii : ii], ii, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n ArraySeq.prototype.__iterator = function (type, reverse) {\n var array = this._array;\n var maxIndex = array.length - 1;\n var ii = 0;\n return new Iterator(function () {\n return ii > maxIndex ? iteratorDone() : iteratorValue(type, ii, array[reverse ? maxIndex - ii++ : ii++]);\n });\n };\n\n createClass(ObjectSeq, KeyedSeq);\n function ObjectSeq(object) {\n var keys = Object.keys(object);\n this._object = object;\n this._keys = keys;\n this.size = keys.length;\n }\n\n ObjectSeq.prototype.get = function (key, notSetValue) {\n if (notSetValue !== undefined && !this.has(key)) {\n return notSetValue;\n }\n return this._object[key];\n };\n\n ObjectSeq.prototype.has = function (key) {\n return this._object.hasOwnProperty(key);\n };\n\n ObjectSeq.prototype.__iterate = function (fn, reverse) {\n var object = this._object;\n var keys = this._keys;\n var maxIndex = keys.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n var key = keys[reverse ? maxIndex - ii : ii];\n if (fn(object[key], key, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n ObjectSeq.prototype.__iterator = function (type, reverse) {\n var object = this._object;\n var keys = this._keys;\n var maxIndex = keys.length - 1;\n var ii = 0;\n return new Iterator(function () {\n var key = keys[reverse ? maxIndex - ii : ii];\n return ii++ > maxIndex ? iteratorDone() : iteratorValue(type, key, object[key]);\n });\n };\n\n ObjectSeq.prototype[IS_ORDERED_SENTINEL] = true;\n\n createClass(IterableSeq, IndexedSeq);\n function IterableSeq(iterable) {\n this._iterable = iterable;\n this.size = iterable.length || iterable.size;\n }\n\n IterableSeq.prototype.__iterateUncached = function (fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterable = this._iterable;\n var iterator = getIterator(iterable);\n var iterations = 0;\n if (isIterator(iterator)) {\n var step;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n }\n return iterations;\n };\n\n IterableSeq.prototype.__iteratorUncached = function (type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterable = this._iterable;\n var iterator = getIterator(iterable);\n if (!isIterator(iterator)) {\n return new Iterator(iteratorDone);\n }\n var iterations = 0;\n return new Iterator(function () {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, iterations++, step.value);\n });\n };\n\n createClass(IteratorSeq, IndexedSeq);\n function IteratorSeq(iterator) {\n this._iterator = iterator;\n this._iteratorCache = [];\n }\n\n IteratorSeq.prototype.__iterateUncached = function (fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterator = this._iterator;\n var cache = this._iteratorCache;\n var iterations = 0;\n while (iterations < cache.length) {\n if (fn(cache[iterations], iterations++, this) === false) {\n return iterations;\n }\n }\n var step;\n while (!(step = iterator.next()).done) {\n var val = step.value;\n cache[iterations] = val;\n if (fn(val, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n\n IteratorSeq.prototype.__iteratorUncached = function (type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = this._iterator;\n var cache = this._iteratorCache;\n var iterations = 0;\n return new Iterator(function () {\n if (iterations >= cache.length) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n cache[iterations] = step.value;\n }\n return iteratorValue(type, iterations, cache[iterations++]);\n });\n };\n\n // # pragma Helper functions\n\n function isSeq(maybeSeq) {\n return !!(maybeSeq && maybeSeq[IS_SEQ_SENTINEL]);\n }\n\n var EMPTY_SEQ;\n\n function emptySequence() {\n return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([]));\n }\n\n function keyedSeqFromValue(value) {\n var seq = Array.isArray(value) ? new ArraySeq(value).fromEntrySeq() : isIterator(value) ? new IteratorSeq(value).fromEntrySeq() : hasIterator(value) ? new IterableSeq(value).fromEntrySeq() : typeof value === 'object' ? new ObjectSeq(value) : undefined;\n if (!seq) {\n throw new TypeError('Expected Array or iterable object of [k, v] entries, ' + 'or keyed object: ' + value);\n }\n return seq;\n }\n\n function indexedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (!seq) {\n throw new TypeError('Expected Array or iterable object of values: ' + value);\n }\n return seq;\n }\n\n function seqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value) || typeof value === 'object' && new ObjectSeq(value);\n if (!seq) {\n throw new TypeError('Expected Array or iterable object of values, or keyed object: ' + value);\n }\n return seq;\n }\n\n function maybeIndexedSeqFromValue(value) {\n return isArrayLike(value) ? new ArraySeq(value) : isIterator(value) ? new IteratorSeq(value) : hasIterator(value) ? new IterableSeq(value) : undefined;\n }\n\n function seqIterate(seq, fn, reverse, useKeys) {\n var cache = seq._cache;\n if (cache) {\n var maxIndex = cache.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n var entry = cache[reverse ? maxIndex - ii : ii];\n if (fn(entry[1], useKeys ? entry[0] : ii, seq) === false) {\n return ii + 1;\n }\n }\n return ii;\n }\n return seq.__iterateUncached(fn, reverse);\n }\n\n function seqIterator(seq, type, reverse, useKeys) {\n var cache = seq._cache;\n if (cache) {\n var maxIndex = cache.length - 1;\n var ii = 0;\n return new Iterator(function () {\n var entry = cache[reverse ? maxIndex - ii : ii];\n return ii++ > maxIndex ? iteratorDone() : iteratorValue(type, useKeys ? entry[0] : ii - 1, entry[1]);\n });\n }\n return seq.__iteratorUncached(type, reverse);\n }\n\n function fromJS(json, converter) {\n return converter ? fromJSWith(converter, json, '', { '': json }) : fromJSDefault(json);\n }\n\n function fromJSWith(converter, json, key, parentJSON) {\n if (Array.isArray(json)) {\n return converter.call(parentJSON, key, IndexedSeq(json).map(function (v, k) {\n return fromJSWith(converter, v, k, json);\n }));\n }\n if (isPlainObj(json)) {\n return converter.call(parentJSON, key, KeyedSeq(json).map(function (v, k) {\n return fromJSWith(converter, v, k, json);\n }));\n }\n return json;\n }\n\n function fromJSDefault(json) {\n if (Array.isArray(json)) {\n return IndexedSeq(json).map(fromJSDefault).toList();\n }\n if (isPlainObj(json)) {\n return KeyedSeq(json).map(fromJSDefault).toMap();\n }\n return json;\n }\n\n function isPlainObj(value) {\n return value && (value.constructor === Object || value.constructor === undefined);\n }\n\n /**\n * An extension of the \"same-value\" algorithm as [described for use by ES6 Map\n * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality)\n *\n * NaN is considered the same as NaN, however -0 and 0 are considered the same\n * value, which is different from the algorithm described by\n * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n *\n * This is extended further to allow Objects to describe the values they\n * represent, by way of `valueOf` or `equals` (and `hashCode`).\n *\n * Note: because of this extension, the key equality of Immutable.Map and the\n * value equality of Immutable.Set will differ from ES6 Map and Set.\n *\n * ### Defining custom values\n *\n * The easiest way to describe the value an object represents is by implementing\n * `valueOf`. For example, `Date` represents a value by returning a unix\n * timestamp for `valueOf`:\n *\n * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ...\n * var date2 = new Date(1234567890000);\n * date1.valueOf(); // 1234567890000\n * assert( date1 !== date2 );\n * assert( Immutable.is( date1, date2 ) );\n *\n * Note: overriding `valueOf` may have other implications if you use this object\n * where JavaScript expects a primitive, such as implicit string coercion.\n *\n * For more complex types, especially collections, implementing `valueOf` may\n * not be performant. An alternative is to implement `equals` and `hashCode`.\n *\n * `equals` takes another object, presumably of similar type, and returns true\n * if the it is equal. Equality is symmetrical, so the same result should be\n * returned if this and the argument are flipped.\n *\n * assert( a.equals(b) === b.equals(a) );\n *\n * `hashCode` returns a 32bit integer number representing the object which will\n * be used to determine how to store the value object in a Map or Set. You must\n * provide both or neither methods, one must not exist without the other.\n *\n * Also, an important relationship between these methods must be upheld: if two\n * values are equal, they *must* return the same hashCode. If the values are not\n * equal, they might have the same hashCode; this is called a hash collision,\n * and while undesirable for performance reasons, it is acceptable.\n *\n * if (a.equals(b)) {\n * assert( a.hashCode() === b.hashCode() );\n * }\n *\n * All Immutable collections implement `equals` and `hashCode`.\n *\n */\n function is(valueA, valueB) {\n if (valueA === valueB || valueA !== valueA && valueB !== valueB) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n if (typeof valueA.valueOf === 'function' && typeof valueB.valueOf === 'function') {\n valueA = valueA.valueOf();\n valueB = valueB.valueOf();\n if (valueA === valueB || valueA !== valueA && valueB !== valueB) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n }\n if (typeof valueA.equals === 'function' && typeof valueB.equals === 'function' && valueA.equals(valueB)) {\n return true;\n }\n return false;\n }\n\n function deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (!isIterable(b) || a.size !== undefined && b.size !== undefined && a.size !== b.size || a.__hash !== undefined && b.__hash !== undefined && a.__hash !== b.__hash || isKeyed(a) !== isKeyed(b) || isIndexed(a) !== isIndexed(b) || isOrdered(a) !== isOrdered(b)) {\n return false;\n }\n\n if (a.size === 0 && b.size === 0) {\n return true;\n }\n\n var notAssociative = !isAssociative(a);\n\n if (isOrdered(a)) {\n var entries = a.entries();\n return b.every(function (v, k) {\n var entry = entries.next().value;\n return entry && is(entry[1], v) && (notAssociative || is(entry[0], k));\n }) && entries.next().done;\n }\n\n var flipped = false;\n\n if (a.size === undefined) {\n if (b.size === undefined) {\n if (typeof a.cacheResult === 'function') {\n a.cacheResult();\n }\n } else {\n flipped = true;\n var _ = a;\n a = b;\n b = _;\n }\n }\n\n var allEqual = true;\n var bSize = b.__iterate(function (v, k) {\n if (notAssociative ? !a.has(v) : flipped ? !is(v, a.get(k, NOT_SET)) : !is(a.get(k, NOT_SET), v)) {\n allEqual = false;\n return false;\n }\n });\n\n return allEqual && a.size === bSize;\n }\n\n createClass(Repeat, IndexedSeq);\n\n function Repeat(value, times) {\n if (!(this instanceof Repeat)) {\n return new Repeat(value, times);\n }\n this._value = value;\n this.size = times === undefined ? Infinity : Math.max(0, times);\n if (this.size === 0) {\n if (EMPTY_REPEAT) {\n return EMPTY_REPEAT;\n }\n EMPTY_REPEAT = this;\n }\n }\n\n Repeat.prototype.toString = function () {\n if (this.size === 0) {\n return 'Repeat []';\n }\n return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]';\n };\n\n Repeat.prototype.get = function (index, notSetValue) {\n return this.has(index) ? this._value : notSetValue;\n };\n\n Repeat.prototype.includes = function (searchValue) {\n return is(this._value, searchValue);\n };\n\n Repeat.prototype.slice = function (begin, end) {\n var size = this.size;\n return wholeSlice(begin, end, size) ? this : new Repeat(this._value, resolveEnd(end, size) - resolveBegin(begin, size));\n };\n\n Repeat.prototype.reverse = function () {\n return this;\n };\n\n Repeat.prototype.indexOf = function (searchValue) {\n if (is(this._value, searchValue)) {\n return 0;\n }\n return -1;\n };\n\n Repeat.prototype.lastIndexOf = function (searchValue) {\n if (is(this._value, searchValue)) {\n return this.size;\n }\n return -1;\n };\n\n Repeat.prototype.__iterate = function (fn, reverse) {\n for (var ii = 0; ii < this.size; ii++) {\n if (fn(this._value, ii, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n Repeat.prototype.__iterator = function (type, reverse) {\n var this$0 = this;\n var ii = 0;\n return new Iterator(function () {\n return ii < this$0.size ? iteratorValue(type, ii++, this$0._value) : iteratorDone();\n });\n };\n\n Repeat.prototype.equals = function (other) {\n return other instanceof Repeat ? is(this._value, other._value) : deepEqual(other);\n };\n\n var EMPTY_REPEAT;\n\n function invariant(condition, error) {\n if (!condition) throw new Error(error);\n }\n\n createClass(Range, IndexedSeq);\n\n function Range(start, end, step) {\n if (!(this instanceof Range)) {\n return new Range(start, end, step);\n }\n invariant(step !== 0, 'Cannot step a Range by 0');\n start = start || 0;\n if (end === undefined) {\n end = Infinity;\n }\n step = step === undefined ? 1 : Math.abs(step);\n if (end < start) {\n step = -step;\n }\n this._start = start;\n this._end = end;\n this._step = step;\n this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1);\n if (this.size === 0) {\n if (EMPTY_RANGE) {\n return EMPTY_RANGE;\n }\n EMPTY_RANGE = this;\n }\n }\n\n Range.prototype.toString = function () {\n if (this.size === 0) {\n return 'Range []';\n }\n return 'Range [ ' + this._start + '...' + this._end + (this._step !== 1 ? ' by ' + this._step : '') + ' ]';\n };\n\n Range.prototype.get = function (index, notSetValue) {\n return this.has(index) ? this._start + wrapIndex(this, index) * this._step : notSetValue;\n };\n\n Range.prototype.includes = function (searchValue) {\n var possibleIndex = (searchValue - this._start) / this._step;\n return possibleIndex >= 0 && possibleIndex < this.size && possibleIndex === Math.floor(possibleIndex);\n };\n\n Range.prototype.slice = function (begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n begin = resolveBegin(begin, this.size);\n end = resolveEnd(end, this.size);\n if (end <= begin) {\n return new Range(0, 0);\n }\n return new Range(this.get(begin, this._end), this.get(end, this._end), this._step);\n };\n\n Range.prototype.indexOf = function (searchValue) {\n var offsetValue = searchValue - this._start;\n if (offsetValue % this._step === 0) {\n var index = offsetValue / this._step;\n if (index >= 0 && index < this.size) {\n return index;\n }\n }\n return -1;\n };\n\n Range.prototype.lastIndexOf = function (searchValue) {\n return this.indexOf(searchValue);\n };\n\n Range.prototype.__iterate = function (fn, reverse) {\n var maxIndex = this.size - 1;\n var step = this._step;\n var value = reverse ? this._start + maxIndex * step : this._start;\n for (var ii = 0; ii <= maxIndex; ii++) {\n if (fn(value, ii, this) === false) {\n return ii + 1;\n }\n value += reverse ? -step : step;\n }\n return ii;\n };\n\n Range.prototype.__iterator = function (type, reverse) {\n var maxIndex = this.size - 1;\n var step = this._step;\n var value = reverse ? this._start + maxIndex * step : this._start;\n var ii = 0;\n return new Iterator(function () {\n var v = value;\n value += reverse ? -step : step;\n return ii > maxIndex ? iteratorDone() : iteratorValue(type, ii++, v);\n });\n };\n\n Range.prototype.equals = function (other) {\n return other instanceof Range ? this._start === other._start && this._end === other._end && this._step === other._step : deepEqual(this, other);\n };\n\n var EMPTY_RANGE;\n\n createClass(Collection, Iterable);\n function Collection() {\n throw TypeError('Abstract');\n }\n\n createClass(KeyedCollection, Collection);function KeyedCollection() {}\n\n createClass(IndexedCollection, Collection);function IndexedCollection() {}\n\n createClass(SetCollection, Collection);function SetCollection() {}\n\n Collection.Keyed = KeyedCollection;\n Collection.Indexed = IndexedCollection;\n Collection.Set = SetCollection;\n\n var imul = typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2 ? Math.imul : function imul(a, b) {\n a = a | 0; // int\n b = b | 0; // int\n var c = a & 0xffff;\n var d = b & 0xffff;\n // Shift by 0 fixes the sign on the high part.\n return c * d + ((a >>> 16) * d + c * (b >>> 16) << 16 >>> 0) | 0; // int\n };\n\n // v8 has an optimization for storing 31-bit signed numbers.\n // Values which have either 00 or 11 as the high order bits qualify.\n // This function drops the highest order bit in a signed number, maintaining\n // the sign bit.\n function smi(i32) {\n return i32 >>> 1 & 0x40000000 | i32 & 0xBFFFFFFF;\n }\n\n function hash(o) {\n if (o === false || o === null || o === undefined) {\n return 0;\n }\n if (typeof o.valueOf === 'function') {\n o = o.valueOf();\n if (o === false || o === null || o === undefined) {\n return 0;\n }\n }\n if (o === true) {\n return 1;\n }\n var type = typeof o;\n if (type === 'number') {\n if (o !== o || o === Infinity) {\n return 0;\n }\n var h = o | 0;\n if (h !== o) {\n h ^= o * 0xFFFFFFFF;\n }\n while (o > 0xFFFFFFFF) {\n o /= 0xFFFFFFFF;\n h ^= o;\n }\n return smi(h);\n }\n if (type === 'string') {\n return o.length > STRING_HASH_CACHE_MIN_STRLEN ? cachedHashString(o) : hashString(o);\n }\n if (typeof o.hashCode === 'function') {\n return o.hashCode();\n }\n if (type === 'object') {\n return hashJSObj(o);\n }\n if (typeof o.toString === 'function') {\n return hashString(o.toString());\n }\n throw new Error('Value type ' + type + ' cannot be hashed.');\n }\n\n function cachedHashString(string) {\n var hash = stringHashCache[string];\n if (hash === undefined) {\n hash = hashString(string);\n if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) {\n STRING_HASH_CACHE_SIZE = 0;\n stringHashCache = {};\n }\n STRING_HASH_CACHE_SIZE++;\n stringHashCache[string] = hash;\n }\n return hash;\n }\n\n // http://jsperf.com/hashing-strings\n function hashString(string) {\n // This is the hash from JVM\n // The hash code for a string is computed as\n // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1],\n // where s[i] is the ith character of the string and n is the length of\n // the string. We \"mod\" the result to make it between 0 (inclusive) and 2^31\n // (exclusive) by dropping high bits.\n var hash = 0;\n for (var ii = 0; ii < string.length; ii++) {\n hash = 31 * hash + string.charCodeAt(ii) | 0;\n }\n return smi(hash);\n }\n\n function hashJSObj(obj) {\n var hash;\n if (usingWeakMap) {\n hash = weakMap.get(obj);\n if (hash !== undefined) {\n return hash;\n }\n }\n\n hash = obj[UID_HASH_KEY];\n if (hash !== undefined) {\n return hash;\n }\n\n if (!canDefineProperty) {\n hash = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY];\n if (hash !== undefined) {\n return hash;\n }\n\n hash = getIENodeHash(obj);\n if (hash !== undefined) {\n return hash;\n }\n }\n\n hash = ++objHashUID;\n if (objHashUID & 0x40000000) {\n objHashUID = 0;\n }\n\n if (usingWeakMap) {\n weakMap.set(obj, hash);\n } else if (isExtensible !== undefined && isExtensible(obj) === false) {\n throw new Error('Non-extensible objects are not allowed as keys.');\n } else if (canDefineProperty) {\n Object.defineProperty(obj, UID_HASH_KEY, {\n 'enumerable': false,\n 'configurable': false,\n 'writable': false,\n 'value': hash\n });\n } else if (obj.propertyIsEnumerable !== undefined && obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable) {\n // Since we can't define a non-enumerable property on the object\n // we'll hijack one of the less-used non-enumerable properties to\n // save our hash on it. Since this is a function it will not show up in\n // `JSON.stringify` which is what we want.\n obj.propertyIsEnumerable = function () {\n return this.constructor.prototype.propertyIsEnumerable.apply(this, arguments);\n };\n obj.propertyIsEnumerable[UID_HASH_KEY] = hash;\n } else if (obj.nodeType !== undefined) {\n // At this point we couldn't get the IE `uniqueID` to use as a hash\n // and we couldn't use a non-enumerable property to exploit the\n // dontEnum bug so we simply add the `UID_HASH_KEY` on the node\n // itself.\n obj[UID_HASH_KEY] = hash;\n } else {\n throw new Error('Unable to set a non-enumerable property on object.');\n }\n\n return hash;\n }\n\n // Get references to ES5 object methods.\n var isExtensible = Object.isExtensible;\n\n // True if Object.defineProperty works as expected. IE8 fails this test.\n var canDefineProperty = function () {\n try {\n Object.defineProperty({}, '@', {});\n return true;\n } catch (e) {\n return false;\n }\n }();\n\n // IE has a `uniqueID` property on DOM nodes. We can construct the hash from it\n // and avoid memory leaks from the IE cloneNode bug.\n function getIENodeHash(node) {\n if (node && node.nodeType > 0) {\n switch (node.nodeType) {\n case 1:\n // Element\n return node.uniqueID;\n case 9:\n // Document\n return node.documentElement && node.documentElement.uniqueID;\n }\n }\n }\n\n // If possible, use a WeakMap.\n var usingWeakMap = typeof WeakMap === 'function';\n var weakMap;\n if (usingWeakMap) {\n weakMap = new WeakMap();\n }\n\n var objHashUID = 0;\n\n var UID_HASH_KEY = '__immutablehash__';\n if (typeof Symbol === 'function') {\n UID_HASH_KEY = Symbol(UID_HASH_KEY);\n }\n\n var STRING_HASH_CACHE_MIN_STRLEN = 16;\n var STRING_HASH_CACHE_MAX_SIZE = 255;\n var STRING_HASH_CACHE_SIZE = 0;\n var stringHashCache = {};\n\n function assertNotInfinite(size) {\n invariant(size !== Infinity, 'Cannot perform this action with an infinite size.');\n }\n\n createClass(Map, KeyedCollection);\n\n // @pragma Construction\n\n function Map(value) {\n return value === null || value === undefined ? emptyMap() : isMap(value) && !isOrdered(value) ? value : emptyMap().withMutations(function (map) {\n var iter = KeyedIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v, k) {\n return map.set(k, v);\n });\n });\n }\n\n Map.of = function () {\n var keyValues = SLICE$0.call(arguments, 0);\n return emptyMap().withMutations(function (map) {\n for (var i = 0; i < keyValues.length; i += 2) {\n if (i + 1 >= keyValues.length) {\n throw new Error('Missing value for key: ' + keyValues[i]);\n }\n map.set(keyValues[i], keyValues[i + 1]);\n }\n });\n };\n\n Map.prototype.toString = function () {\n return this.__toString('Map {', '}');\n };\n\n // @pragma Access\n\n Map.prototype.get = function (k, notSetValue) {\n return this._root ? this._root.get(0, undefined, k, notSetValue) : notSetValue;\n };\n\n // @pragma Modification\n\n Map.prototype.set = function (k, v) {\n return updateMap(this, k, v);\n };\n\n Map.prototype.setIn = function (keyPath, v) {\n return this.updateIn(keyPath, NOT_SET, function () {\n return v;\n });\n };\n\n Map.prototype.remove = function (k) {\n return updateMap(this, k, NOT_SET);\n };\n\n Map.prototype.deleteIn = function (keyPath) {\n return this.updateIn(keyPath, function () {\n return NOT_SET;\n });\n };\n\n Map.prototype.update = function (k, notSetValue, updater) {\n return arguments.length === 1 ? k(this) : this.updateIn([k], notSetValue, updater);\n };\n\n Map.prototype.updateIn = function (keyPath, notSetValue, updater) {\n if (!updater) {\n updater = notSetValue;\n notSetValue = undefined;\n }\n var updatedValue = updateInDeepMap(this, forceIterator(keyPath), notSetValue, updater);\n return updatedValue === NOT_SET ? undefined : updatedValue;\n };\n\n Map.prototype.clear = function () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._root = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyMap();\n };\n\n // @pragma Composition\n\n Map.prototype.merge = function () /*...iters*/{\n return mergeIntoMapWith(this, undefined, arguments);\n };\n\n Map.prototype.mergeWith = function (merger) {\n var iters = SLICE$0.call(arguments, 1);\n return mergeIntoMapWith(this, merger, iters);\n };\n\n Map.prototype.mergeIn = function (keyPath) {\n var iters = SLICE$0.call(arguments, 1);\n return this.updateIn(keyPath, emptyMap(), function (m) {\n return typeof m.merge === 'function' ? m.merge.apply(m, iters) : iters[iters.length - 1];\n });\n };\n\n Map.prototype.mergeDeep = function () /*...iters*/{\n return mergeIntoMapWith(this, deepMerger, arguments);\n };\n\n Map.prototype.mergeDeepWith = function (merger) {\n var iters = SLICE$0.call(arguments, 1);\n return mergeIntoMapWith(this, deepMergerWith(merger), iters);\n };\n\n Map.prototype.mergeDeepIn = function (keyPath) {\n var iters = SLICE$0.call(arguments, 1);\n return this.updateIn(keyPath, emptyMap(), function (m) {\n return typeof m.mergeDeep === 'function' ? m.mergeDeep.apply(m, iters) : iters[iters.length - 1];\n });\n };\n\n Map.prototype.sort = function (comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator));\n };\n\n Map.prototype.sortBy = function (mapper, comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator, mapper));\n };\n\n // @pragma Mutability\n\n Map.prototype.withMutations = function (fn) {\n var mutable = this.asMutable();\n fn(mutable);\n return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this;\n };\n\n Map.prototype.asMutable = function () {\n return this.__ownerID ? this : this.__ensureOwner(new OwnerID());\n };\n\n Map.prototype.asImmutable = function () {\n return this.__ensureOwner();\n };\n\n Map.prototype.wasAltered = function () {\n return this.__altered;\n };\n\n Map.prototype.__iterator = function (type, reverse) {\n return new MapIterator(this, type, reverse);\n };\n\n Map.prototype.__iterate = function (fn, reverse) {\n var this$0 = this;\n var iterations = 0;\n this._root && this._root.iterate(function (entry) {\n iterations++;\n return fn(entry[1], entry[0], this$0);\n }, reverse);\n return iterations;\n };\n\n Map.prototype.__ensureOwner = function (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeMap(this.size, this._root, ownerID, this.__hash);\n };\n\n function isMap(maybeMap) {\n return !!(maybeMap && maybeMap[IS_MAP_SENTINEL]);\n }\n\n Map.isMap = isMap;\n\n var IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';\n\n var MapPrototype = Map.prototype;\n MapPrototype[IS_MAP_SENTINEL] = true;\n MapPrototype[DELETE] = MapPrototype.remove;\n MapPrototype.removeIn = MapPrototype.deleteIn;\n\n // #pragma Trie Nodes\n\n\n function ArrayMapNode(ownerID, entries) {\n this.ownerID = ownerID;\n this.entries = entries;\n }\n\n ArrayMapNode.prototype.get = function (shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n };\n\n ArrayMapNode.prototype.update = function (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n\n var entries = this.entries;\n var idx = 0;\n for (var len = entries.length; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && entries.length === 1) {\n return; // undefined\n }\n\n if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) {\n return createNodes(ownerID, entries, key, value);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1 ? newEntries.pop() : newEntries[idx] = newEntries.pop();\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new ArrayMapNode(ownerID, newEntries);\n };\n\n function BitmapIndexedNode(ownerID, bitmap, nodes) {\n this.ownerID = ownerID;\n this.bitmap = bitmap;\n this.nodes = nodes;\n }\n\n BitmapIndexedNode.prototype.get = function (shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var bit = 1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK);\n var bitmap = this.bitmap;\n return (bitmap & bit) === 0 ? notSetValue : this.nodes[popCount(bitmap & bit - 1)].get(shift + SHIFT, keyHash, key, notSetValue);\n };\n\n BitmapIndexedNode.prototype.update = function (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var bit = 1 << keyHashFrag;\n var bitmap = this.bitmap;\n var exists = (bitmap & bit) !== 0;\n\n if (!exists && value === NOT_SET) {\n return this;\n }\n\n var idx = popCount(bitmap & bit - 1);\n var nodes = this.nodes;\n var node = exists ? nodes[idx] : undefined;\n var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);\n\n if (newNode === node) {\n return this;\n }\n\n if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) {\n return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode);\n }\n\n if (exists && !newNode && nodes.length === 2 && isLeafNode(nodes[idx ^ 1])) {\n return nodes[idx ^ 1];\n }\n\n if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) {\n return newNode;\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newBitmap = exists ? newNode ? bitmap : bitmap ^ bit : bitmap | bit;\n var newNodes = exists ? newNode ? setIn(nodes, idx, newNode, isEditable) : spliceOut(nodes, idx, isEditable) : spliceIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.bitmap = newBitmap;\n this.nodes = newNodes;\n return this;\n }\n\n return new BitmapIndexedNode(ownerID, newBitmap, newNodes);\n };\n\n function HashArrayMapNode(ownerID, count, nodes) {\n this.ownerID = ownerID;\n this.count = count;\n this.nodes = nodes;\n }\n\n HashArrayMapNode.prototype.get = function (shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var node = this.nodes[idx];\n return node ? node.get(shift + SHIFT, keyHash, key, notSetValue) : notSetValue;\n };\n\n HashArrayMapNode.prototype.update = function (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var removed = value === NOT_SET;\n var nodes = this.nodes;\n var node = nodes[idx];\n\n if (removed && !node) {\n return this;\n }\n\n var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);\n if (newNode === node) {\n return this;\n }\n\n var newCount = this.count;\n if (!node) {\n newCount++;\n } else if (!newNode) {\n newCount--;\n if (newCount < MIN_HASH_ARRAY_MAP_SIZE) {\n return packNodes(ownerID, nodes, newCount, idx);\n }\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newNodes = setIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.count = newCount;\n this.nodes = newNodes;\n return this;\n }\n\n return new HashArrayMapNode(ownerID, newCount, newNodes);\n };\n\n function HashCollisionNode(ownerID, keyHash, entries) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entries = entries;\n }\n\n HashCollisionNode.prototype.get = function (shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n };\n\n HashCollisionNode.prototype.update = function (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n\n var removed = value === NOT_SET;\n\n if (keyHash !== this.keyHash) {\n if (removed) {\n return this;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]);\n }\n\n var entries = this.entries;\n var idx = 0;\n for (var len = entries.length; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && len === 2) {\n return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1 ? newEntries.pop() : newEntries[idx] = newEntries.pop();\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new HashCollisionNode(ownerID, this.keyHash, newEntries);\n };\n\n function ValueNode(ownerID, keyHash, entry) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entry = entry;\n }\n\n ValueNode.prototype.get = function (shift, keyHash, key, notSetValue) {\n return is(key, this.entry[0]) ? this.entry[1] : notSetValue;\n };\n\n ValueNode.prototype.update = function (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n var keyMatch = is(key, this.entry[0]);\n if (keyMatch ? value === this.entry[1] : removed) {\n return this;\n }\n\n SetRef(didAlter);\n\n if (removed) {\n SetRef(didChangeSize);\n return; // undefined\n }\n\n if (keyMatch) {\n if (ownerID && ownerID === this.ownerID) {\n this.entry[1] = value;\n return this;\n }\n return new ValueNode(ownerID, this.keyHash, [key, value]);\n }\n\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]);\n };\n\n // #pragma Iterators\n\n ArrayMapNode.prototype.iterate = HashCollisionNode.prototype.iterate = function (fn, reverse) {\n var entries = this.entries;\n for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) {\n if (fn(entries[reverse ? maxIndex - ii : ii]) === false) {\n return false;\n }\n }\n };\n\n BitmapIndexedNode.prototype.iterate = HashArrayMapNode.prototype.iterate = function (fn, reverse) {\n var nodes = this.nodes;\n for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) {\n var node = nodes[reverse ? maxIndex - ii : ii];\n if (node && node.iterate(fn, reverse) === false) {\n return false;\n }\n }\n };\n\n ValueNode.prototype.iterate = function (fn, reverse) {\n return fn(this.entry);\n };\n\n createClass(MapIterator, Iterator);\n\n function MapIterator(map, type, reverse) {\n this._type = type;\n this._reverse = reverse;\n this._stack = map._root && mapIteratorFrame(map._root);\n }\n\n MapIterator.prototype.next = function () {\n var type = this._type;\n var stack = this._stack;\n while (stack) {\n var node = stack.node;\n var index = stack.index++;\n var maxIndex;\n if (node.entry) {\n if (index === 0) {\n return mapIteratorValue(type, node.entry);\n }\n } else if (node.entries) {\n maxIndex = node.entries.length - 1;\n if (index <= maxIndex) {\n return mapIteratorValue(type, node.entries[this._reverse ? maxIndex - index : index]);\n }\n } else {\n maxIndex = node.nodes.length - 1;\n if (index <= maxIndex) {\n var subNode = node.nodes[this._reverse ? maxIndex - index : index];\n if (subNode) {\n if (subNode.entry) {\n return mapIteratorValue(type, subNode.entry);\n }\n stack = this._stack = mapIteratorFrame(subNode, stack);\n }\n continue;\n }\n }\n stack = this._stack = this._stack.__prev;\n }\n return iteratorDone();\n };\n\n function mapIteratorValue(type, entry) {\n return iteratorValue(type, entry[0], entry[1]);\n }\n\n function mapIteratorFrame(node, prev) {\n return {\n node: node,\n index: 0,\n __prev: prev\n };\n }\n\n function makeMap(size, root, ownerID, hash) {\n var map = Object.create(MapPrototype);\n map.size = size;\n map._root = root;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n }\n\n var EMPTY_MAP;\n function emptyMap() {\n return EMPTY_MAP || (EMPTY_MAP = makeMap(0));\n }\n\n function updateMap(map, k, v) {\n var newRoot;\n var newSize;\n if (!map._root) {\n if (v === NOT_SET) {\n return map;\n }\n newSize = 1;\n newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]);\n } else {\n var didChangeSize = MakeRef(CHANGE_LENGTH);\n var didAlter = MakeRef(DID_ALTER);\n newRoot = updateNode(map._root, map.__ownerID, 0, undefined, k, v, didChangeSize, didAlter);\n if (!didAlter.value) {\n return map;\n }\n newSize = map.size + (didChangeSize.value ? v === NOT_SET ? -1 : 1 : 0);\n }\n if (map.__ownerID) {\n map.size = newSize;\n map._root = newRoot;\n map.__hash = undefined;\n map.__altered = true;\n return map;\n }\n return newRoot ? makeMap(newSize, newRoot) : emptyMap();\n }\n\n function updateNode(node, ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (!node) {\n if (value === NOT_SET) {\n return node;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return new ValueNode(ownerID, keyHash, [key, value]);\n }\n return node.update(ownerID, shift, keyHash, key, value, didChangeSize, didAlter);\n }\n\n function isLeafNode(node) {\n return node.constructor === ValueNode || node.constructor === HashCollisionNode;\n }\n\n function mergeIntoNode(node, ownerID, shift, keyHash, entry) {\n if (node.keyHash === keyHash) {\n return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]);\n }\n\n var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK;\n var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\n var newNode;\n var nodes = idx1 === idx2 ? [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] : (newNode = new ValueNode(ownerID, keyHash, entry), idx1 < idx2 ? [node, newNode] : [newNode, node]);\n\n return new BitmapIndexedNode(ownerID, 1 << idx1 | 1 << idx2, nodes);\n }\n\n function createNodes(ownerID, entries, key, value) {\n if (!ownerID) {\n ownerID = new OwnerID();\n }\n var node = new ValueNode(ownerID, hash(key), [key, value]);\n for (var ii = 0; ii < entries.length; ii++) {\n var entry = entries[ii];\n node = node.update(ownerID, 0, undefined, entry[0], entry[1]);\n }\n return node;\n }\n\n function packNodes(ownerID, nodes, count, excluding) {\n var bitmap = 0;\n var packedII = 0;\n var packedNodes = new Array(count);\n for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) {\n var node = nodes[ii];\n if (node !== undefined && ii !== excluding) {\n bitmap |= bit;\n packedNodes[packedII++] = node;\n }\n }\n return new BitmapIndexedNode(ownerID, bitmap, packedNodes);\n }\n\n function expandNodes(ownerID, nodes, bitmap, including, node) {\n var count = 0;\n var expandedNodes = new Array(SIZE);\n for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) {\n expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined;\n }\n expandedNodes[including] = node;\n return new HashArrayMapNode(ownerID, count + 1, expandedNodes);\n }\n\n function mergeIntoMapWith(map, merger, iterables) {\n var iters = [];\n for (var ii = 0; ii < iterables.length; ii++) {\n var value = iterables[ii];\n var iter = KeyedIterable(value);\n if (!isIterable(value)) {\n iter = iter.map(function (v) {\n return fromJS(v);\n });\n }\n iters.push(iter);\n }\n return mergeIntoCollectionWith(map, merger, iters);\n }\n\n function deepMerger(existing, value, key) {\n return existing && existing.mergeDeep && isIterable(value) ? existing.mergeDeep(value) : is(existing, value) ? existing : value;\n }\n\n function deepMergerWith(merger) {\n return function (existing, value, key) {\n if (existing && existing.mergeDeepWith && isIterable(value)) {\n return existing.mergeDeepWith(merger, value);\n }\n var nextValue = merger(existing, value, key);\n return is(existing, nextValue) ? existing : nextValue;\n };\n }\n\n function mergeIntoCollectionWith(collection, merger, iters) {\n iters = iters.filter(function (x) {\n return x.size !== 0;\n });\n if (iters.length === 0) {\n return collection;\n }\n if (collection.size === 0 && !collection.__ownerID && iters.length === 1) {\n return collection.constructor(iters[0]);\n }\n return collection.withMutations(function (collection) {\n var mergeIntoMap = merger ? function (value, key) {\n collection.update(key, NOT_SET, function (existing) {\n return existing === NOT_SET ? value : merger(existing, value, key);\n });\n } : function (value, key) {\n collection.set(key, value);\n };\n for (var ii = 0; ii < iters.length; ii++) {\n iters[ii].forEach(mergeIntoMap);\n }\n });\n }\n\n function updateInDeepMap(existing, keyPathIter, notSetValue, updater) {\n var isNotSet = existing === NOT_SET;\n var step = keyPathIter.next();\n if (step.done) {\n var existingValue = isNotSet ? notSetValue : existing;\n var newValue = updater(existingValue);\n return newValue === existingValue ? existing : newValue;\n }\n invariant(isNotSet || existing && existing.set, 'invalid keyPath');\n var key = step.value;\n var nextExisting = isNotSet ? NOT_SET : existing.get(key, NOT_SET);\n var nextUpdated = updateInDeepMap(nextExisting, keyPathIter, notSetValue, updater);\n return nextUpdated === nextExisting ? existing : nextUpdated === NOT_SET ? existing.remove(key) : (isNotSet ? emptyMap() : existing).set(key, nextUpdated);\n }\n\n function popCount(x) {\n x = x - (x >> 1 & 0x55555555);\n x = (x & 0x33333333) + (x >> 2 & 0x33333333);\n x = x + (x >> 4) & 0x0f0f0f0f;\n x = x + (x >> 8);\n x = x + (x >> 16);\n return x & 0x7f;\n }\n\n function setIn(array, idx, val, canEdit) {\n var newArray = canEdit ? array : arrCopy(array);\n newArray[idx] = val;\n return newArray;\n }\n\n function spliceIn(array, idx, val, canEdit) {\n var newLen = array.length + 1;\n if (canEdit && idx + 1 === newLen) {\n array[idx] = val;\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n newArray[ii] = val;\n after = -1;\n } else {\n newArray[ii] = array[ii + after];\n }\n }\n return newArray;\n }\n\n function spliceOut(array, idx, canEdit) {\n var newLen = array.length - 1;\n if (canEdit && idx === newLen) {\n array.pop();\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n after = 1;\n }\n newArray[ii] = array[ii + after];\n }\n return newArray;\n }\n\n var MAX_ARRAY_MAP_SIZE = SIZE / 4;\n var MAX_BITMAP_INDEXED_SIZE = SIZE / 2;\n var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;\n\n createClass(List, IndexedCollection);\n\n // @pragma Construction\n\n function List(value) {\n var empty = emptyList();\n if (value === null || value === undefined) {\n return empty;\n }\n if (isList(value)) {\n return value;\n }\n var iter = IndexedIterable(value);\n var size = iter.size;\n if (size === 0) {\n return empty;\n }\n assertNotInfinite(size);\n if (size > 0 && size < SIZE) {\n return makeList(0, size, SHIFT, null, new VNode(iter.toArray()));\n }\n return empty.withMutations(function (list) {\n list.setSize(size);\n iter.forEach(function (v, i) {\n return list.set(i, v);\n });\n });\n }\n\n List.of = function () /*...values*/{\n return this(arguments);\n };\n\n List.prototype.toString = function () {\n return this.__toString('List [', ']');\n };\n\n // @pragma Access\n\n List.prototype.get = function (index, notSetValue) {\n index = wrapIndex(this, index);\n if (index >= 0 && index < this.size) {\n index += this._origin;\n var node = listNodeFor(this, index);\n return node && node.array[index & MASK];\n }\n return notSetValue;\n };\n\n // @pragma Modification\n\n List.prototype.set = function (index, value) {\n return updateList(this, index, value);\n };\n\n List.prototype.remove = function (index) {\n return !this.has(index) ? this : index === 0 ? this.shift() : index === this.size - 1 ? this.pop() : this.splice(index, 1);\n };\n\n List.prototype.insert = function (index, value) {\n return this.splice(index, 0, value);\n };\n\n List.prototype.clear = function () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = this._origin = this._capacity = 0;\n this._level = SHIFT;\n this._root = this._tail = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyList();\n };\n\n List.prototype.push = function () /*...values*/{\n var values = arguments;\n var oldSize = this.size;\n return this.withMutations(function (list) {\n setListBounds(list, 0, oldSize + values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(oldSize + ii, values[ii]);\n }\n });\n };\n\n List.prototype.pop = function () {\n return setListBounds(this, 0, -1);\n };\n\n List.prototype.unshift = function () /*...values*/{\n var values = arguments;\n return this.withMutations(function (list) {\n setListBounds(list, -values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(ii, values[ii]);\n }\n });\n };\n\n List.prototype.shift = function () {\n return setListBounds(this, 1);\n };\n\n // @pragma Composition\n\n List.prototype.merge = function () /*...iters*/{\n return mergeIntoListWith(this, undefined, arguments);\n };\n\n List.prototype.mergeWith = function (merger) {\n var iters = SLICE$0.call(arguments, 1);\n return mergeIntoListWith(this, merger, iters);\n };\n\n List.prototype.mergeDeep = function () /*...iters*/{\n return mergeIntoListWith(this, deepMerger, arguments);\n };\n\n List.prototype.mergeDeepWith = function (merger) {\n var iters = SLICE$0.call(arguments, 1);\n return mergeIntoListWith(this, deepMergerWith(merger), iters);\n };\n\n List.prototype.setSize = function (size) {\n return setListBounds(this, 0, size);\n };\n\n // @pragma Iteration\n\n List.prototype.slice = function (begin, end) {\n var size = this.size;\n if (wholeSlice(begin, end, size)) {\n return this;\n }\n return setListBounds(this, resolveBegin(begin, size), resolveEnd(end, size));\n };\n\n List.prototype.__iterator = function (type, reverse) {\n var index = 0;\n var values = iterateList(this, reverse);\n return new Iterator(function () {\n var value = values();\n return value === DONE ? iteratorDone() : iteratorValue(type, index++, value);\n });\n };\n\n List.prototype.__iterate = function (fn, reverse) {\n var index = 0;\n var values = iterateList(this, reverse);\n var value;\n while ((value = values()) !== DONE) {\n if (fn(value, index++, this) === false) {\n break;\n }\n }\n return index;\n };\n\n List.prototype.__ensureOwner = function (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n return this;\n }\n return makeList(this._origin, this._capacity, this._level, this._root, this._tail, ownerID, this.__hash);\n };\n\n function isList(maybeList) {\n return !!(maybeList && maybeList[IS_LIST_SENTINEL]);\n }\n\n List.isList = isList;\n\n var IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';\n\n var ListPrototype = List.prototype;\n ListPrototype[IS_LIST_SENTINEL] = true;\n ListPrototype[DELETE] = ListPrototype.remove;\n ListPrototype.setIn = MapPrototype.setIn;\n ListPrototype.deleteIn = ListPrototype.removeIn = MapPrototype.removeIn;\n ListPrototype.update = MapPrototype.update;\n ListPrototype.updateIn = MapPrototype.updateIn;\n ListPrototype.mergeIn = MapPrototype.mergeIn;\n ListPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;\n ListPrototype.withMutations = MapPrototype.withMutations;\n ListPrototype.asMutable = MapPrototype.asMutable;\n ListPrototype.asImmutable = MapPrototype.asImmutable;\n ListPrototype.wasAltered = MapPrototype.wasAltered;\n\n function VNode(array, ownerID) {\n this.array = array;\n this.ownerID = ownerID;\n }\n\n // TODO: seems like these methods are very similar\n\n VNode.prototype.removeBefore = function (ownerID, level, index) {\n if (index === level ? 1 << level : 0 || this.array.length === 0) {\n return this;\n }\n var originIndex = index >>> level & MASK;\n if (originIndex >= this.array.length) {\n return new VNode([], ownerID);\n }\n var removingFirst = originIndex === 0;\n var newChild;\n if (level > 0) {\n var oldChild = this.array[originIndex];\n newChild = oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index);\n if (newChild === oldChild && removingFirst) {\n return this;\n }\n }\n if (removingFirst && !newChild) {\n return this;\n }\n var editable = editableVNode(this, ownerID);\n if (!removingFirst) {\n for (var ii = 0; ii < originIndex; ii++) {\n editable.array[ii] = undefined;\n }\n }\n if (newChild) {\n editable.array[originIndex] = newChild;\n }\n return editable;\n };\n\n VNode.prototype.removeAfter = function (ownerID, level, index) {\n if (index === (level ? 1 << level : 0) || this.array.length === 0) {\n return this;\n }\n var sizeIndex = index - 1 >>> level & MASK;\n if (sizeIndex >= this.array.length) {\n return this;\n }\n\n var newChild;\n if (level > 0) {\n var oldChild = this.array[sizeIndex];\n newChild = oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index);\n if (newChild === oldChild && sizeIndex === this.array.length - 1) {\n return this;\n }\n }\n\n var editable = editableVNode(this, ownerID);\n editable.array.splice(sizeIndex + 1);\n if (newChild) {\n editable.array[sizeIndex] = newChild;\n }\n return editable;\n };\n\n var DONE = {};\n\n function iterateList(list, reverse) {\n var left = list._origin;\n var right = list._capacity;\n var tailPos = getTailOffset(right);\n var tail = list._tail;\n\n return iterateNodeOrLeaf(list._root, list._level, 0);\n\n function iterateNodeOrLeaf(node, level, offset) {\n return level === 0 ? iterateLeaf(node, offset) : iterateNode(node, level, offset);\n }\n\n function iterateLeaf(node, offset) {\n var array = offset === tailPos ? tail && tail.array : node && node.array;\n var from = offset > left ? 0 : left - offset;\n var to = right - offset;\n if (to > SIZE) {\n to = SIZE;\n }\n return function () {\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n return array && array[idx];\n };\n }\n\n function iterateNode(node, level, offset) {\n var values;\n var array = node && node.array;\n var from = offset > left ? 0 : left - offset >> level;\n var to = (right - offset >> level) + 1;\n if (to > SIZE) {\n to = SIZE;\n }\n return function () {\n do {\n if (values) {\n var value = values();\n if (value !== DONE) {\n return value;\n }\n values = null;\n }\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n values = iterateNodeOrLeaf(array && array[idx], level - SHIFT, offset + (idx << level));\n } while (true);\n };\n }\n }\n\n function makeList(origin, capacity, level, root, tail, ownerID, hash) {\n var list = Object.create(ListPrototype);\n list.size = capacity - origin;\n list._origin = origin;\n list._capacity = capacity;\n list._level = level;\n list._root = root;\n list._tail = tail;\n list.__ownerID = ownerID;\n list.__hash = hash;\n list.__altered = false;\n return list;\n }\n\n var EMPTY_LIST;\n function emptyList() {\n return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT));\n }\n\n function updateList(list, index, value) {\n index = wrapIndex(list, index);\n\n if (index !== index) {\n return list;\n }\n\n if (index >= list.size || index < 0) {\n return list.withMutations(function (list) {\n index < 0 ? setListBounds(list, index).set(0, value) : setListBounds(list, 0, index + 1).set(index, value);\n });\n }\n\n index += list._origin;\n\n var newTail = list._tail;\n var newRoot = list._root;\n var didAlter = MakeRef(DID_ALTER);\n if (index >= getTailOffset(list._capacity)) {\n newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter);\n } else {\n newRoot = updateVNode(newRoot, list.__ownerID, list._level, index, value, didAlter);\n }\n\n if (!didAlter.value) {\n return list;\n }\n\n if (list.__ownerID) {\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(list._origin, list._capacity, list._level, newRoot, newTail);\n }\n\n function updateVNode(node, ownerID, level, index, value, didAlter) {\n var idx = index >>> level & MASK;\n var nodeHas = node && idx < node.array.length;\n if (!nodeHas && value === undefined) {\n return node;\n }\n\n var newNode;\n\n if (level > 0) {\n var lowerNode = node && node.array[idx];\n var newLowerNode = updateVNode(lowerNode, ownerID, level - SHIFT, index, value, didAlter);\n if (newLowerNode === lowerNode) {\n return node;\n }\n newNode = editableVNode(node, ownerID);\n newNode.array[idx] = newLowerNode;\n return newNode;\n }\n\n if (nodeHas && node.array[idx] === value) {\n return node;\n }\n\n SetRef(didAlter);\n\n newNode = editableVNode(node, ownerID);\n if (value === undefined && idx === newNode.array.length - 1) {\n newNode.array.pop();\n } else {\n newNode.array[idx] = value;\n }\n return newNode;\n }\n\n function editableVNode(node, ownerID) {\n if (ownerID && node && ownerID === node.ownerID) {\n return node;\n }\n return new VNode(node ? node.array.slice() : [], ownerID);\n }\n\n function listNodeFor(list, rawIndex) {\n if (rawIndex >= getTailOffset(list._capacity)) {\n return list._tail;\n }\n if (rawIndex < 1 << list._level + SHIFT) {\n var node = list._root;\n var level = list._level;\n while (node && level > 0) {\n node = node.array[rawIndex >>> level & MASK];\n level -= SHIFT;\n }\n return node;\n }\n }\n\n function setListBounds(list, begin, end) {\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin = begin | 0;\n }\n if (end !== undefined) {\n end = end | 0;\n }\n var owner = list.__ownerID || new OwnerID();\n var oldOrigin = list._origin;\n var oldCapacity = list._capacity;\n var newOrigin = oldOrigin + begin;\n var newCapacity = end === undefined ? oldCapacity : end < 0 ? oldCapacity + end : oldOrigin + end;\n if (newOrigin === oldOrigin && newCapacity === oldCapacity) {\n return list;\n }\n\n // If it's going to end after it starts, it's empty.\n if (newOrigin >= newCapacity) {\n return list.clear();\n }\n\n var newLevel = list._level;\n var newRoot = list._root;\n\n // New origin might need creating a higher root.\n var offsetShift = 0;\n while (newOrigin + offsetShift < 0) {\n newRoot = new VNode(newRoot && newRoot.array.length ? [undefined, newRoot] : [], owner);\n newLevel += SHIFT;\n offsetShift += 1 << newLevel;\n }\n if (offsetShift) {\n newOrigin += offsetShift;\n oldOrigin += offsetShift;\n newCapacity += offsetShift;\n oldCapacity += offsetShift;\n }\n\n var oldTailOffset = getTailOffset(oldCapacity);\n var newTailOffset = getTailOffset(newCapacity);\n\n // New size might need creating a higher root.\n while (newTailOffset >= 1 << newLevel + SHIFT) {\n newRoot = new VNode(newRoot && newRoot.array.length ? [newRoot] : [], owner);\n newLevel += SHIFT;\n }\n\n // Locate or create the new tail.\n var oldTail = list._tail;\n var newTail = newTailOffset < oldTailOffset ? listNodeFor(list, newCapacity - 1) : newTailOffset > oldTailOffset ? new VNode([], owner) : oldTail;\n\n // Merge Tail into tree.\n if (oldTail && newTailOffset > oldTailOffset && newOrigin < oldCapacity && oldTail.array.length) {\n newRoot = editableVNode(newRoot, owner);\n var node = newRoot;\n for (var level = newLevel; level > SHIFT; level -= SHIFT) {\n var idx = oldTailOffset >>> level & MASK;\n node = node.array[idx] = editableVNode(node.array[idx], owner);\n }\n node.array[oldTailOffset >>> SHIFT & MASK] = oldTail;\n }\n\n // If the size has been reduced, there's a chance the tail needs to be trimmed.\n if (newCapacity < oldCapacity) {\n newTail = newTail && newTail.removeAfter(owner, 0, newCapacity);\n }\n\n // If the new origin is within the tail, then we do not need a root.\n if (newOrigin >= newTailOffset) {\n newOrigin -= newTailOffset;\n newCapacity -= newTailOffset;\n newLevel = SHIFT;\n newRoot = null;\n newTail = newTail && newTail.removeBefore(owner, 0, newOrigin);\n\n // Otherwise, if the root has been trimmed, garbage collect.\n } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) {\n offsetShift = 0;\n\n // Identify the new top root node of the subtree of the old root.\n while (newRoot) {\n var beginIndex = newOrigin >>> newLevel & MASK;\n if (beginIndex !== newTailOffset >>> newLevel & MASK) {\n break;\n }\n if (beginIndex) {\n offsetShift += (1 << newLevel) * beginIndex;\n }\n newLevel -= SHIFT;\n newRoot = newRoot.array[beginIndex];\n }\n\n // Trim the new sides of the new root.\n if (newRoot && newOrigin > oldOrigin) {\n newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift);\n }\n if (newRoot && newTailOffset < oldTailOffset) {\n newRoot = newRoot.removeAfter(owner, newLevel, newTailOffset - offsetShift);\n }\n if (offsetShift) {\n newOrigin -= offsetShift;\n newCapacity -= offsetShift;\n }\n }\n\n if (list.__ownerID) {\n list.size = newCapacity - newOrigin;\n list._origin = newOrigin;\n list._capacity = newCapacity;\n list._level = newLevel;\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail);\n }\n\n function mergeIntoListWith(list, merger, iterables) {\n var iters = [];\n var maxSize = 0;\n for (var ii = 0; ii < iterables.length; ii++) {\n var value = iterables[ii];\n var iter = IndexedIterable(value);\n if (iter.size > maxSize) {\n maxSize = iter.size;\n }\n if (!isIterable(value)) {\n iter = iter.map(function (v) {\n return fromJS(v);\n });\n }\n iters.push(iter);\n }\n if (maxSize > list.size) {\n list = list.setSize(maxSize);\n }\n return mergeIntoCollectionWith(list, merger, iters);\n }\n\n function getTailOffset(size) {\n return size < SIZE ? 0 : size - 1 >>> SHIFT << SHIFT;\n }\n\n createClass(OrderedMap, Map);\n\n // @pragma Construction\n\n function OrderedMap(value) {\n return value === null || value === undefined ? emptyOrderedMap() : isOrderedMap(value) ? value : emptyOrderedMap().withMutations(function (map) {\n var iter = KeyedIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v, k) {\n return map.set(k, v);\n });\n });\n }\n\n OrderedMap.of = function () /*...values*/{\n return this(arguments);\n };\n\n OrderedMap.prototype.toString = function () {\n return this.__toString('OrderedMap {', '}');\n };\n\n // @pragma Access\n\n OrderedMap.prototype.get = function (k, notSetValue) {\n var index = this._map.get(k);\n return index !== undefined ? this._list.get(index)[1] : notSetValue;\n };\n\n // @pragma Modification\n\n OrderedMap.prototype.clear = function () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._map.clear();\n this._list.clear();\n return this;\n }\n return emptyOrderedMap();\n };\n\n OrderedMap.prototype.set = function (k, v) {\n return updateOrderedMap(this, k, v);\n };\n\n OrderedMap.prototype.remove = function (k) {\n return updateOrderedMap(this, k, NOT_SET);\n };\n\n OrderedMap.prototype.wasAltered = function () {\n return this._map.wasAltered() || this._list.wasAltered();\n };\n\n OrderedMap.prototype.__iterate = function (fn, reverse) {\n var this$0 = this;\n return this._list.__iterate(function (entry) {\n return entry && fn(entry[1], entry[0], this$0);\n }, reverse);\n };\n\n OrderedMap.prototype.__iterator = function (type, reverse) {\n return this._list.fromEntrySeq().__iterator(type, reverse);\n };\n\n OrderedMap.prototype.__ensureOwner = function (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n var newList = this._list.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n this._list = newList;\n return this;\n }\n return makeOrderedMap(newMap, newList, ownerID, this.__hash);\n };\n\n function isOrderedMap(maybeOrderedMap) {\n return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);\n }\n\n OrderedMap.isOrderedMap = isOrderedMap;\n\n OrderedMap.prototype[IS_ORDERED_SENTINEL] = true;\n OrderedMap.prototype[DELETE] = OrderedMap.prototype.remove;\n\n function makeOrderedMap(map, list, ownerID, hash) {\n var omap = Object.create(OrderedMap.prototype);\n omap.size = map ? map.size : 0;\n omap._map = map;\n omap._list = list;\n omap.__ownerID = ownerID;\n omap.__hash = hash;\n return omap;\n }\n\n var EMPTY_ORDERED_MAP;\n function emptyOrderedMap() {\n return EMPTY_ORDERED_MAP || (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList()));\n }\n\n function updateOrderedMap(omap, k, v) {\n var map = omap._map;\n var list = omap._list;\n var i = map.get(k);\n var has = i !== undefined;\n var newMap;\n var newList;\n if (v === NOT_SET) {\n // removed\n if (!has) {\n return omap;\n }\n if (list.size >= SIZE && list.size >= map.size * 2) {\n newList = list.filter(function (entry, idx) {\n return entry !== undefined && i !== idx;\n });\n newMap = newList.toKeyedSeq().map(function (entry) {\n return entry[0];\n }).flip().toMap();\n if (omap.__ownerID) {\n newMap.__ownerID = newList.__ownerID = omap.__ownerID;\n }\n } else {\n newMap = map.remove(k);\n newList = i === list.size - 1 ? list.pop() : list.set(i, undefined);\n }\n } else {\n if (has) {\n if (v === list.get(i)[1]) {\n return omap;\n }\n newMap = map;\n newList = list.set(i, [k, v]);\n } else {\n newMap = map.set(k, list.size);\n newList = list.set(list.size, [k, v]);\n }\n }\n if (omap.__ownerID) {\n omap.size = newMap.size;\n omap._map = newMap;\n omap._list = newList;\n omap.__hash = undefined;\n return omap;\n }\n return makeOrderedMap(newMap, newList);\n }\n\n createClass(ToKeyedSequence, KeyedSeq);\n function ToKeyedSequence(indexed, useKeys) {\n this._iter = indexed;\n this._useKeys = useKeys;\n this.size = indexed.size;\n }\n\n ToKeyedSequence.prototype.get = function (key, notSetValue) {\n return this._iter.get(key, notSetValue);\n };\n\n ToKeyedSequence.prototype.has = function (key) {\n return this._iter.has(key);\n };\n\n ToKeyedSequence.prototype.valueSeq = function () {\n return this._iter.valueSeq();\n };\n\n ToKeyedSequence.prototype.reverse = function () {\n var this$0 = this;\n var reversedSequence = reverseFactory(this, true);\n if (!this._useKeys) {\n reversedSequence.valueSeq = function () {\n return this$0._iter.toSeq().reverse();\n };\n }\n return reversedSequence;\n };\n\n ToKeyedSequence.prototype.map = function (mapper, context) {\n var this$0 = this;\n var mappedSequence = mapFactory(this, mapper, context);\n if (!this._useKeys) {\n mappedSequence.valueSeq = function () {\n return this$0._iter.toSeq().map(mapper, context);\n };\n }\n return mappedSequence;\n };\n\n ToKeyedSequence.prototype.__iterate = function (fn, reverse) {\n var this$0 = this;\n var ii;\n return this._iter.__iterate(this._useKeys ? function (v, k) {\n return fn(v, k, this$0);\n } : (ii = reverse ? resolveSize(this) : 0, function (v) {\n return fn(v, reverse ? --ii : ii++, this$0);\n }), reverse);\n };\n\n ToKeyedSequence.prototype.__iterator = function (type, reverse) {\n if (this._useKeys) {\n return this._iter.__iterator(type, reverse);\n }\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var ii = reverse ? resolveSize(this) : 0;\n return new Iterator(function () {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, reverse ? --ii : ii++, step.value, step);\n });\n };\n\n ToKeyedSequence.prototype[IS_ORDERED_SENTINEL] = true;\n\n createClass(ToIndexedSequence, IndexedSeq);\n function ToIndexedSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n ToIndexedSequence.prototype.includes = function (value) {\n return this._iter.includes(value);\n };\n\n ToIndexedSequence.prototype.__iterate = function (fn, reverse) {\n var this$0 = this;\n var iterations = 0;\n return this._iter.__iterate(function (v) {\n return fn(v, iterations++, this$0);\n }, reverse);\n };\n\n ToIndexedSequence.prototype.__iterator = function (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n return new Iterator(function () {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, iterations++, step.value, step);\n });\n };\n\n createClass(ToSetSequence, SetSeq);\n function ToSetSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n ToSetSequence.prototype.has = function (key) {\n return this._iter.includes(key);\n };\n\n ToSetSequence.prototype.__iterate = function (fn, reverse) {\n var this$0 = this;\n return this._iter.__iterate(function (v) {\n return fn(v, v, this$0);\n }, reverse);\n };\n\n ToSetSequence.prototype.__iterator = function (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, step.value, step.value, step);\n });\n };\n\n createClass(FromEntriesSequence, KeyedSeq);\n function FromEntriesSequence(entries) {\n this._iter = entries;\n this.size = entries.size;\n }\n\n FromEntriesSequence.prototype.entrySeq = function () {\n return this._iter.toSeq();\n };\n\n FromEntriesSequence.prototype.__iterate = function (fn, reverse) {\n var this$0 = this;\n return this._iter.__iterate(function (entry) {\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedIterable = isIterable(entry);\n return fn(indexedIterable ? entry.get(1) : entry[1], indexedIterable ? entry.get(0) : entry[0], this$0);\n }\n }, reverse);\n };\n\n FromEntriesSequence.prototype.__iterator = function (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function () {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedIterable = isIterable(entry);\n return iteratorValue(type, indexedIterable ? entry.get(0) : entry[0], indexedIterable ? entry.get(1) : entry[1], step);\n }\n }\n });\n };\n\n ToIndexedSequence.prototype.cacheResult = ToKeyedSequence.prototype.cacheResult = ToSetSequence.prototype.cacheResult = FromEntriesSequence.prototype.cacheResult = cacheResultThrough;\n\n function flipFactory(iterable) {\n var flipSequence = makeSequence(iterable);\n flipSequence._iter = iterable;\n flipSequence.size = iterable.size;\n flipSequence.flip = function () {\n return iterable;\n };\n flipSequence.reverse = function () {\n var reversedSequence = iterable.reverse.apply(this); // super.reverse()\n reversedSequence.flip = function () {\n return iterable.reverse();\n };\n return reversedSequence;\n };\n flipSequence.has = function (key) {\n return iterable.includes(key);\n };\n flipSequence.includes = function (key) {\n return iterable.has(key);\n };\n flipSequence.cacheResult = cacheResultThrough;\n flipSequence.__iterateUncached = function (fn, reverse) {\n var this$0 = this;\n return iterable.__iterate(function (v, k) {\n return fn(k, v, this$0) !== false;\n }, reverse);\n };\n flipSequence.__iteratorUncached = function (type, reverse) {\n if (type === ITERATE_ENTRIES) {\n var iterator = iterable.__iterator(type, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (!step.done) {\n var k = step.value[0];\n step.value[0] = step.value[1];\n step.value[1] = k;\n }\n return step;\n });\n }\n return iterable.__iterator(type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES, reverse);\n };\n return flipSequence;\n }\n\n function mapFactory(iterable, mapper, context) {\n var mappedSequence = makeSequence(iterable);\n mappedSequence.size = iterable.size;\n mappedSequence.has = function (key) {\n return iterable.has(key);\n };\n mappedSequence.get = function (key, notSetValue) {\n var v = iterable.get(key, NOT_SET);\n return v === NOT_SET ? notSetValue : mapper.call(context, v, key, iterable);\n };\n mappedSequence.__iterateUncached = function (fn, reverse) {\n var this$0 = this;\n return iterable.__iterate(function (v, k, c) {\n return fn(mapper.call(context, v, k, c), k, this$0) !== false;\n }, reverse);\n };\n mappedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n return iteratorValue(type, key, mapper.call(context, entry[1], key, iterable), step);\n });\n };\n return mappedSequence;\n }\n\n function reverseFactory(iterable, useKeys) {\n var reversedSequence = makeSequence(iterable);\n reversedSequence._iter = iterable;\n reversedSequence.size = iterable.size;\n reversedSequence.reverse = function () {\n return iterable;\n };\n if (iterable.flip) {\n reversedSequence.flip = function () {\n var flipSequence = flipFactory(iterable);\n flipSequence.reverse = function () {\n return iterable.flip();\n };\n return flipSequence;\n };\n }\n reversedSequence.get = function (key, notSetValue) {\n return iterable.get(useKeys ? key : -1 - key, notSetValue);\n };\n reversedSequence.has = function (key) {\n return iterable.has(useKeys ? key : -1 - key);\n };\n reversedSequence.includes = function (value) {\n return iterable.includes(value);\n };\n reversedSequence.cacheResult = cacheResultThrough;\n reversedSequence.__iterate = function (fn, reverse) {\n var this$0 = this;\n return iterable.__iterate(function (v, k) {\n return fn(v, k, this$0);\n }, !reverse);\n };\n reversedSequence.__iterator = function (type, reverse) {\n return iterable.__iterator(type, !reverse);\n };\n return reversedSequence;\n }\n\n function filterFactory(iterable, predicate, context, useKeys) {\n var filterSequence = makeSequence(iterable);\n if (useKeys) {\n filterSequence.has = function (key) {\n var v = iterable.get(key, NOT_SET);\n return v !== NOT_SET && !!predicate.call(context, v, key, iterable);\n };\n filterSequence.get = function (key, notSetValue) {\n var v = iterable.get(key, NOT_SET);\n return v !== NOT_SET && predicate.call(context, v, key, iterable) ? v : notSetValue;\n };\n }\n filterSequence.__iterateUncached = function (fn, reverse) {\n var this$0 = this;\n var iterations = 0;\n iterable.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0);\n }\n }, reverse);\n return iterations;\n };\n filterSequence.__iteratorUncached = function (type, reverse) {\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var iterations = 0;\n return new Iterator(function () {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n var value = entry[1];\n if (predicate.call(context, value, key, iterable)) {\n return iteratorValue(type, useKeys ? key : iterations++, value, step);\n }\n }\n });\n };\n return filterSequence;\n }\n\n function countByFactory(iterable, grouper, context) {\n var groups = Map().asMutable();\n iterable.__iterate(function (v, k) {\n groups.update(grouper.call(context, v, k, iterable), 0, function (a) {\n return a + 1;\n });\n });\n return groups.asImmutable();\n }\n\n function groupByFactory(iterable, grouper, context) {\n var isKeyedIter = isKeyed(iterable);\n var groups = (isOrdered(iterable) ? OrderedMap() : Map()).asMutable();\n iterable.__iterate(function (v, k) {\n groups.update(grouper.call(context, v, k, iterable), function (a) {\n return a = a || [], a.push(isKeyedIter ? [k, v] : v), a;\n });\n });\n var coerce = iterableClass(iterable);\n return groups.map(function (arr) {\n return reify(iterable, coerce(arr));\n });\n }\n\n function sliceFactory(iterable, begin, end, useKeys) {\n var originalSize = iterable.size;\n\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin = begin | 0;\n }\n if (end !== undefined) {\n if (end === Infinity) {\n end = originalSize;\n } else {\n end = end | 0;\n }\n }\n\n if (wholeSlice(begin, end, originalSize)) {\n return iterable;\n }\n\n var resolvedBegin = resolveBegin(begin, originalSize);\n var resolvedEnd = resolveEnd(end, originalSize);\n\n // begin or end will be NaN if they were provided as negative numbers and\n // this iterable's size is unknown. In that case, cache first so there is\n // a known size and these do not resolve to NaN.\n if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) {\n return sliceFactory(iterable.toSeq().cacheResult(), begin, end, useKeys);\n }\n\n // Note: resolvedEnd is undefined when the original sequence's length is\n // unknown and this slice did not supply an end and should contain all\n // elements after resolvedBegin.\n // In that case, resolvedSize will be NaN and sliceSize will remain undefined.\n var resolvedSize = resolvedEnd - resolvedBegin;\n var sliceSize;\n if (resolvedSize === resolvedSize) {\n sliceSize = resolvedSize < 0 ? 0 : resolvedSize;\n }\n\n var sliceSeq = makeSequence(iterable);\n\n // If iterable.size is undefined, the size of the realized sliceSeq is\n // unknown at this point unless the number of items to slice is 0\n sliceSeq.size = sliceSize === 0 ? sliceSize : iterable.size && sliceSize || undefined;\n\n if (!useKeys && isSeq(iterable) && sliceSize >= 0) {\n sliceSeq.get = function (index, notSetValue) {\n index = wrapIndex(this, index);\n return index >= 0 && index < sliceSize ? iterable.get(index + resolvedBegin, notSetValue) : notSetValue;\n };\n }\n\n sliceSeq.__iterateUncached = function (fn, reverse) {\n var this$0 = this;\n if (sliceSize === 0) {\n return 0;\n }\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var skipped = 0;\n var isSkipping = true;\n var iterations = 0;\n iterable.__iterate(function (v, k) {\n if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0) !== false && iterations !== sliceSize;\n }\n });\n return iterations;\n };\n\n sliceSeq.__iteratorUncached = function (type, reverse) {\n if (sliceSize !== 0 && reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n // Don't bother instantiating parent iterator if taking 0.\n var iterator = sliceSize !== 0 && iterable.__iterator(type, reverse);\n var skipped = 0;\n var iterations = 0;\n return new Iterator(function () {\n while (skipped++ < resolvedBegin) {\n iterator.next();\n }\n if (++iterations > sliceSize) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n } else if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations - 1, undefined, step);\n } else {\n return iteratorValue(type, iterations - 1, step.value[1], step);\n }\n });\n };\n\n return sliceSeq;\n }\n\n function takeWhileFactory(iterable, predicate, context) {\n var takeSequence = makeSequence(iterable);\n takeSequence.__iterateUncached = function (fn, reverse) {\n var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n iterable.__iterate(function (v, k, c) {\n return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$0);\n });\n return iterations;\n };\n takeSequence.__iteratorUncached = function (type, reverse) {\n var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var iterating = true;\n return new Iterator(function () {\n if (!iterating) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var k = entry[0];\n var v = entry[1];\n if (!predicate.call(context, v, k, this$0)) {\n iterating = false;\n return iteratorDone();\n }\n return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step);\n });\n };\n return takeSequence;\n }\n\n function skipWhileFactory(iterable, predicate, context, useKeys) {\n var skipSequence = makeSequence(iterable);\n skipSequence.__iterateUncached = function (fn, reverse) {\n var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var isSkipping = true;\n var iterations = 0;\n iterable.__iterate(function (v, k, c) {\n if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0);\n }\n });\n return iterations;\n };\n skipSequence.__iteratorUncached = function (type, reverse) {\n var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var skipping = true;\n var iterations = 0;\n return new Iterator(function () {\n var step, k, v;\n do {\n step = iterator.next();\n if (step.done) {\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n } else if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations++, undefined, step);\n } else {\n return iteratorValue(type, iterations++, step.value[1], step);\n }\n }\n var entry = step.value;\n k = entry[0];\n v = entry[1];\n skipping && (skipping = predicate.call(context, v, k, this$0));\n } while (skipping);\n return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step);\n });\n };\n return skipSequence;\n }\n\n function concatFactory(iterable, values) {\n var isKeyedIterable = isKeyed(iterable);\n var iters = [iterable].concat(values).map(function (v) {\n if (!isIterable(v)) {\n v = isKeyedIterable ? keyedSeqFromValue(v) : indexedSeqFromValue(Array.isArray(v) ? v : [v]);\n } else if (isKeyedIterable) {\n v = KeyedIterable(v);\n }\n return v;\n }).filter(function (v) {\n return v.size !== 0;\n });\n\n if (iters.length === 0) {\n return iterable;\n }\n\n if (iters.length === 1) {\n var singleton = iters[0];\n if (singleton === iterable || isKeyedIterable && isKeyed(singleton) || isIndexed(iterable) && isIndexed(singleton)) {\n return singleton;\n }\n }\n\n var concatSeq = new ArraySeq(iters);\n if (isKeyedIterable) {\n concatSeq = concatSeq.toKeyedSeq();\n } else if (!isIndexed(iterable)) {\n concatSeq = concatSeq.toSetSeq();\n }\n concatSeq = concatSeq.flatten(true);\n concatSeq.size = iters.reduce(function (sum, seq) {\n if (sum !== undefined) {\n var size = seq.size;\n if (size !== undefined) {\n return sum + size;\n }\n }\n }, 0);\n return concatSeq;\n }\n\n function flattenFactory(iterable, depth, useKeys) {\n var flatSequence = makeSequence(iterable);\n flatSequence.__iterateUncached = function (fn, reverse) {\n var iterations = 0;\n var stopped = false;\n function flatDeep(iter, currentDepth) {\n var this$0 = this;\n iter.__iterate(function (v, k) {\n if ((!depth || currentDepth < depth) && isIterable(v)) {\n flatDeep(v, currentDepth + 1);\n } else if (fn(v, useKeys ? k : iterations++, this$0) === false) {\n stopped = true;\n }\n return !stopped;\n }, reverse);\n }\n flatDeep(iterable, 0);\n return iterations;\n };\n flatSequence.__iteratorUncached = function (type, reverse) {\n var iterator = iterable.__iterator(type, reverse);\n var stack = [];\n var iterations = 0;\n return new Iterator(function () {\n while (iterator) {\n var step = iterator.next();\n if (step.done !== false) {\n iterator = stack.pop();\n continue;\n }\n var v = step.value;\n if (type === ITERATE_ENTRIES) {\n v = v[1];\n }\n if ((!depth || stack.length < depth) && isIterable(v)) {\n stack.push(iterator);\n iterator = v.__iterator(type, reverse);\n } else {\n return useKeys ? step : iteratorValue(type, iterations++, v, step);\n }\n }\n return iteratorDone();\n });\n };\n return flatSequence;\n }\n\n function flatMapFactory(iterable, mapper, context) {\n var coerce = iterableClass(iterable);\n return iterable.toSeq().map(function (v, k) {\n return coerce(mapper.call(context, v, k, iterable));\n }).flatten(true);\n }\n\n function interposeFactory(iterable, separator) {\n var interposedSequence = makeSequence(iterable);\n interposedSequence.size = iterable.size && iterable.size * 2 - 1;\n interposedSequence.__iterateUncached = function (fn, reverse) {\n var this$0 = this;\n var iterations = 0;\n iterable.__iterate(function (v, k) {\n return (!iterations || fn(separator, iterations++, this$0) !== false) && fn(v, iterations++, this$0) !== false;\n }, reverse);\n return iterations;\n };\n interposedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = iterable.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n var step;\n return new Iterator(function () {\n if (!step || iterations % 2) {\n step = iterator.next();\n if (step.done) {\n return step;\n }\n }\n return iterations % 2 ? iteratorValue(type, iterations++, separator) : iteratorValue(type, iterations++, step.value, step);\n });\n };\n return interposedSequence;\n }\n\n function sortFactory(iterable, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n var isKeyedIterable = isKeyed(iterable);\n var index = 0;\n var entries = iterable.toSeq().map(function (v, k) {\n return [k, v, index++, mapper ? mapper(v, k, iterable) : v];\n }).toArray();\n entries.sort(function (a, b) {\n return comparator(a[3], b[3]) || a[2] - b[2];\n }).forEach(isKeyedIterable ? function (v, i) {\n entries[i].length = 2;\n } : function (v, i) {\n entries[i] = v[1];\n });\n return isKeyedIterable ? KeyedSeq(entries) : isIndexed(iterable) ? IndexedSeq(entries) : SetSeq(entries);\n }\n\n function maxFactory(iterable, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n if (mapper) {\n var entry = iterable.toSeq().map(function (v, k) {\n return [v, mapper(v, k, iterable)];\n }).reduce(function (a, b) {\n return maxCompare(comparator, a[1], b[1]) ? b : a;\n });\n return entry && entry[0];\n } else {\n return iterable.reduce(function (a, b) {\n return maxCompare(comparator, a, b) ? b : a;\n });\n }\n }\n\n function maxCompare(comparator, a, b) {\n var comp = comparator(b, a);\n // b is considered the new max if the comparator declares them equal, but\n // they are not equal and b is in fact a nullish value.\n return comp === 0 && b !== a && (b === undefined || b === null || b !== b) || comp > 0;\n }\n\n function zipWithFactory(keyIter, zipper, iters) {\n var zipSequence = makeSequence(keyIter);\n zipSequence.size = new ArraySeq(iters).map(function (i) {\n return i.size;\n }).min();\n // Note: this a generic base implementation of __iterate in terms of\n // __iterator which may be more generically useful in the future.\n zipSequence.__iterate = function (fn, reverse) {\n /* generic:\n var iterator = this.__iterator(ITERATE_ENTRIES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n iterations++;\n if (fn(step.value[1], step.value[0], this) === false) {\n break;\n }\n }\n return iterations;\n */\n // indexed:\n var iterator = this.__iterator(ITERATE_VALUES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n zipSequence.__iteratorUncached = function (type, reverse) {\n var iterators = iters.map(function (i) {\n return i = Iterable(i), getIterator(reverse ? i.reverse() : i);\n });\n var iterations = 0;\n var isDone = false;\n return new Iterator(function () {\n var steps;\n if (!isDone) {\n steps = iterators.map(function (i) {\n return i.next();\n });\n isDone = steps.some(function (s) {\n return s.done;\n });\n }\n if (isDone) {\n return iteratorDone();\n }\n return iteratorValue(type, iterations++, zipper.apply(null, steps.map(function (s) {\n return s.value;\n })));\n });\n };\n return zipSequence;\n }\n\n // #pragma Helper Functions\n\n function reify(iter, seq) {\n return isSeq(iter) ? seq : iter.constructor(seq);\n }\n\n function validateEntry(entry) {\n if (entry !== Object(entry)) {\n throw new TypeError('Expected [K, V] tuple: ' + entry);\n }\n }\n\n function resolveSize(iter) {\n assertNotInfinite(iter.size);\n return ensureSize(iter);\n }\n\n function iterableClass(iterable) {\n return isKeyed(iterable) ? KeyedIterable : isIndexed(iterable) ? IndexedIterable : SetIterable;\n }\n\n function makeSequence(iterable) {\n return Object.create((isKeyed(iterable) ? KeyedSeq : isIndexed(iterable) ? IndexedSeq : SetSeq).prototype);\n }\n\n function cacheResultThrough() {\n if (this._iter.cacheResult) {\n this._iter.cacheResult();\n this.size = this._iter.size;\n return this;\n } else {\n return Seq.prototype.cacheResult.call(this);\n }\n }\n\n function defaultComparator(a, b) {\n return a > b ? 1 : a < b ? -1 : 0;\n }\n\n function forceIterator(keyPath) {\n var iter = getIterator(keyPath);\n if (!iter) {\n // Array might not be iterable in this environment, so we need a fallback\n // to our wrapped type.\n if (!isArrayLike(keyPath)) {\n throw new TypeError('Expected iterable or array-like: ' + keyPath);\n }\n iter = getIterator(Iterable(keyPath));\n }\n return iter;\n }\n\n createClass(Record, KeyedCollection);\n\n function Record(defaultValues, name) {\n var hasInitialized;\n\n var RecordType = function Record(values) {\n if (values instanceof RecordType) {\n return values;\n }\n if (!(this instanceof RecordType)) {\n return new RecordType(values);\n }\n if (!hasInitialized) {\n hasInitialized = true;\n var keys = Object.keys(defaultValues);\n setProps(RecordTypePrototype, keys);\n RecordTypePrototype.size = keys.length;\n RecordTypePrototype._name = name;\n RecordTypePrototype._keys = keys;\n RecordTypePrototype._defaultValues = defaultValues;\n }\n this._map = Map(values);\n };\n\n var RecordTypePrototype = RecordType.prototype = Object.create(RecordPrototype);\n RecordTypePrototype.constructor = RecordType;\n\n return RecordType;\n }\n\n Record.prototype.toString = function () {\n return this.__toString(recordName(this) + ' {', '}');\n };\n\n // @pragma Access\n\n Record.prototype.has = function (k) {\n return this._defaultValues.hasOwnProperty(k);\n };\n\n Record.prototype.get = function (k, notSetValue) {\n if (!this.has(k)) {\n return notSetValue;\n }\n var defaultVal = this._defaultValues[k];\n return this._map ? this._map.get(k, defaultVal) : defaultVal;\n };\n\n // @pragma Modification\n\n Record.prototype.clear = function () {\n if (this.__ownerID) {\n this._map && this._map.clear();\n return this;\n }\n var RecordType = this.constructor;\n return RecordType._empty || (RecordType._empty = makeRecord(this, emptyMap()));\n };\n\n Record.prototype.set = function (k, v) {\n if (!this.has(k)) {\n throw new Error('Cannot set unknown key \"' + k + '\" on ' + recordName(this));\n }\n if (this._map && !this._map.has(k)) {\n var defaultVal = this._defaultValues[k];\n if (v === defaultVal) {\n return this;\n }\n }\n var newMap = this._map && this._map.set(k, v);\n if (this.__ownerID || newMap === this._map) {\n return this;\n }\n return makeRecord(this, newMap);\n };\n\n Record.prototype.remove = function (k) {\n if (!this.has(k)) {\n return this;\n }\n var newMap = this._map && this._map.remove(k);\n if (this.__ownerID || newMap === this._map) {\n return this;\n }\n return makeRecord(this, newMap);\n };\n\n Record.prototype.wasAltered = function () {\n return this._map.wasAltered();\n };\n\n Record.prototype.__iterator = function (type, reverse) {\n var this$0 = this;\n return KeyedIterable(this._defaultValues).map(function (_, k) {\n return this$0.get(k);\n }).__iterator(type, reverse);\n };\n\n Record.prototype.__iterate = function (fn, reverse) {\n var this$0 = this;\n return KeyedIterable(this._defaultValues).map(function (_, k) {\n return this$0.get(k);\n }).__iterate(fn, reverse);\n };\n\n Record.prototype.__ensureOwner = function (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map && this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return makeRecord(this, newMap, ownerID);\n };\n\n var RecordPrototype = Record.prototype;\n RecordPrototype[DELETE] = RecordPrototype.remove;\n RecordPrototype.deleteIn = RecordPrototype.removeIn = MapPrototype.removeIn;\n RecordPrototype.merge = MapPrototype.merge;\n RecordPrototype.mergeWith = MapPrototype.mergeWith;\n RecordPrototype.mergeIn = MapPrototype.mergeIn;\n RecordPrototype.mergeDeep = MapPrototype.mergeDeep;\n RecordPrototype.mergeDeepWith = MapPrototype.mergeDeepWith;\n RecordPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;\n RecordPrototype.setIn = MapPrototype.setIn;\n RecordPrototype.update = MapPrototype.update;\n RecordPrototype.updateIn = MapPrototype.updateIn;\n RecordPrototype.withMutations = MapPrototype.withMutations;\n RecordPrototype.asMutable = MapPrototype.asMutable;\n RecordPrototype.asImmutable = MapPrototype.asImmutable;\n\n function makeRecord(likeRecord, map, ownerID) {\n var record = Object.create(Object.getPrototypeOf(likeRecord));\n record._map = map;\n record.__ownerID = ownerID;\n return record;\n }\n\n function recordName(record) {\n return record._name || record.constructor.name || 'Record';\n }\n\n function setProps(prototype, names) {\n try {\n names.forEach(setProp.bind(undefined, prototype));\n } catch (error) {\n // Object.defineProperty failed. Probably IE8.\n }\n }\n\n function setProp(prototype, name) {\n Object.defineProperty(prototype, name, {\n get: function () {\n return this.get(name);\n },\n set: function (value) {\n invariant(this.__ownerID, 'Cannot set on an immutable record.');\n this.set(name, value);\n }\n });\n }\n\n createClass(Set, SetCollection);\n\n // @pragma Construction\n\n function Set(value) {\n return value === null || value === undefined ? emptySet() : isSet(value) && !isOrdered(value) ? value : emptySet().withMutations(function (set) {\n var iter = SetIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v) {\n return set.add(v);\n });\n });\n }\n\n Set.of = function () /*...values*/{\n return this(arguments);\n };\n\n Set.fromKeys = function (value) {\n return this(KeyedIterable(value).keySeq());\n };\n\n Set.prototype.toString = function () {\n return this.__toString('Set {', '}');\n };\n\n // @pragma Access\n\n Set.prototype.has = function (value) {\n return this._map.has(value);\n };\n\n // @pragma Modification\n\n Set.prototype.add = function (value) {\n return updateSet(this, this._map.set(value, true));\n };\n\n Set.prototype.remove = function (value) {\n return updateSet(this, this._map.remove(value));\n };\n\n Set.prototype.clear = function () {\n return updateSet(this, this._map.clear());\n };\n\n // @pragma Composition\n\n Set.prototype.union = function () {\n var iters = SLICE$0.call(arguments, 0);\n iters = iters.filter(function (x) {\n return x.size !== 0;\n });\n if (iters.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && iters.length === 1) {\n return this.constructor(iters[0]);\n }\n return this.withMutations(function (set) {\n for (var ii = 0; ii < iters.length; ii++) {\n SetIterable(iters[ii]).forEach(function (value) {\n return set.add(value);\n });\n }\n });\n };\n\n Set.prototype.intersect = function () {\n var iters = SLICE$0.call(arguments, 0);\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function (iter) {\n return SetIterable(iter);\n });\n var originalSet = this;\n return this.withMutations(function (set) {\n originalSet.forEach(function (value) {\n if (!iters.every(function (iter) {\n return iter.includes(value);\n })) {\n set.remove(value);\n }\n });\n });\n };\n\n Set.prototype.subtract = function () {\n var iters = SLICE$0.call(arguments, 0);\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function (iter) {\n return SetIterable(iter);\n });\n var originalSet = this;\n return this.withMutations(function (set) {\n originalSet.forEach(function (value) {\n if (iters.some(function (iter) {\n return iter.includes(value);\n })) {\n set.remove(value);\n }\n });\n });\n };\n\n Set.prototype.merge = function () {\n return this.union.apply(this, arguments);\n };\n\n Set.prototype.mergeWith = function (merger) {\n var iters = SLICE$0.call(arguments, 1);\n return this.union.apply(this, iters);\n };\n\n Set.prototype.sort = function (comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator));\n };\n\n Set.prototype.sortBy = function (mapper, comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator, mapper));\n };\n\n Set.prototype.wasAltered = function () {\n return this._map.wasAltered();\n };\n\n Set.prototype.__iterate = function (fn, reverse) {\n var this$0 = this;\n return this._map.__iterate(function (_, k) {\n return fn(k, k, this$0);\n }, reverse);\n };\n\n Set.prototype.__iterator = function (type, reverse) {\n return this._map.map(function (_, k) {\n return k;\n }).__iterator(type, reverse);\n };\n\n Set.prototype.__ensureOwner = function (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return this.__make(newMap, ownerID);\n };\n\n function isSet(maybeSet) {\n return !!(maybeSet && maybeSet[IS_SET_SENTINEL]);\n }\n\n Set.isSet = isSet;\n\n var IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';\n\n var SetPrototype = Set.prototype;\n SetPrototype[IS_SET_SENTINEL] = true;\n SetPrototype[DELETE] = SetPrototype.remove;\n SetPrototype.mergeDeep = SetPrototype.merge;\n SetPrototype.mergeDeepWith = SetPrototype.mergeWith;\n SetPrototype.withMutations = MapPrototype.withMutations;\n SetPrototype.asMutable = MapPrototype.asMutable;\n SetPrototype.asImmutable = MapPrototype.asImmutable;\n\n SetPrototype.__empty = emptySet;\n SetPrototype.__make = makeSet;\n\n function updateSet(set, newMap) {\n if (set.__ownerID) {\n set.size = newMap.size;\n set._map = newMap;\n return set;\n }\n return newMap === set._map ? set : newMap.size === 0 ? set.__empty() : set.__make(newMap);\n }\n\n function makeSet(map, ownerID) {\n var set = Object.create(SetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n }\n\n var EMPTY_SET;\n function emptySet() {\n return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap()));\n }\n\n createClass(OrderedSet, Set);\n\n // @pragma Construction\n\n function OrderedSet(value) {\n return value === null || value === undefined ? emptyOrderedSet() : isOrderedSet(value) ? value : emptyOrderedSet().withMutations(function (set) {\n var iter = SetIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v) {\n return set.add(v);\n });\n });\n }\n\n OrderedSet.of = function () /*...values*/{\n return this(arguments);\n };\n\n OrderedSet.fromKeys = function (value) {\n return this(KeyedIterable(value).keySeq());\n };\n\n OrderedSet.prototype.toString = function () {\n return this.__toString('OrderedSet {', '}');\n };\n\n function isOrderedSet(maybeOrderedSet) {\n return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);\n }\n\n OrderedSet.isOrderedSet = isOrderedSet;\n\n var OrderedSetPrototype = OrderedSet.prototype;\n OrderedSetPrototype[IS_ORDERED_SENTINEL] = true;\n\n OrderedSetPrototype.__empty = emptyOrderedSet;\n OrderedSetPrototype.__make = makeOrderedSet;\n\n function makeOrderedSet(map, ownerID) {\n var set = Object.create(OrderedSetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n }\n\n var EMPTY_ORDERED_SET;\n function emptyOrderedSet() {\n return EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap()));\n }\n\n createClass(Stack, IndexedCollection);\n\n // @pragma Construction\n\n function Stack(value) {\n return value === null || value === undefined ? emptyStack() : isStack(value) ? value : emptyStack().unshiftAll(value);\n }\n\n Stack.of = function () /*...values*/{\n return this(arguments);\n };\n\n Stack.prototype.toString = function () {\n return this.__toString('Stack [', ']');\n };\n\n // @pragma Access\n\n Stack.prototype.get = function (index, notSetValue) {\n var head = this._head;\n index = wrapIndex(this, index);\n while (head && index--) {\n head = head.next;\n }\n return head ? head.value : notSetValue;\n };\n\n Stack.prototype.peek = function () {\n return this._head && this._head.value;\n };\n\n // @pragma Modification\n\n Stack.prototype.push = function () /*...values*/{\n if (arguments.length === 0) {\n return this;\n }\n var newSize = this.size + arguments.length;\n var head = this._head;\n for (var ii = arguments.length - 1; ii >= 0; ii--) {\n head = {\n value: arguments[ii],\n next: head\n };\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pushAll = function (iter) {\n iter = IndexedIterable(iter);\n if (iter.size === 0) {\n return this;\n }\n assertNotInfinite(iter.size);\n var newSize = this.size;\n var head = this._head;\n iter.reverse().forEach(function (value) {\n newSize++;\n head = {\n value: value,\n next: head\n };\n });\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pop = function () {\n return this.slice(1);\n };\n\n Stack.prototype.unshift = function () /*...values*/{\n return this.push.apply(this, arguments);\n };\n\n Stack.prototype.unshiftAll = function (iter) {\n return this.pushAll(iter);\n };\n\n Stack.prototype.shift = function () {\n return this.pop.apply(this, arguments);\n };\n\n Stack.prototype.clear = function () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._head = undefined;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyStack();\n };\n\n Stack.prototype.slice = function (begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n var resolvedBegin = resolveBegin(begin, this.size);\n var resolvedEnd = resolveEnd(end, this.size);\n if (resolvedEnd !== this.size) {\n // super.slice(begin, end);\n return IndexedCollection.prototype.slice.call(this, begin, end);\n }\n var newSize = this.size - resolvedBegin;\n var head = this._head;\n while (resolvedBegin--) {\n head = head.next;\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n // @pragma Mutability\n\n Stack.prototype.__ensureOwner = function (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeStack(this.size, this._head, ownerID, this.__hash);\n };\n\n // @pragma Iteration\n\n Stack.prototype.__iterate = function (fn, reverse) {\n if (reverse) {\n return this.reverse().__iterate(fn);\n }\n var iterations = 0;\n var node = this._head;\n while (node) {\n if (fn(node.value, iterations++, this) === false) {\n break;\n }\n node = node.next;\n }\n return iterations;\n };\n\n Stack.prototype.__iterator = function (type, reverse) {\n if (reverse) {\n return this.reverse().__iterator(type);\n }\n var iterations = 0;\n var node = this._head;\n return new Iterator(function () {\n if (node) {\n var value = node.value;\n node = node.next;\n return iteratorValue(type, iterations++, value);\n }\n return iteratorDone();\n });\n };\n\n function isStack(maybeStack) {\n return !!(maybeStack && maybeStack[IS_STACK_SENTINEL]);\n }\n\n Stack.isStack = isStack;\n\n var IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';\n\n var StackPrototype = Stack.prototype;\n StackPrototype[IS_STACK_SENTINEL] = true;\n StackPrototype.withMutations = MapPrototype.withMutations;\n StackPrototype.asMutable = MapPrototype.asMutable;\n StackPrototype.asImmutable = MapPrototype.asImmutable;\n StackPrototype.wasAltered = MapPrototype.wasAltered;\n\n function makeStack(size, head, ownerID, hash) {\n var map = Object.create(StackPrototype);\n map.size = size;\n map._head = head;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n }\n\n var EMPTY_STACK;\n function emptyStack() {\n return EMPTY_STACK || (EMPTY_STACK = makeStack(0));\n }\n\n /**\n * Contributes additional methods to a constructor\n */\n function mixin(ctor, methods) {\n var keyCopier = function (key) {\n ctor.prototype[key] = methods[key];\n };\n Object.keys(methods).forEach(keyCopier);\n Object.getOwnPropertySymbols && Object.getOwnPropertySymbols(methods).forEach(keyCopier);\n return ctor;\n }\n\n Iterable.Iterator = Iterator;\n\n mixin(Iterable, {\n\n // ### Conversion to other types\n\n toArray: function () {\n assertNotInfinite(this.size);\n var array = new Array(this.size || 0);\n this.valueSeq().__iterate(function (v, i) {\n array[i] = v;\n });\n return array;\n },\n\n toIndexedSeq: function () {\n return new ToIndexedSequence(this);\n },\n\n toJS: function () {\n return this.toSeq().map(function (value) {\n return value && typeof value.toJS === 'function' ? value.toJS() : value;\n }).__toJS();\n },\n\n toJSON: function () {\n return this.toSeq().map(function (value) {\n return value && typeof value.toJSON === 'function' ? value.toJSON() : value;\n }).__toJS();\n },\n\n toKeyedSeq: function () {\n return new ToKeyedSequence(this, true);\n },\n\n toMap: function () {\n // Use Late Binding here to solve the circular dependency.\n return Map(this.toKeyedSeq());\n },\n\n toObject: function () {\n assertNotInfinite(this.size);\n var object = {};\n this.__iterate(function (v, k) {\n object[k] = v;\n });\n return object;\n },\n\n toOrderedMap: function () {\n // Use Late Binding here to solve the circular dependency.\n return OrderedMap(this.toKeyedSeq());\n },\n\n toOrderedSet: function () {\n // Use Late Binding here to solve the circular dependency.\n return OrderedSet(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSet: function () {\n // Use Late Binding here to solve the circular dependency.\n return Set(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSetSeq: function () {\n return new ToSetSequence(this);\n },\n\n toSeq: function () {\n return isIndexed(this) ? this.toIndexedSeq() : isKeyed(this) ? this.toKeyedSeq() : this.toSetSeq();\n },\n\n toStack: function () {\n // Use Late Binding here to solve the circular dependency.\n return Stack(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toList: function () {\n // Use Late Binding here to solve the circular dependency.\n return List(isKeyed(this) ? this.valueSeq() : this);\n },\n\n // ### Common JavaScript methods and properties\n\n toString: function () {\n return '[Iterable]';\n },\n\n __toString: function (head, tail) {\n if (this.size === 0) {\n return head + tail;\n }\n return head + ' ' + this.toSeq().map(this.__toStringMapper).join(', ') + ' ' + tail;\n },\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n concat: function () {\n var values = SLICE$0.call(arguments, 0);\n return reify(this, concatFactory(this, values));\n },\n\n includes: function (searchValue) {\n return this.some(function (value) {\n return is(value, searchValue);\n });\n },\n\n entries: function () {\n return this.__iterator(ITERATE_ENTRIES);\n },\n\n every: function (predicate, context) {\n assertNotInfinite(this.size);\n var returnValue = true;\n this.__iterate(function (v, k, c) {\n if (!predicate.call(context, v, k, c)) {\n returnValue = false;\n return false;\n }\n });\n return returnValue;\n },\n\n filter: function (predicate, context) {\n return reify(this, filterFactory(this, predicate, context, true));\n },\n\n find: function (predicate, context, notSetValue) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[1] : notSetValue;\n },\n\n forEach: function (sideEffect, context) {\n assertNotInfinite(this.size);\n return this.__iterate(context ? sideEffect.bind(context) : sideEffect);\n },\n\n join: function (separator) {\n assertNotInfinite(this.size);\n separator = separator !== undefined ? '' + separator : ',';\n var joined = '';\n var isFirst = true;\n this.__iterate(function (v) {\n isFirst ? isFirst = false : joined += separator;\n joined += v !== null && v !== undefined ? v.toString() : '';\n });\n return joined;\n },\n\n keys: function () {\n return this.__iterator(ITERATE_KEYS);\n },\n\n map: function (mapper, context) {\n return reify(this, mapFactory(this, mapper, context));\n },\n\n reduce: function (reducer, initialReduction, context) {\n assertNotInfinite(this.size);\n var reduction;\n var useFirst;\n if (arguments.length < 2) {\n useFirst = true;\n } else {\n reduction = initialReduction;\n }\n this.__iterate(function (v, k, c) {\n if (useFirst) {\n useFirst = false;\n reduction = v;\n } else {\n reduction = reducer.call(context, reduction, v, k, c);\n }\n });\n return reduction;\n },\n\n reduceRight: function (reducer, initialReduction, context) {\n var reversed = this.toKeyedSeq().reverse();\n return reversed.reduce.apply(reversed, arguments);\n },\n\n reverse: function () {\n return reify(this, reverseFactory(this, true));\n },\n\n slice: function (begin, end) {\n return reify(this, sliceFactory(this, begin, end, true));\n },\n\n some: function (predicate, context) {\n return !this.every(not(predicate), context);\n },\n\n sort: function (comparator) {\n return reify(this, sortFactory(this, comparator));\n },\n\n values: function () {\n return this.__iterator(ITERATE_VALUES);\n },\n\n // ### More sequential methods\n\n butLast: function () {\n return this.slice(0, -1);\n },\n\n isEmpty: function () {\n return this.size !== undefined ? this.size === 0 : !this.some(function () {\n return true;\n });\n },\n\n count: function (predicate, context) {\n return ensureSize(predicate ? this.toSeq().filter(predicate, context) : this);\n },\n\n countBy: function (grouper, context) {\n return countByFactory(this, grouper, context);\n },\n\n equals: function (other) {\n return deepEqual(this, other);\n },\n\n entrySeq: function () {\n var iterable = this;\n if (iterable._cache) {\n // We cache as an entries array, so we can just return the cache!\n return new ArraySeq(iterable._cache);\n }\n var entriesSequence = iterable.toSeq().map(entryMapper).toIndexedSeq();\n entriesSequence.fromEntrySeq = function () {\n return iterable.toSeq();\n };\n return entriesSequence;\n },\n\n filterNot: function (predicate, context) {\n return this.filter(not(predicate), context);\n },\n\n findEntry: function (predicate, context, notSetValue) {\n var found = notSetValue;\n this.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n found = [k, v];\n return false;\n }\n });\n return found;\n },\n\n findKey: function (predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry && entry[0];\n },\n\n findLast: function (predicate, context, notSetValue) {\n return this.toKeyedSeq().reverse().find(predicate, context, notSetValue);\n },\n\n findLastEntry: function (predicate, context, notSetValue) {\n return this.toKeyedSeq().reverse().findEntry(predicate, context, notSetValue);\n },\n\n findLastKey: function (predicate, context) {\n return this.toKeyedSeq().reverse().findKey(predicate, context);\n },\n\n first: function () {\n return this.find(returnTrue);\n },\n\n flatMap: function (mapper, context) {\n return reify(this, flatMapFactory(this, mapper, context));\n },\n\n flatten: function (depth) {\n return reify(this, flattenFactory(this, depth, true));\n },\n\n fromEntrySeq: function () {\n return new FromEntriesSequence(this);\n },\n\n get: function (searchKey, notSetValue) {\n return this.find(function (_, key) {\n return is(key, searchKey);\n }, undefined, notSetValue);\n },\n\n getIn: function (searchKeyPath, notSetValue) {\n var nested = this;\n // Note: in an ES6 environment, we would prefer:\n // for (var key of searchKeyPath) {\n var iter = forceIterator(searchKeyPath);\n var step;\n while (!(step = iter.next()).done) {\n var key = step.value;\n nested = nested && nested.get ? nested.get(key, NOT_SET) : NOT_SET;\n if (nested === NOT_SET) {\n return notSetValue;\n }\n }\n return nested;\n },\n\n groupBy: function (grouper, context) {\n return groupByFactory(this, grouper, context);\n },\n\n has: function (searchKey) {\n return this.get(searchKey, NOT_SET) !== NOT_SET;\n },\n\n hasIn: function (searchKeyPath) {\n return this.getIn(searchKeyPath, NOT_SET) !== NOT_SET;\n },\n\n isSubset: function (iter) {\n iter = typeof iter.includes === 'function' ? iter : Iterable(iter);\n return this.every(function (value) {\n return iter.includes(value);\n });\n },\n\n isSuperset: function (iter) {\n iter = typeof iter.isSubset === 'function' ? iter : Iterable(iter);\n return iter.isSubset(this);\n },\n\n keyOf: function (searchValue) {\n return this.findKey(function (value) {\n return is(value, searchValue);\n });\n },\n\n keySeq: function () {\n return this.toSeq().map(keyMapper).toIndexedSeq();\n },\n\n last: function () {\n return this.toSeq().reverse().first();\n },\n\n lastKeyOf: function (searchValue) {\n return this.toKeyedSeq().reverse().keyOf(searchValue);\n },\n\n max: function (comparator) {\n return maxFactory(this, comparator);\n },\n\n maxBy: function (mapper, comparator) {\n return maxFactory(this, comparator, mapper);\n },\n\n min: function (comparator) {\n return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator);\n },\n\n minBy: function (mapper, comparator) {\n return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator, mapper);\n },\n\n rest: function () {\n return this.slice(1);\n },\n\n skip: function (amount) {\n return this.slice(Math.max(0, amount));\n },\n\n skipLast: function (amount) {\n return reify(this, this.toSeq().reverse().skip(amount).reverse());\n },\n\n skipWhile: function (predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, true));\n },\n\n skipUntil: function (predicate, context) {\n return this.skipWhile(not(predicate), context);\n },\n\n sortBy: function (mapper, comparator) {\n return reify(this, sortFactory(this, comparator, mapper));\n },\n\n take: function (amount) {\n return this.slice(0, Math.max(0, amount));\n },\n\n takeLast: function (amount) {\n return reify(this, this.toSeq().reverse().take(amount).reverse());\n },\n\n takeWhile: function (predicate, context) {\n return reify(this, takeWhileFactory(this, predicate, context));\n },\n\n takeUntil: function (predicate, context) {\n return this.takeWhile(not(predicate), context);\n },\n\n valueSeq: function () {\n return this.toIndexedSeq();\n },\n\n // ### Hashable Object\n\n hashCode: function () {\n return this.__hash || (this.__hash = hashIterable(this));\n }\n\n // ### Internal\n\n // abstract __iterate(fn, reverse)\n\n // abstract __iterator(type, reverse)\n });\n\n // var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\n // var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\n // var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';\n // var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\n\n var IterablePrototype = Iterable.prototype;\n IterablePrototype[IS_ITERABLE_SENTINEL] = true;\n IterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.values;\n IterablePrototype.__toJS = IterablePrototype.toArray;\n IterablePrototype.__toStringMapper = quoteString;\n IterablePrototype.inspect = IterablePrototype.toSource = function () {\n return this.toString();\n };\n IterablePrototype.chain = IterablePrototype.flatMap;\n IterablePrototype.contains = IterablePrototype.includes;\n\n mixin(KeyedIterable, {\n\n // ### More sequential methods\n\n flip: function () {\n return reify(this, flipFactory(this));\n },\n\n mapEntries: function (mapper, context) {\n var this$0 = this;\n var iterations = 0;\n return reify(this, this.toSeq().map(function (v, k) {\n return mapper.call(context, [k, v], iterations++, this$0);\n }).fromEntrySeq());\n },\n\n mapKeys: function (mapper, context) {\n var this$0 = this;\n return reify(this, this.toSeq().flip().map(function (k, v) {\n return mapper.call(context, k, v, this$0);\n }).flip());\n }\n\n });\n\n var KeyedIterablePrototype = KeyedIterable.prototype;\n KeyedIterablePrototype[IS_KEYED_SENTINEL] = true;\n KeyedIterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.entries;\n KeyedIterablePrototype.__toJS = IterablePrototype.toObject;\n KeyedIterablePrototype.__toStringMapper = function (v, k) {\n return JSON.stringify(k) + ': ' + quoteString(v);\n };\n\n mixin(IndexedIterable, {\n\n // ### Conversion to other types\n\n toKeyedSeq: function () {\n return new ToKeyedSequence(this, false);\n },\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n filter: function (predicate, context) {\n return reify(this, filterFactory(this, predicate, context, false));\n },\n\n findIndex: function (predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n indexOf: function (searchValue) {\n var key = this.keyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n lastIndexOf: function (searchValue) {\n var key = this.lastKeyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n reverse: function () {\n return reify(this, reverseFactory(this, false));\n },\n\n slice: function (begin, end) {\n return reify(this, sliceFactory(this, begin, end, false));\n },\n\n splice: function (index, removeNum /*, ...values*/) {\n var numArgs = arguments.length;\n removeNum = Math.max(removeNum | 0, 0);\n if (numArgs === 0 || numArgs === 2 && !removeNum) {\n return this;\n }\n // If index is negative, it should resolve relative to the size of the\n // collection. However size may be expensive to compute if not cached, so\n // only call count() if the number is in fact negative.\n index = resolveBegin(index, index < 0 ? this.count() : this.size);\n var spliced = this.slice(0, index);\n return reify(this, numArgs === 1 ? spliced : spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum)));\n },\n\n // ### More collection methods\n\n findLastIndex: function (predicate, context) {\n var entry = this.findLastEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n first: function () {\n return this.get(0);\n },\n\n flatten: function (depth) {\n return reify(this, flattenFactory(this, depth, false));\n },\n\n get: function (index, notSetValue) {\n index = wrapIndex(this, index);\n return index < 0 || this.size === Infinity || this.size !== undefined && index > this.size ? notSetValue : this.find(function (_, key) {\n return key === index;\n }, undefined, notSetValue);\n },\n\n has: function (index) {\n index = wrapIndex(this, index);\n return index >= 0 && (this.size !== undefined ? this.size === Infinity || index < this.size : this.indexOf(index) !== -1);\n },\n\n interpose: function (separator) {\n return reify(this, interposeFactory(this, separator));\n },\n\n interleave: function () /*...iterables*/{\n var iterables = [this].concat(arrCopy(arguments));\n var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, iterables);\n var interleaved = zipped.flatten(true);\n if (zipped.size) {\n interleaved.size = zipped.size * iterables.length;\n }\n return reify(this, interleaved);\n },\n\n keySeq: function () {\n return Range(0, this.size);\n },\n\n last: function () {\n return this.get(-1);\n },\n\n skipWhile: function (predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, false));\n },\n\n zip: function () /*, ...iterables */{\n var iterables = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, iterables));\n },\n\n zipWith: function (zipper /*, ...iterables */) {\n var iterables = arrCopy(arguments);\n iterables[0] = this;\n return reify(this, zipWithFactory(this, zipper, iterables));\n }\n\n });\n\n IndexedIterable.prototype[IS_INDEXED_SENTINEL] = true;\n IndexedIterable.prototype[IS_ORDERED_SENTINEL] = true;\n\n mixin(SetIterable, {\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n get: function (value, notSetValue) {\n return this.has(value) ? value : notSetValue;\n },\n\n includes: function (value) {\n return this.has(value);\n },\n\n // ### More sequential methods\n\n keySeq: function () {\n return this.valueSeq();\n }\n\n });\n\n SetIterable.prototype.has = IterablePrototype.includes;\n SetIterable.prototype.contains = SetIterable.prototype.includes;\n\n // Mixin subclasses\n\n mixin(KeyedSeq, KeyedIterable.prototype);\n mixin(IndexedSeq, IndexedIterable.prototype);\n mixin(SetSeq, SetIterable.prototype);\n\n mixin(KeyedCollection, KeyedIterable.prototype);\n mixin(IndexedCollection, IndexedIterable.prototype);\n mixin(SetCollection, SetIterable.prototype);\n\n // #pragma Helper functions\n\n function keyMapper(v, k) {\n return k;\n }\n\n function entryMapper(v, k) {\n return [k, v];\n }\n\n function not(predicate) {\n return function () {\n return !predicate.apply(this, arguments);\n };\n }\n\n function neg(predicate) {\n return function () {\n return -predicate.apply(this, arguments);\n };\n }\n\n function quoteString(value) {\n return typeof value === 'string' ? JSON.stringify(value) : String(value);\n }\n\n function defaultZipper() {\n return arrCopy(arguments);\n }\n\n function defaultNegComparator(a, b) {\n return a < b ? 1 : a > b ? -1 : 0;\n }\n\n function hashIterable(iterable) {\n if (iterable.size === Infinity) {\n return 0;\n }\n var ordered = isOrdered(iterable);\n var keyed = isKeyed(iterable);\n var h = ordered ? 1 : 0;\n var size = iterable.__iterate(keyed ? ordered ? function (v, k) {\n h = 31 * h + hashMerge(hash(v), hash(k)) | 0;\n } : function (v, k) {\n h = h + hashMerge(hash(v), hash(k)) | 0;\n } : ordered ? function (v) {\n h = 31 * h + hash(v) | 0;\n } : function (v) {\n h = h + hash(v) | 0;\n });\n return murmurHashOfSize(size, h);\n }\n\n function murmurHashOfSize(size, h) {\n h = imul(h, 0xCC9E2D51);\n h = imul(h << 15 | h >>> -15, 0x1B873593);\n h = imul(h << 13 | h >>> -13, 5);\n h = (h + 0xE6546B64 | 0) ^ size;\n h = imul(h ^ h >>> 16, 0x85EBCA6B);\n h = imul(h ^ h >>> 13, 0xC2B2AE35);\n h = smi(h ^ h >>> 16);\n return h;\n }\n\n function hashMerge(a, b) {\n return a ^ b + 0x9E3779B9 + (a << 6) + (a >> 2) | 0; // int\n }\n\n var Immutable = {\n\n Iterable: Iterable,\n\n Seq: Seq,\n Collection: Collection,\n Map: Map,\n OrderedMap: OrderedMap,\n List: List,\n Stack: Stack,\n Set: Set,\n OrderedSet: OrderedSet,\n\n Record: Record,\n Range: Range,\n Repeat: Repeat,\n\n is: is,\n fromJS: fromJS\n\n };\n\n return Immutable;\n});" + }, + { + "id": 9, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/index.js", + "name": "./node_modules/react-redux/es/index.js", + "index": 162, + "index2": 200, + "size": 230, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 147, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/bundle_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/bundle_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/bundle_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "2:0-38" + }, + { + "moduleId": 206, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/loading_bar.js", + "module": "./node_modules/react-redux-loading-bar/build/loading_bar.js", + "moduleName": "./node_modules/react-redux-loading-bar/build/loading_bar.js", + "type": "cjs require", + "userRequest": "react-redux", + "loc": "34:18-40" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "6:0-39" + }, + { + "moduleId": 251, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/notifications_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 254, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/loading_bar_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/loading_bar_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/loading_bar_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 256, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/modal_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/modal_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/modal_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "3:0-38" + }, + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 284, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/dropdown_menu_container.js", + "module": "./app/javascript/mastodon/containers/dropdown_menu_container.js", + "moduleName": "./app/javascript/mastodon/containers/dropdown_menu_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "2:0-38" + }, + { + "moduleId": 288, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 291, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 295, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "12:0-38" + }, + { + "moduleId": 298, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 300, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "6:0-38" + }, + { + "moduleId": 303, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 305, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_form_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 307, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_progress_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 309, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "3:0-38" + }, + { + "moduleId": 315, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "6:0-39" + }, + { + "moduleId": 413, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/immutable.js", + "module": "./node_modules/react-redux-loading-bar/build/immutable.js", + "moduleName": "./node_modules/react-redux-loading-bar/build/immutable.js", + "type": "cjs require", + "userRequest": "react-redux", + "loc": "7:18-40" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "15:0-38" + }, + { + "moduleId": 644, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/columns_area_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/columns_area_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/columns_area_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "6:0-39" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "12:0-38" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "10:0-38" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "13:0-38" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "9:0-38" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "3:0-38" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "3:0-38" + }, + { + "moduleId": 879, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/navigation_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 880, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 881, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_results_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/search_results_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/search_results_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 883, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/notification_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/notification_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/notification_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 885, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 888, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 890, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 891, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 894, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/containers/card_container.js", + "module": "./app/javascript/mastodon/features/status/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/features/status/containers/card_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 899, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "module": "./app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + }, + { + "moduleId": 901, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "module": "./app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "moduleName": "./app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "type": "harmony import", + "userRequest": "react-redux", + "loc": "1:0-38" + } + ], + "usedExports": true, + "providedExports": [ + "Provider", + "createProvider", + "connectAdvanced", + "connect" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import Provider, { createProvider } from './components/Provider';\nimport connectAdvanced from './components/connectAdvanced';\nimport connect from './connect/connect';\n\nexport { Provider, createProvider, connectAdvanced, connect };" + }, + { + "id": 10, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/classnames/index.js", + "name": "./node_modules/classnames/index.js", + "index": 365, + "index2": 357, + "size": 1100, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "issuerId": 159, + "issuerName": "./app/javascript/mastodon/components/media_gallery.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 19, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "module": "./app/javascript/mastodon/components/icon_button.js", + "moduleName": "./app/javascript/mastodon/components/icon_button.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "12:0-36" + }, + { + "moduleId": 98, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "module": "./app/javascript/mastodon/components/column_header.js", + "moduleName": "./app/javascript/mastodon/components/column_header.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "10:0-36" + }, + { + "moduleId": 101, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/button.js", + "module": "./app/javascript/mastodon/components/button.js", + "moduleName": "./app/javascript/mastodon/components/button.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "9:0-36" + }, + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "14:0-36" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "13:0-36" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "24:0-36" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "15:0-36" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "17:0-36" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "17:0-36" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "16:0-36" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "8:0-36" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "13:0-36" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "16:0-36" + }, + { + "moduleId": 316, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/card.js", + "module": "./app/javascript/mastodon/features/status/components/card.js", + "moduleName": "./app/javascript/mastodon/features/status/components/card.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "11:0-36" + }, + { + "moduleId": 488, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "module": "./node_modules/react-overlays/lib/Position.js", + "moduleName": "./node_modules/react-overlays/lib/Position.js", + "type": "cjs require", + "userRequest": "classnames", + "loc": "15:18-39" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "17:0-36" + }, + { + "moduleId": 638, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/image_loader.js", + "module": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "11:0-36" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "11:0-36" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "classnames", + "loc": "13:0-36" + }, + { + "moduleId": 790, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-toggle/dist/component/index.js", + "module": "./node_modules/react-toggle/dist/component/index.js", + "moduleName": "./node_modules/react-toggle/dist/component/index.js", + "type": "cjs require", + "userRequest": "classnames", + "loc": "31:18-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(null, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n})();" + }, + { + "id": 11, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-immutable-pure-component/lib/react-immutable-pure-component.js", + "name": "./node_modules/react-immutable-pure-component/lib/react-immutable-pure-component.js", + "index": 426, + "index2": 418, + "size": 3748, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "issuerId": 153, + "issuerName": "./app/javascript/mastodon/components/status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "21:0-68" + }, + { + "moduleId": 257, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "13:0-68" + }, + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "14:0-68" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "25:0-68" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "15:0-68" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "15:0-68" + }, + { + "moduleId": 292, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "module": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "12:0-68" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "13:0-68" + }, + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "11:0-68" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "14:0-68" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "14:0-68" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "11:0-68" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "15:0-68" + }, + { + "moduleId": 639, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/video_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "12:0-68" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "17:0-68" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "12:0-68" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "28:0-68" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "16:0-68" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "17:0-68" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "20:0-68" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "17:0-68" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "20:0-68" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "20:0-68" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "18:0-68" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "18:0-68" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "19:0-68" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "18:0-68" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "19:0-68" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "19:0-68" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "18:0-68" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "10:0-68" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "16:0-68" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "14:0-68" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "15:0-68" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "15:0-68" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "14:0-68" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "15:0-68" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "19:0-68" + }, + { + "moduleId": 893, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/attachment_list.js", + "module": "./app/javascript/mastodon/components/attachment_list.js", + "moduleName": "./app/javascript/mastodon/components/attachment_list.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "10:0-68" + }, + { + "moduleId": 898, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/components/media_item.js", + "module": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "10:0-68" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "react-immutable-pure-component", + "loc": "16:0-68" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('immutable')) : typeof define === 'function' && define.amd ? define(['exports', 'react', 'immutable'], factory) : factory(global.window = global.window || {}, global.React, global.Immutable);\n})(this, function (exports, React, immutable) {\n 'use strict';\n\n React = React && 'default' in React ? React['default'] : React;\n\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n };\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n /*\n Copyright (C) 2017 Piotr Tomasz Monarski.\n Licensed under the MIT License (MIT), see\n https://github.com/Monar/react-immutable-pure-component\n */\n\n var ImmutablePureComponent = function (_React$Component) {\n _inherits(ImmutablePureComponent, _React$Component);\n\n function ImmutablePureComponent() {\n _classCallCheck(this, ImmutablePureComponent);\n\n return _possibleConstructorReturn(this, (ImmutablePureComponent.__proto__ || Object.getPrototypeOf(ImmutablePureComponent)).apply(this, arguments));\n }\n\n _createClass(ImmutablePureComponent, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var _this2 = this;\n\n var nextState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var state = this.state || {};\n\n return !(this.updateOnProps || Object.keys(_extends({}, nextProps, this.props))).every(function (p) {\n return immutable.is(nextProps[p], _this2.props[p]);\n }) || !(this.updateOnStates || Object.keys(_extends({}, nextState, state))).every(function (s) {\n return immutable.is(nextState[s], state[s]);\n });\n }\n }]);\n\n return ImmutablePureComponent;\n }(React.Component);\n\n exports.ImmutablePureComponent = ImmutablePureComponent;\n exports['default'] = ImmutablePureComponent;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n});" + }, + { + "id": 12, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-immutable-proptypes/dist/ImmutablePropTypes.js", + "name": "./node_modules/react-immutable-proptypes/dist/ImmutablePropTypes.js", + "index": 355, + "index2": 350, + "size": 10106, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "issuerId": 153, + "issuerName": "./app/javascript/mastodon/components/status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "12:0-59" + }, + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "12:0-59" + }, + { + "moduleId": 292, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "module": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "14:0-59" + }, + { + "moduleId": 306, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_form.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_form.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "10:0-59" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "10:0-59" + }, + { + "moduleId": 639, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/video_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "12:0-59" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "15:0-59" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "10:0-59" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "10:0-59" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "10:0-59" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "11:0-59" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "13:0-59" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 782, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/components/header.js", + "module": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/components/header.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "10:0-59" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "10:0-59" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "10:0-59" + }, + { + "moduleId": 893, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/attachment_list.js", + "module": "./app/javascript/mastodon/components/attachment_list.js", + "moduleName": "./app/javascript/mastodon/components/attachment_list.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 898, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/components/media_item.js", + "module": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "9:0-59" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "react-immutable-proptypes", + "loc": "10:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "/**\n * This is a straight rip-off of the React.js ReactPropTypes.js proptype validators,\n * modified to make it possible to validate Immutable.js data.\n * ImmutableTypes.listOf is patterned after React.PropTypes.arrayOf, but for Immutable.List\n * ImmutableTypes.shape is based on React.PropTypes.shape, but for any Immutable.Iterable\n */\n\"use strict\";\n\nvar Immutable = require(\"immutable\");\n\nvar ANONYMOUS = \"<>\";\n\nvar ImmutablePropTypes = {\n listOf: createListOfTypeChecker,\n mapOf: createMapOfTypeChecker,\n orderedMapOf: createOrderedMapOfTypeChecker,\n setOf: createSetOfTypeChecker,\n orderedSetOf: createOrderedSetOfTypeChecker,\n stackOf: createStackOfTypeChecker,\n iterableOf: createIterableOfTypeChecker,\n recordOf: createRecordOfTypeChecker,\n shape: createShapeChecker,\n contains: createShapeChecker,\n mapContains: createMapContainsChecker,\n // Primitive Types\n list: createImmutableTypeChecker(\"List\", Immutable.List.isList),\n map: createImmutableTypeChecker(\"Map\", Immutable.Map.isMap),\n orderedMap: createImmutableTypeChecker(\"OrderedMap\", Immutable.OrderedMap.isOrderedMap),\n set: createImmutableTypeChecker(\"Set\", Immutable.Set.isSet),\n orderedSet: createImmutableTypeChecker(\"OrderedSet\", Immutable.OrderedSet.isOrderedSet),\n stack: createImmutableTypeChecker(\"Stack\", Immutable.Stack.isStack),\n seq: createImmutableTypeChecker(\"Seq\", Immutable.Seq.isSeq),\n record: createImmutableTypeChecker(\"Record\", function (isRecord) {\n return isRecord instanceof Immutable.Record;\n }),\n iterable: createImmutableTypeChecker(\"Iterable\", Immutable.Iterable.isIterable)\n};\n\nfunction getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return \"array\";\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return \"object\";\n }\n if (propValue instanceof Immutable.Iterable) {\n return \"Immutable.\" + propValue.toSource().split(\" \")[0];\n }\n return propType;\n}\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n for (var _len = arguments.length, rest = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n rest[_key - 6] = arguments[_key];\n }\n\n propFullName = propFullName || propName;\n componentName = componentName || ANONYMOUS;\n if (props[propName] == null) {\n var locationName = location;\n if (isRequired) {\n return new Error(\"Required \" + locationName + \" `\" + propFullName + \"` was not specified in \" + (\"`\" + componentName + \"`.\"));\n }\n } else {\n return validate.apply(undefined, [props, propName, componentName, location, propFullName].concat(rest));\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\n\nfunction createImmutableTypeChecker(immutableClassName, immutableClassTypeValidator) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!immutableClassTypeValidator(propValue)) {\n var propType = getPropType(propValue);\n return new Error(\"Invalid \" + location + \" `\" + propFullName + \"` of type `\" + propType + \"` \" + (\"supplied to `\" + componentName + \"`, expected `\" + immutableClassName + \"`.\"));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createIterableTypeChecker(typeChecker, immutableClassName, immutableClassTypeValidator) {\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var _len = arguments.length, rest = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n rest[_key - 5] = arguments[_key];\n }\n\n var propValue = props[propName];\n if (!immutableClassTypeValidator(propValue)) {\n var locationName = location;\n var propType = getPropType(propValue);\n return new Error(\"Invalid \" + locationName + \" `\" + propFullName + \"` of type \" + (\"`\" + propType + \"` supplied to `\" + componentName + \"`, expected an Immutable.js \" + immutableClassName + \".\"));\n }\n\n if (typeof typeChecker !== \"function\") {\n return new Error(\"Invalid typeChecker supplied to `\" + componentName + \"` \" + (\"for propType `\" + propFullName + \"`, expected a function.\"));\n }\n\n var propValues = propValue.toArray();\n for (var i = 0, len = propValues.length; i < len; i++) {\n var error = typeChecker.apply(undefined, [propValues, i, componentName, location, \"\" + propFullName + \"[\" + i + \"]\"].concat(rest));\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createKeysTypeChecker(typeChecker) {\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var _len = arguments.length, rest = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n rest[_key - 5] = arguments[_key];\n }\n\n var propValue = props[propName];\n if (typeof typeChecker !== \"function\") {\n return new Error(\"Invalid keysTypeChecker (optional second argument) supplied to `\" + componentName + \"` \" + (\"for propType `\" + propFullName + \"`, expected a function.\"));\n }\n\n var keys = propValue.keySeq().toArray();\n for (var i = 0, len = keys.length; i < len; i++) {\n var error = typeChecker.apply(undefined, [keys, i, componentName, location, \"\" + propFullName + \" -> key(\" + keys[i] + \")\"].concat(rest));\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createListOfTypeChecker(typeChecker) {\n return createIterableTypeChecker(typeChecker, \"List\", Immutable.List.isList);\n}\n\nfunction createMapOfTypeCheckerFactory(valuesTypeChecker, keysTypeChecker, immutableClassName, immutableClassTypeValidator) {\n function validate() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return createIterableTypeChecker(valuesTypeChecker, immutableClassName, immutableClassTypeValidator).apply(undefined, args) || keysTypeChecker && createKeysTypeChecker(keysTypeChecker).apply(undefined, args);\n }\n\n return createChainableTypeChecker(validate);\n}\n\nfunction createMapOfTypeChecker(valuesTypeChecker, keysTypeChecker) {\n return createMapOfTypeCheckerFactory(valuesTypeChecker, keysTypeChecker, \"Map\", Immutable.Map.isMap);\n}\n\nfunction createOrderedMapOfTypeChecker(valuesTypeChecker, keysTypeChecker) {\n return createMapOfTypeCheckerFactory(valuesTypeChecker, keysTypeChecker, \"OrderedMap\", Immutable.OrderedMap.isOrderedMap);\n}\n\nfunction createSetOfTypeChecker(typeChecker) {\n return createIterableTypeChecker(typeChecker, \"Set\", Immutable.Set.isSet);\n}\n\nfunction createOrderedSetOfTypeChecker(typeChecker) {\n return createIterableTypeChecker(typeChecker, \"OrderedSet\", Immutable.OrderedSet.isOrderedSet);\n}\n\nfunction createStackOfTypeChecker(typeChecker) {\n return createIterableTypeChecker(typeChecker, \"Stack\", Immutable.Stack.isStack);\n}\n\nfunction createIterableOfTypeChecker(typeChecker) {\n return createIterableTypeChecker(typeChecker, \"Iterable\", Immutable.Iterable.isIterable);\n}\n\nfunction createRecordOfTypeChecker(recordKeys) {\n function validate(props, propName, componentName, location, propFullName) {\n for (var _len = arguments.length, rest = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n rest[_key - 5] = arguments[_key];\n }\n\n var propValue = props[propName];\n if (!(propValue instanceof Immutable.Record)) {\n var propType = getPropType(propValue);\n var locationName = location;\n return new Error(\"Invalid \" + locationName + \" `\" + propFullName + \"` of type `\" + propType + \"` \" + (\"supplied to `\" + componentName + \"`, expected an Immutable.js Record.\"));\n }\n for (var key in recordKeys) {\n var checker = recordKeys[key];\n if (!checker) {\n continue;\n }\n var mutablePropValue = propValue.toObject();\n var error = checker.apply(undefined, [mutablePropValue, key, componentName, location, \"\" + propFullName + \".\" + key].concat(rest));\n if (error) {\n return error;\n }\n }\n }\n return createChainableTypeChecker(validate);\n}\n\n// there is some irony in the fact that shapeTypes is a standard hash and not an immutable collection\nfunction createShapeTypeChecker(shapeTypes) {\n var immutableClassName = arguments[1] === undefined ? \"Iterable\" : arguments[1];\n var immutableClassTypeValidator = arguments[2] === undefined ? Immutable.Iterable.isIterable : arguments[2];\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var _len = arguments.length, rest = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n rest[_key - 5] = arguments[_key];\n }\n\n var propValue = props[propName];\n if (!immutableClassTypeValidator(propValue)) {\n var propType = getPropType(propValue);\n var locationName = location;\n return new Error(\"Invalid \" + locationName + \" `\" + propFullName + \"` of type `\" + propType + \"` \" + (\"supplied to `\" + componentName + \"`, expected an Immutable.js \" + immutableClassName + \".\"));\n }\n var mutablePropValue = propValue.toObject();\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker.apply(undefined, [mutablePropValue, key, componentName, location, \"\" + propFullName + \".\" + key].concat(rest));\n if (error) {\n return error;\n }\n }\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createShapeChecker(shapeTypes) {\n return createShapeTypeChecker(shapeTypes);\n}\n\nfunction createMapContainsChecker(shapeTypes) {\n return createShapeTypeChecker(shapeTypes, \"Map\", Immutable.Map.isMap);\n}\n\nmodule.exports = ImmutablePropTypes;" + }, + { + "id": 13, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/invariant/browser.js", + "name": "./node_modules/invariant/browser.js", + "index": 171, + "index2": 167, + "size": 1491, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "issuerId": 6, + "issuerName": "./node_modules/react-intl/lib/index.es.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 6, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "module": "./node_modules/react-intl/lib/index.es.js", + "moduleName": "./node_modules/react-intl/lib/index.es.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "12:0-34" + }, + { + "moduleId": 141, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Router.js", + "module": "./node_modules/react-router/es/Router.js", + "moduleName": "./node_modules/react-router/es/Router.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "30:0-34" + }, + { + "moduleId": 190, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/connectAdvanced.js", + "module": "./node_modules/react-redux/es/components/connectAdvanced.js", + "moduleName": "./node_modules/react-redux/es/components/connectAdvanced.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "36:0-34" + }, + { + "moduleId": 225, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createBrowserHistory.js", + "module": "./node_modules/history/es/createBrowserHistory.js", + "moduleName": "./node_modules/history/es/createBrowserHistory.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "18:0-34" + }, + { + "moduleId": 227, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "module": "./node_modules/history/es/createHashHistory.js", + "moduleName": "./node_modules/history/es/createHashHistory.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "12:0-34" + }, + { + "moduleId": 228, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Link.js", + "module": "./node_modules/react-router-dom/es/Link.js", + "moduleName": "./node_modules/react-router-dom/es/Link.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "37:0-34" + }, + { + "moduleId": 231, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Route.js", + "module": "./node_modules/react-router/es/Route.js", + "moduleName": "./node_modules/react-router/es/Route.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "30:0-34" + }, + { + "moduleId": 511, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Prompt.js", + "module": "./node_modules/react-router/es/Prompt.js", + "moduleName": "./node_modules/react-router/es/Prompt.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "21:0-34" + }, + { + "moduleId": 513, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Redirect.js", + "module": "./node_modules/react-router/es/Redirect.js", + "moduleName": "./node_modules/react-router/es/Redirect.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "22:0-34" + }, + { + "moduleId": 516, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/StaticRouter.js", + "module": "./node_modules/react-router/es/StaticRouter.js", + "moduleName": "./node_modules/react-router/es/StaticRouter.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "36:0-34" + }, + { + "moduleId": 518, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Switch.js", + "module": "./node_modules/react-router/es/Switch.js", + "moduleName": "./node_modules/react-router/es/Switch.js", + "type": "harmony import", + "userRequest": "invariant", + "loc": "22:0-34" + }, + { + "moduleId": 607, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "module": "./node_modules/scroll-behavior/lib/index.js", + "moduleName": "./node_modules/scroll-behavior/lib/index.js", + "type": "cjs require", + "userRequest": "invariant", + "loc": "25:17-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function (condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;" + }, + { + "id": 14, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/warning/browser.js", + "name": "./node_modules/warning/browser.js", + "index": 496, + "index2": 485, + "size": 1748, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "issuerId": 152, + "issuerName": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 139, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createTransitionManager.js", + "module": "./node_modules/history/es/createTransitionManager.js", + "moduleName": "./node_modules/history/es/createTransitionManager.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "1:0-30" + }, + { + "moduleId": 141, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Router.js", + "module": "./node_modules/react-router/es/Router.js", + "moduleName": "./node_modules/react-router/es/Router.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "29:0-30" + }, + { + "moduleId": 152, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "module": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "moduleName": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "4:0-30" + }, + { + "moduleId": 225, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createBrowserHistory.js", + "module": "./node_modules/history/es/createBrowserHistory.js", + "moduleName": "./node_modules/history/es/createBrowserHistory.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "17:0-30" + }, + { + "moduleId": 227, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "module": "./node_modules/history/es/createHashHistory.js", + "moduleName": "./node_modules/history/es/createHashHistory.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "11:0-30" + }, + { + "moduleId": 229, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createMemoryHistory.js", + "module": "./node_modules/history/es/createMemoryHistory.js", + "moduleName": "./node_modules/history/es/createMemoryHistory.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "17:0-30" + }, + { + "moduleId": 231, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Route.js", + "module": "./node_modules/react-router/es/Route.js", + "moduleName": "./node_modules/react-router/es/Route.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "29:0-30" + }, + { + "moduleId": 501, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/BrowserRouter.js", + "module": "./node_modules/react-router-dom/es/BrowserRouter.js", + "moduleName": "./node_modules/react-router-dom/es/BrowserRouter.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "19:0-30" + }, + { + "moduleId": 504, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/HashRouter.js", + "module": "./node_modules/react-router-dom/es/HashRouter.js", + "moduleName": "./node_modules/react-router-dom/es/HashRouter.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "19:0-30" + }, + { + "moduleId": 506, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/MemoryRouter.js", + "module": "./node_modules/react-router/es/MemoryRouter.js", + "moduleName": "./node_modules/react-router/es/MemoryRouter.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "19:0-30" + }, + { + "moduleId": 513, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Redirect.js", + "module": "./node_modules/react-router/es/Redirect.js", + "moduleName": "./node_modules/react-router/es/Redirect.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "21:0-30" + }, + { + "moduleId": 516, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/StaticRouter.js", + "module": "./node_modules/react-router/es/StaticRouter.js", + "moduleName": "./node_modules/react-router/es/StaticRouter.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "35:0-30" + }, + { + "moduleId": 518, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Switch.js", + "module": "./node_modules/react-router/es/Switch.js", + "moduleName": "./node_modules/react-router/es/Switch.js", + "type": "harmony import", + "userRequest": "warning", + "loc": "21:0-30" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "warning", + "loc": "50:15-33" + }, + { + "moduleId": 617, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/checkIndexBounds.js", + "module": "./node_modules/react-swipeable-views-core/lib/checkIndexBounds.js", + "moduleName": "./node_modules/react-swipeable-views-core/lib/checkIndexBounds.js", + "type": "cjs require", + "userRequest": "warning", + "loc": "9:15-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function () {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function (condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.length < 10 || /^[s\\W]*$/.test(format)) {\n throw new Error('The warning format should be able to uniquely identify this ' + 'warning. Please, use a more descriptive format than: ' + format);\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n };\n}\n\nmodule.exports = warning;" + }, + { + "id": 15, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/compose.js", + "name": "./app/javascript/mastodon/actions/compose.js", + "index": 266, + "index2": 281, + "size": 9918, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "../actions/compose", + "loc": "6:0-66" + }, + { + "moduleId": 288, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "type": "harmony import", + "userRequest": "../../../actions/compose", + "loc": "2:0-62" + }, + { + "moduleId": 295, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_button_container.js", + "type": "harmony import", + "userRequest": "../../../actions/compose", + "loc": "3:0-57" + }, + { + "moduleId": 298, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js", + "type": "harmony import", + "userRequest": "../../../actions/compose", + "loc": "3:0-68" + }, + { + "moduleId": 300, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "type": "harmony import", + "userRequest": "../../../actions/compose", + "loc": "3:0-67" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "../../../actions/compose", + "loc": "10:0-68" + }, + { + "moduleId": 309, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/upload_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/upload_container.js", + "type": "harmony import", + "userRequest": "../../../actions/compose", + "loc": "3:0-82" + }, + { + "moduleId": 315, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "type": "harmony import", + "userRequest": "../../../actions/compose", + "loc": "4:0-193" + }, + { + "moduleId": 315, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/compose_form_container.js", + "type": "harmony import", + "userRequest": "../../../actions/compose", + "loc": "3:0-57" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/compose", + "loc": "4:0-63" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/compose", + "loc": "4:0-63" + }, + { + "moduleId": 451, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/compose.js", + "module": "./app/javascript/mastodon/reducers/compose.js", + "moduleName": "./app/javascript/mastodon/reducers/compose.js", + "type": "harmony import", + "userRequest": "../actions/compose", + "loc": "1:0-668" + }, + { + "moduleId": 452, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/search.js", + "module": "./app/javascript/mastodon/reducers/search.js", + "moduleName": "./app/javascript/mastodon/reducers/search.js", + "type": "harmony import", + "userRequest": "../actions/compose", + "loc": "2:0-68" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "../../actions/compose", + "loc": "19:0-68" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "../../actions/compose", + "loc": "20:0-56" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "../../actions/compose", + "loc": "13:0-69" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../actions/compose", + "loc": "19:0-69" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../../../actions/compose", + "loc": "7:0-58" + }, + { + "moduleId": 883, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/notification_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/notification_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/notification_container.js", + "type": "harmony import", + "userRequest": "../../../actions/compose", + "loc": "4:0-58" + } + ], + "usedExports": [ + "COMPOSE_CHANGE", + "COMPOSE_COMPOSING_CHANGE", + "COMPOSE_EMOJI_INSERT", + "COMPOSE_MENTION", + "COMPOSE_MOUNT", + "COMPOSE_REPLY", + "COMPOSE_REPLY_CANCEL", + "COMPOSE_RESET", + "COMPOSE_SENSITIVITY_CHANGE", + "COMPOSE_SPOILERNESS_CHANGE", + "COMPOSE_SPOILER_TEXT_CHANGE", + "COMPOSE_SUBMIT_FAIL", + "COMPOSE_SUBMIT_REQUEST", + "COMPOSE_SUBMIT_SUCCESS", + "COMPOSE_SUGGESTIONS_CLEAR", + "COMPOSE_SUGGESTIONS_READY", + "COMPOSE_SUGGESTION_SELECT", + "COMPOSE_UNMOUNT", + "COMPOSE_UPLOAD_CHANGE_FAIL", + "COMPOSE_UPLOAD_CHANGE_REQUEST", + "COMPOSE_UPLOAD_CHANGE_SUCCESS", + "COMPOSE_UPLOAD_FAIL", + "COMPOSE_UPLOAD_PROGRESS", + "COMPOSE_UPLOAD_REQUEST", + "COMPOSE_UPLOAD_SUCCESS", + "COMPOSE_UPLOAD_UNDO", + "COMPOSE_VISIBILITY_CHANGE", + "cancelReplyCompose", + "changeCompose", + "changeComposeSensitivity", + "changeComposeSpoilerText", + "changeComposeSpoilerness", + "changeComposeVisibility", + "changeComposing", + "changeUploadCompose", + "clearComposeSuggestions", + "fetchComposeSuggestions", + "insertEmojiCompose", + "mentionCompose", + "mountCompose", + "replyCompose", + "resetCompose", + "selectComposeSuggestion", + "submitCompose", + "undoUploadCompose", + "unmountCompose", + "uploadCompose" + ], + "providedExports": [ + "COMPOSE_CHANGE", + "COMPOSE_SUBMIT_REQUEST", + "COMPOSE_SUBMIT_SUCCESS", + "COMPOSE_SUBMIT_FAIL", + "COMPOSE_REPLY", + "COMPOSE_REPLY_CANCEL", + "COMPOSE_MENTION", + "COMPOSE_RESET", + "COMPOSE_UPLOAD_REQUEST", + "COMPOSE_UPLOAD_SUCCESS", + "COMPOSE_UPLOAD_FAIL", + "COMPOSE_UPLOAD_PROGRESS", + "COMPOSE_UPLOAD_UNDO", + "COMPOSE_SUGGESTIONS_CLEAR", + "COMPOSE_SUGGESTIONS_READY", + "COMPOSE_SUGGESTION_SELECT", + "COMPOSE_MOUNT", + "COMPOSE_UNMOUNT", + "COMPOSE_SENSITIVITY_CHANGE", + "COMPOSE_SPOILERNESS_CHANGE", + "COMPOSE_SPOILER_TEXT_CHANGE", + "COMPOSE_VISIBILITY_CHANGE", + "COMPOSE_LISTABILITY_CHANGE", + "COMPOSE_COMPOSING_CHANGE", + "COMPOSE_EMOJI_INSERT", + "COMPOSE_UPLOAD_CHANGE_REQUEST", + "COMPOSE_UPLOAD_CHANGE_SUCCESS", + "COMPOSE_UPLOAD_CHANGE_FAIL", + "changeCompose", + "replyCompose", + "cancelReplyCompose", + "resetCompose", + "mentionCompose", + "submitCompose", + "submitComposeRequest", + "submitComposeSuccess", + "submitComposeFail", + "uploadCompose", + "changeUploadCompose", + "changeUploadComposeRequest", + "changeUploadComposeSuccess", + "changeUploadComposeFail", + "uploadComposeRequest", + "uploadComposeProgress", + "uploadComposeSuccess", + "uploadComposeFail", + "undoUploadCompose", + "clearComposeSuggestions", + "fetchComposeSuggestions", + "readyComposeSuggestionsEmojis", + "readyComposeSuggestionsAccounts", + "selectComposeSuggestion", + "mountCompose", + "unmountCompose", + "changeComposeSensitivity", + "changeComposeSpoilerness", + "changeComposeSpoilerText", + "changeComposeVisibility", + "insertEmojiCompose", + "changeComposing" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _typeof from 'babel-runtime/helpers/typeof';\nimport _throttle from 'lodash/throttle';\nimport api from '../api';\n\nimport { search as emojiSearch } from '../features/emoji/emoji_mart_search_light';\nimport { useEmoji } from './emojis';\n\nimport { updateTimeline, refreshHomeTimeline, refreshCommunityTimeline, refreshPublicTimeline } from './timelines';\n\nexport var COMPOSE_CHANGE = 'COMPOSE_CHANGE';\nexport var COMPOSE_SUBMIT_REQUEST = 'COMPOSE_SUBMIT_REQUEST';\nexport var COMPOSE_SUBMIT_SUCCESS = 'COMPOSE_SUBMIT_SUCCESS';\nexport var COMPOSE_SUBMIT_FAIL = 'COMPOSE_SUBMIT_FAIL';\nexport var COMPOSE_REPLY = 'COMPOSE_REPLY';\nexport var COMPOSE_REPLY_CANCEL = 'COMPOSE_REPLY_CANCEL';\nexport var COMPOSE_MENTION = 'COMPOSE_MENTION';\nexport var COMPOSE_RESET = 'COMPOSE_RESET';\nexport var COMPOSE_UPLOAD_REQUEST = 'COMPOSE_UPLOAD_REQUEST';\nexport var COMPOSE_UPLOAD_SUCCESS = 'COMPOSE_UPLOAD_SUCCESS';\nexport var COMPOSE_UPLOAD_FAIL = 'COMPOSE_UPLOAD_FAIL';\nexport var COMPOSE_UPLOAD_PROGRESS = 'COMPOSE_UPLOAD_PROGRESS';\nexport var COMPOSE_UPLOAD_UNDO = 'COMPOSE_UPLOAD_UNDO';\n\nexport var COMPOSE_SUGGESTIONS_CLEAR = 'COMPOSE_SUGGESTIONS_CLEAR';\nexport var COMPOSE_SUGGESTIONS_READY = 'COMPOSE_SUGGESTIONS_READY';\nexport var COMPOSE_SUGGESTION_SELECT = 'COMPOSE_SUGGESTION_SELECT';\n\nexport var COMPOSE_MOUNT = 'COMPOSE_MOUNT';\nexport var COMPOSE_UNMOUNT = 'COMPOSE_UNMOUNT';\n\nexport var COMPOSE_SENSITIVITY_CHANGE = 'COMPOSE_SENSITIVITY_CHANGE';\nexport var COMPOSE_SPOILERNESS_CHANGE = 'COMPOSE_SPOILERNESS_CHANGE';\nexport var COMPOSE_SPOILER_TEXT_CHANGE = 'COMPOSE_SPOILER_TEXT_CHANGE';\nexport var COMPOSE_VISIBILITY_CHANGE = 'COMPOSE_VISIBILITY_CHANGE';\nexport var COMPOSE_LISTABILITY_CHANGE = 'COMPOSE_LISTABILITY_CHANGE';\nexport var COMPOSE_COMPOSING_CHANGE = 'COMPOSE_COMPOSING_CHANGE';\n\nexport var COMPOSE_EMOJI_INSERT = 'COMPOSE_EMOJI_INSERT';\n\nexport var COMPOSE_UPLOAD_CHANGE_REQUEST = 'COMPOSE_UPLOAD_UPDATE_REQUEST';\nexport var COMPOSE_UPLOAD_CHANGE_SUCCESS = 'COMPOSE_UPLOAD_UPDATE_SUCCESS';\nexport var COMPOSE_UPLOAD_CHANGE_FAIL = 'COMPOSE_UPLOAD_UPDATE_FAIL';\n\nexport function changeCompose(text) {\n return {\n type: COMPOSE_CHANGE,\n text: text\n };\n};\n\nexport function replyCompose(status, router) {\n return function (dispatch, getState) {\n dispatch({\n type: COMPOSE_REPLY,\n status: status\n });\n\n if (!getState().getIn(['compose', 'mounted'])) {\n router.push('/statuses/new');\n }\n };\n};\n\nexport function cancelReplyCompose() {\n return {\n type: COMPOSE_REPLY_CANCEL\n };\n};\n\nexport function resetCompose() {\n return {\n type: COMPOSE_RESET\n };\n};\n\nexport function mentionCompose(account, router) {\n return function (dispatch, getState) {\n dispatch({\n type: COMPOSE_MENTION,\n account: account\n });\n\n if (!getState().getIn(['compose', 'mounted'])) {\n router.push('/statuses/new');\n }\n };\n};\n\nexport function submitCompose() {\n return function (dispatch, getState) {\n var status = getState().getIn(['compose', 'text'], '');\n\n if (!status || !status.length) {\n return;\n }\n\n dispatch(submitComposeRequest());\n\n api(getState).post('/api/v1/statuses', {\n status: status,\n in_reply_to_id: getState().getIn(['compose', 'in_reply_to'], null),\n media_ids: getState().getIn(['compose', 'media_attachments']).map(function (item) {\n return item.get('id');\n }),\n sensitive: getState().getIn(['compose', 'sensitive']),\n spoiler_text: getState().getIn(['compose', 'spoiler_text'], ''),\n visibility: getState().getIn(['compose', 'privacy'])\n }, {\n headers: {\n 'Idempotency-Key': getState().getIn(['compose', 'idempotencyKey'])\n }\n }).then(function (response) {\n dispatch(submitComposeSuccess(Object.assign({}, response.data)));\n\n // To make the app more responsive, immediately get the status into the columns\n\n var insertOrRefresh = function insertOrRefresh(timelineId, refreshAction) {\n if (getState().getIn(['timelines', timelineId, 'online'])) {\n dispatch(updateTimeline(timelineId, Object.assign({}, response.data)));\n } else if (getState().getIn(['timelines', timelineId, 'loaded'])) {\n dispatch(refreshAction());\n }\n };\n\n insertOrRefresh('home', refreshHomeTimeline);\n\n if (response.data.in_reply_to_id === null && response.data.visibility === 'public') {\n insertOrRefresh('community', refreshCommunityTimeline);\n insertOrRefresh('public', refreshPublicTimeline);\n }\n }).catch(function (error) {\n dispatch(submitComposeFail(error));\n });\n };\n};\n\nexport function submitComposeRequest() {\n return {\n type: COMPOSE_SUBMIT_REQUEST\n };\n};\n\nexport function submitComposeSuccess(status) {\n return {\n type: COMPOSE_SUBMIT_SUCCESS,\n status: status\n };\n};\n\nexport function submitComposeFail(error) {\n return {\n type: COMPOSE_SUBMIT_FAIL,\n error: error\n };\n};\n\nexport function uploadCompose(files) {\n return function (dispatch, getState) {\n if (getState().getIn(['compose', 'media_attachments']).size > 3) {\n return;\n }\n\n dispatch(uploadComposeRequest());\n\n var data = new FormData();\n data.append('file', files[0]);\n\n api(getState).post('/api/v1/media', data, {\n onUploadProgress: function onUploadProgress(e) {\n dispatch(uploadComposeProgress(e.loaded, e.total));\n }\n }).then(function (response) {\n dispatch(uploadComposeSuccess(response.data));\n }).catch(function (error) {\n dispatch(uploadComposeFail(error));\n });\n };\n};\n\nexport function changeUploadCompose(id, description) {\n return function (dispatch, getState) {\n dispatch(changeUploadComposeRequest());\n\n api(getState).put('/api/v1/media/' + id, { description: description }).then(function (response) {\n dispatch(changeUploadComposeSuccess(response.data));\n }).catch(function (error) {\n dispatch(changeUploadComposeFail(id, error));\n });\n };\n};\n\nexport function changeUploadComposeRequest() {\n return {\n type: COMPOSE_UPLOAD_CHANGE_REQUEST,\n skipLoading: true\n };\n};\nexport function changeUploadComposeSuccess(media) {\n return {\n type: COMPOSE_UPLOAD_CHANGE_SUCCESS,\n media: media,\n skipLoading: true\n };\n};\n\nexport function changeUploadComposeFail(error) {\n return {\n type: COMPOSE_UPLOAD_CHANGE_FAIL,\n error: error,\n skipLoading: true\n };\n};\n\nexport function uploadComposeRequest() {\n return {\n type: COMPOSE_UPLOAD_REQUEST,\n skipLoading: true\n };\n};\n\nexport function uploadComposeProgress(loaded, total) {\n return {\n type: COMPOSE_UPLOAD_PROGRESS,\n loaded: loaded,\n total: total\n };\n};\n\nexport function uploadComposeSuccess(media) {\n return {\n type: COMPOSE_UPLOAD_SUCCESS,\n media: media,\n skipLoading: true\n };\n};\n\nexport function uploadComposeFail(error) {\n return {\n type: COMPOSE_UPLOAD_FAIL,\n error: error,\n skipLoading: true\n };\n};\n\nexport function undoUploadCompose(media_id) {\n return {\n type: COMPOSE_UPLOAD_UNDO,\n media_id: media_id\n };\n};\n\nexport function clearComposeSuggestions() {\n return {\n type: COMPOSE_SUGGESTIONS_CLEAR\n };\n};\n\nvar fetchComposeSuggestionsAccounts = _throttle(function (dispatch, getState, token) {\n api(getState).get('/api/v1/accounts/search', {\n params: {\n q: token.slice(1),\n resolve: false,\n limit: 4\n }\n }).then(function (response) {\n dispatch(readyComposeSuggestionsAccounts(token, response.data));\n });\n}, 200, { leading: true, trailing: true });\n\nvar fetchComposeSuggestionsEmojis = function fetchComposeSuggestionsEmojis(dispatch, getState, token) {\n var results = emojiSearch(token.replace(':', ''), { maxResults: 5 });\n dispatch(readyComposeSuggestionsEmojis(token, results));\n};\n\nexport function fetchComposeSuggestions(token) {\n return function (dispatch, getState) {\n if (token[0] === ':') {\n fetchComposeSuggestionsEmojis(dispatch, getState, token);\n } else {\n fetchComposeSuggestionsAccounts(dispatch, getState, token);\n }\n };\n};\n\nexport function readyComposeSuggestionsEmojis(token, emojis) {\n return {\n type: COMPOSE_SUGGESTIONS_READY,\n token: token,\n emojis: emojis\n };\n};\n\nexport function readyComposeSuggestionsAccounts(token, accounts) {\n return {\n type: COMPOSE_SUGGESTIONS_READY,\n token: token,\n accounts: accounts\n };\n};\n\nexport function selectComposeSuggestion(position, token, suggestion) {\n return function (dispatch, getState) {\n var completion = void 0,\n startPosition = void 0;\n\n if ((typeof suggestion === 'undefined' ? 'undefined' : _typeof(suggestion)) === 'object' && suggestion.id) {\n completion = suggestion.native || suggestion.colons;\n startPosition = position - 1;\n\n dispatch(useEmoji(suggestion));\n } else {\n completion = getState().getIn(['accounts', suggestion, 'acct']);\n startPosition = position;\n }\n\n dispatch({\n type: COMPOSE_SUGGESTION_SELECT,\n position: startPosition,\n token: token,\n completion: completion\n });\n };\n};\n\nexport function mountCompose() {\n return {\n type: COMPOSE_MOUNT\n };\n};\n\nexport function unmountCompose() {\n return {\n type: COMPOSE_UNMOUNT\n };\n};\n\nexport function changeComposeSensitivity() {\n return {\n type: COMPOSE_SENSITIVITY_CHANGE\n };\n};\n\nexport function changeComposeSpoilerness() {\n return {\n type: COMPOSE_SPOILERNESS_CHANGE\n };\n};\n\nexport function changeComposeSpoilerText(text) {\n return {\n type: COMPOSE_SPOILER_TEXT_CHANGE,\n text: text\n };\n};\n\nexport function changeComposeVisibility(value) {\n return {\n type: COMPOSE_VISIBILITY_CHANGE,\n value: value\n };\n};\n\nexport function insertEmojiCompose(position, emoji) {\n return {\n type: COMPOSE_EMOJI_INSERT,\n position: position,\n emoji: emoji\n };\n};\n\nexport function changeComposing(value) {\n return {\n type: COMPOSE_COMPOSING_CHANGE,\n value: value\n };\n}" + }, + { + "id": 16, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/timelines.js", + "name": "./app/javascript/mastodon/actions/timelines.js", + "index": 214, + "index2": 243, + "size": 7750, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "issuerId": 274, + "issuerName": "./app/javascript/mastodon/actions/streaming.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 15, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/compose.js", + "module": "./app/javascript/mastodon/actions/compose.js", + "moduleName": "./app/javascript/mastodon/actions/compose.js", + "type": "harmony import", + "userRequest": "./timelines", + "loc": "8:0-115" + }, + { + "moduleId": 57, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/statuses.js", + "module": "./app/javascript/mastodon/actions/statuses.js", + "moduleName": "./app/javascript/mastodon/actions/statuses.js", + "type": "harmony import", + "userRequest": "./timelines", + "loc": "3:0-50" + }, + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "../../../actions/timelines", + "loc": "4:0-63" + }, + { + "moduleId": 274, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "module": "./app/javascript/mastodon/actions/streaming.js", + "moduleName": "./app/javascript/mastodon/actions/streaming.js", + "type": "harmony import", + "userRequest": "./timelines", + "loc": "2:0-124" + }, + { + "moduleId": 386, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/timelines.js", + "module": "./app/javascript/mastodon/reducers/timelines.js", + "moduleName": "./app/javascript/mastodon/reducers/timelines.js", + "type": "harmony import", + "userRequest": "../actions/timelines", + "loc": "1:0-279" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/timelines", + "loc": "6:0-106" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/timelines", + "loc": "6:0-106" + }, + { + "moduleId": 443, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "module": "./app/javascript/mastodon/reducers/statuses.js", + "moduleName": "./app/javascript/mastodon/reducers/statuses.js", + "type": "harmony import", + "userRequest": "../actions/timelines", + "loc": "3:0-123" + }, + { + "moduleId": 450, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/contexts.js", + "module": "./app/javascript/mastodon/reducers/contexts.js", + "moduleName": "./app/javascript/mastodon/reducers/contexts.js", + "type": "harmony import", + "userRequest": "../actions/timelines", + "loc": "2:0-80" + }, + { + "moduleId": 451, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/compose.js", + "module": "./app/javascript/mastodon/reducers/compose.js", + "moduleName": "./app/javascript/mastodon/reducers/compose.js", + "type": "harmony import", + "userRequest": "../actions/timelines", + "loc": "2:0-55" + }, + { + "moduleId": 454, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/notifications.js", + "module": "./app/javascript/mastodon/reducers/notifications.js", + "moduleName": "./app/javascript/mastodon/reducers/notifications.js", + "type": "harmony import", + "userRequest": "../actions/timelines", + "loc": "3:0-55" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../../actions/timelines", + "loc": "12:0-89" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../../actions/timelines", + "loc": "12:0-91" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "../../actions/timelines", + "loc": "20:0-62" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/timelines", + "loc": "10:0-61" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/timelines", + "loc": "14:0-86" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/timelines", + "loc": "14:0-92" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/timelines", + "loc": "14:0-88" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/timelines", + "loc": "13:0-88" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../actions/timelines", + "loc": "13:0-98" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "../../../actions/timelines", + "loc": "11:0-68" + } + ], + "usedExports": [ + "TIMELINE_CONNECT", + "TIMELINE_CONTEXT_UPDATE", + "TIMELINE_DELETE", + "TIMELINE_DISCONNECT", + "TIMELINE_EXPAND_FAIL", + "TIMELINE_EXPAND_REQUEST", + "TIMELINE_EXPAND_SUCCESS", + "TIMELINE_REFRESH_FAIL", + "TIMELINE_REFRESH_REQUEST", + "TIMELINE_REFRESH_SUCCESS", + "TIMELINE_SCROLL_TOP", + "TIMELINE_UPDATE", + "connectTimeline", + "deleteFromTimelines", + "disconnectTimeline", + "expandAccountMediaTimeline", + "expandAccountTimeline", + "expandCommunityTimeline", + "expandHashtagTimeline", + "expandHomeTimeline", + "expandPublicTimeline", + "refreshAccountMediaTimeline", + "refreshAccountTimeline", + "refreshCommunityTimeline", + "refreshHashtagTimeline", + "refreshHomeTimeline", + "refreshPublicTimeline", + "scrollTopTimeline", + "updateTimeline" + ], + "providedExports": [ + "TIMELINE_UPDATE", + "TIMELINE_DELETE", + "TIMELINE_REFRESH_REQUEST", + "TIMELINE_REFRESH_SUCCESS", + "TIMELINE_REFRESH_FAIL", + "TIMELINE_EXPAND_REQUEST", + "TIMELINE_EXPAND_SUCCESS", + "TIMELINE_EXPAND_FAIL", + "TIMELINE_SCROLL_TOP", + "TIMELINE_CONNECT", + "TIMELINE_DISCONNECT", + "TIMELINE_CONTEXT_UPDATE", + "refreshTimelineSuccess", + "updateTimeline", + "deleteFromTimelines", + "refreshTimelineRequest", + "refreshTimeline", + "refreshHomeTimeline", + "refreshPublicTimeline", + "refreshCommunityTimeline", + "refreshAccountTimeline", + "refreshAccountMediaTimeline", + "refreshHashtagTimeline", + "refreshTimelineFail", + "expandTimeline", + "expandHomeTimeline", + "expandPublicTimeline", + "expandCommunityTimeline", + "expandAccountTimeline", + "expandAccountMediaTimeline", + "expandHashtagTimeline", + "expandTimelineRequest", + "expandTimelineSuccess", + "expandTimelineFail", + "scrollTopTimeline", + "connectTimeline", + "disconnectTimeline" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import api, { getLinks } from '../api';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\n\nexport var TIMELINE_UPDATE = 'TIMELINE_UPDATE';\nexport var TIMELINE_DELETE = 'TIMELINE_DELETE';\n\nexport var TIMELINE_REFRESH_REQUEST = 'TIMELINE_REFRESH_REQUEST';\nexport var TIMELINE_REFRESH_SUCCESS = 'TIMELINE_REFRESH_SUCCESS';\nexport var TIMELINE_REFRESH_FAIL = 'TIMELINE_REFRESH_FAIL';\n\nexport var TIMELINE_EXPAND_REQUEST = 'TIMELINE_EXPAND_REQUEST';\nexport var TIMELINE_EXPAND_SUCCESS = 'TIMELINE_EXPAND_SUCCESS';\nexport var TIMELINE_EXPAND_FAIL = 'TIMELINE_EXPAND_FAIL';\n\nexport var TIMELINE_SCROLL_TOP = 'TIMELINE_SCROLL_TOP';\n\nexport var TIMELINE_CONNECT = 'TIMELINE_CONNECT';\nexport var TIMELINE_DISCONNECT = 'TIMELINE_DISCONNECT';\n\nexport var TIMELINE_CONTEXT_UPDATE = 'CONTEXT_UPDATE';\n\nexport function refreshTimelineSuccess(timeline, statuses, skipLoading, next) {\n return {\n type: TIMELINE_REFRESH_SUCCESS,\n timeline: timeline,\n statuses: statuses,\n skipLoading: skipLoading,\n next: next\n };\n};\n\nexport function updateTimeline(timeline, status) {\n return function (dispatch, getState) {\n var references = status.reblog ? getState().get('statuses').filter(function (item, itemId) {\n return itemId === status.reblog.id || item.get('reblog') === status.reblog.id;\n }).map(function (_, itemId) {\n return itemId;\n }) : [];\n var parents = [];\n\n if (status.in_reply_to_id) {\n var parent = getState().getIn(['statuses', status.in_reply_to_id]);\n\n while (parent && parent.get('in_reply_to_id')) {\n parents.push(parent.get('id'));\n parent = getState().getIn(['statuses', parent.get('in_reply_to_id')]);\n }\n }\n\n dispatch({\n type: TIMELINE_UPDATE,\n timeline: timeline,\n status: status,\n references: references\n });\n\n if (parents.length > 0) {\n dispatch({\n type: TIMELINE_CONTEXT_UPDATE,\n status: status,\n references: parents\n });\n }\n };\n};\n\nexport function deleteFromTimelines(id) {\n return function (dispatch, getState) {\n var accountId = getState().getIn(['statuses', id, 'account']);\n var references = getState().get('statuses').filter(function (status) {\n return status.get('reblog') === id;\n }).map(function (status) {\n return [status.get('id'), status.get('account')];\n });\n var reblogOf = getState().getIn(['statuses', id, 'reblog'], null);\n\n dispatch({\n type: TIMELINE_DELETE,\n id: id,\n accountId: accountId,\n references: references,\n reblogOf: reblogOf\n });\n };\n};\n\nexport function refreshTimelineRequest(timeline, skipLoading) {\n return {\n type: TIMELINE_REFRESH_REQUEST,\n timeline: timeline,\n skipLoading: skipLoading\n };\n};\n\nexport function refreshTimeline(timelineId, path) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return function (dispatch, getState) {\n var timeline = getState().getIn(['timelines', timelineId], ImmutableMap());\n\n if (timeline.get('isLoading') || timeline.get('online')) {\n return;\n }\n\n var ids = timeline.get('items', ImmutableList());\n var newestId = ids.size > 0 ? ids.first() : null;\n\n var skipLoading = timeline.get('loaded');\n\n if (newestId !== null) {\n params.since_id = newestId;\n }\n\n dispatch(refreshTimelineRequest(timelineId, skipLoading));\n\n api(getState).get(path, { params: params }).then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(refreshTimelineSuccess(timelineId, response.data, skipLoading, next ? next.uri : null));\n }).catch(function (error) {\n dispatch(refreshTimelineFail(timelineId, error, skipLoading));\n });\n };\n};\n\nexport var refreshHomeTimeline = function refreshHomeTimeline() {\n return refreshTimeline('home', '/api/v1/timelines/home');\n};\nexport var refreshPublicTimeline = function refreshPublicTimeline() {\n return refreshTimeline('public', '/api/v1/timelines/public');\n};\nexport var refreshCommunityTimeline = function refreshCommunityTimeline() {\n return refreshTimeline('community', '/api/v1/timelines/public', { local: true });\n};\nexport var refreshAccountTimeline = function refreshAccountTimeline(accountId) {\n return refreshTimeline('account:' + accountId, '/api/v1/accounts/' + accountId + '/statuses');\n};\nexport var refreshAccountMediaTimeline = function refreshAccountMediaTimeline(accountId) {\n return refreshTimeline('account:' + accountId + ':media', '/api/v1/accounts/' + accountId + '/statuses', { only_media: true });\n};\nexport var refreshHashtagTimeline = function refreshHashtagTimeline(hashtag) {\n return refreshTimeline('hashtag:' + hashtag, '/api/v1/timelines/tag/' + hashtag);\n};\n\nexport function refreshTimelineFail(timeline, error, skipLoading) {\n return {\n type: TIMELINE_REFRESH_FAIL,\n timeline: timeline,\n error: error,\n skipLoading: skipLoading,\n skipAlert: error.response && error.response.status === 404\n };\n};\n\nexport function expandTimeline(timelineId, path) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return function (dispatch, getState) {\n var timeline = getState().getIn(['timelines', timelineId], ImmutableMap());\n var ids = timeline.get('items', ImmutableList());\n\n if (timeline.get('isLoading') || ids.size === 0) {\n return;\n }\n\n params.max_id = ids.last();\n params.limit = 10;\n\n dispatch(expandTimelineRequest(timelineId));\n\n api(getState).get(path, { params: params }).then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(expandTimelineSuccess(timelineId, response.data, next ? next.uri : null));\n }).catch(function (error) {\n dispatch(expandTimelineFail(timelineId, error));\n });\n };\n};\n\nexport var expandHomeTimeline = function expandHomeTimeline() {\n return expandTimeline('home', '/api/v1/timelines/home');\n};\nexport var expandPublicTimeline = function expandPublicTimeline() {\n return expandTimeline('public', '/api/v1/timelines/public');\n};\nexport var expandCommunityTimeline = function expandCommunityTimeline() {\n return expandTimeline('community', '/api/v1/timelines/public', { local: true });\n};\nexport var expandAccountTimeline = function expandAccountTimeline(accountId) {\n return expandTimeline('account:' + accountId, '/api/v1/accounts/' + accountId + '/statuses');\n};\nexport var expandAccountMediaTimeline = function expandAccountMediaTimeline(accountId) {\n return expandTimeline('account:' + accountId + ':media', '/api/v1/accounts/' + accountId + '/statuses', { only_media: true });\n};\nexport var expandHashtagTimeline = function expandHashtagTimeline(hashtag) {\n return expandTimeline('hashtag:' + hashtag, '/api/v1/timelines/tag/' + hashtag);\n};\n\nexport function expandTimelineRequest(timeline) {\n return {\n type: TIMELINE_EXPAND_REQUEST,\n timeline: timeline\n };\n};\n\nexport function expandTimelineSuccess(timeline, statuses, next) {\n return {\n type: TIMELINE_EXPAND_SUCCESS,\n timeline: timeline,\n statuses: statuses,\n next: next\n };\n};\n\nexport function expandTimelineFail(timeline, error) {\n return {\n type: TIMELINE_EXPAND_FAIL,\n timeline: timeline,\n error: error\n };\n};\n\nexport function scrollTopTimeline(timeline, top) {\n return {\n type: TIMELINE_SCROLL_TOP,\n timeline: timeline,\n top: top\n };\n};\n\nexport function connectTimeline(timeline) {\n return {\n type: TIMELINE_CONNECT,\n timeline: timeline\n };\n};\n\nexport function disconnectTimeline(timeline) {\n return {\n type: TIMELINE_DISCONNECT,\n timeline: timeline\n };\n};" + }, + { + "id": 17, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/api.js", + "name": "./app/javascript/mastodon/api.js", + "index": 215, + "index2": 242, + "size": 569, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "issuerId": 45, + "issuerName": "./app/javascript/mastodon/actions/notifications.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 15, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/compose.js", + "module": "./app/javascript/mastodon/actions/compose.js", + "moduleName": "./app/javascript/mastodon/actions/compose.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "3:0-25" + }, + { + "moduleId": 16, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/timelines.js", + "module": "./app/javascript/mastodon/actions/timelines.js", + "moduleName": "./app/javascript/mastodon/actions/timelines.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-39" + }, + { + "moduleId": 22, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/accounts.js", + "module": "./app/javascript/mastodon/actions/accounts.js", + "moduleName": "./app/javascript/mastodon/actions/accounts.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-39" + }, + { + "moduleId": 43, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/interactions.js", + "module": "./app/javascript/mastodon/actions/interactions.js", + "moduleName": "./app/javascript/mastodon/actions/interactions.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-25" + }, + { + "moduleId": 45, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "module": "./app/javascript/mastodon/actions/notifications.js", + "moduleName": "./app/javascript/mastodon/actions/notifications.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-39" + }, + { + "moduleId": 57, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/statuses.js", + "module": "./app/javascript/mastodon/actions/statuses.js", + "moduleName": "./app/javascript/mastodon/actions/statuses.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-25" + }, + { + "moduleId": 73, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/search.js", + "module": "./app/javascript/mastodon/actions/search.js", + "moduleName": "./app/javascript/mastodon/actions/search.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-25" + }, + { + "moduleId": 74, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/favourites.js", + "module": "./app/javascript/mastodon/actions/favourites.js", + "moduleName": "./app/javascript/mastodon/actions/favourites.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-39" + }, + { + "moduleId": 105, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/blocks.js", + "module": "./app/javascript/mastodon/actions/blocks.js", + "moduleName": "./app/javascript/mastodon/actions/blocks.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-39" + }, + { + "moduleId": 106, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/mutes.js", + "module": "./app/javascript/mastodon/actions/mutes.js", + "moduleName": "./app/javascript/mastodon/actions/mutes.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-39" + }, + { + "moduleId": 151, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/reports.js", + "module": "./app/javascript/mastodon/actions/reports.js", + "moduleName": "./app/javascript/mastodon/actions/reports.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-25" + }, + { + "moduleId": 163, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/pin_statuses.js", + "module": "./app/javascript/mastodon/actions/pin_statuses.js", + "moduleName": "./app/javascript/mastodon/actions/pin_statuses.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-25" + }, + { + "moduleId": 212, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/cards.js", + "module": "./app/javascript/mastodon/actions/cards.js", + "moduleName": "./app/javascript/mastodon/actions/cards.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-25" + }, + { + "moduleId": 285, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/domain_blocks.js", + "module": "./app/javascript/mastodon/actions/domain_blocks.js", + "moduleName": "./app/javascript/mastodon/actions/domain_blocks.js", + "type": "harmony import", + "userRequest": "../api", + "loc": "1:0-39" + } + ], + "usedExports": [ + "default", + "getLinks" + ], + "providedExports": [ + "getLinks", + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import axios from 'axios';\nimport LinkHeader from './link_header';\n\nexport var getLinks = function getLinks(response) {\n var value = response.headers.link;\n\n if (!value) {\n return { refs: [] };\n }\n\n return LinkHeader.parse(value);\n};\n\nexport default (function (getState) {\n return axios.create({\n headers: {\n 'Authorization': 'Bearer ' + getState().getIn(['meta', 'access_token'], '')\n },\n\n transformResponse: [function (data) {\n try {\n return JSON.parse(data);\n } catch (Exception) {\n return data;\n }\n }]\n });\n});" + }, + { + "id": 18, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/initial_state.js", + "name": "./app/javascript/mastodon/initial_state.js", + "index": 315, + "index2": 309, + "size": 549, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji.js", + "issuerId": 60, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 26, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/optional_motion.js", + "module": "./app/javascript/mastodon/features/ui/util/optional_motion.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/optional_motion.js", + "type": "harmony import", + "userRequest": "../../../initial_state", + "loc": "1:0-54" + }, + { + "moduleId": 60, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji.js", + "module": "./app/javascript/mastodon/features/emoji/emoji.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji.js", + "type": "harmony import", + "userRequest": "../../initial_state", + "loc": "1:0-50" + }, + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "../../../initial_state", + "loc": "8:0-44" + }, + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "../initial_state", + "loc": "16:0-47" + }, + { + "moduleId": 163, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/pin_statuses.js", + "module": "./app/javascript/mastodon/actions/pin_statuses.js", + "moduleName": "./app/javascript/mastodon/actions/pin_statuses.js", + "type": "harmony import", + "userRequest": "../initial_state", + "loc": "7:0-38" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "../initial_state", + "loc": "17:0-44" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "../initial_state", + "loc": "13:0-59" + }, + { + "moduleId": 311, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/warning_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/warning_container.js", + "type": "harmony import", + "userRequest": "../../../initial_state", + "loc": "7:0-44" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "../initial_state", + "loc": "14:0-44" + }, + { + "moduleId": 451, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/compose.js", + "module": "./app/javascript/mastodon/reducers/compose.js", + "moduleName": "./app/javascript/mastodon/reducers/compose.js", + "type": "harmony import", + "userRequest": "../initial_state", + "loc": "6:0-38" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "../initial_state", + "loc": "15:0-38" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "../../initial_state", + "loc": "28:0-41" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "../initial_state", + "loc": "13:0-44" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../initial_state", + "loc": "30:0-62" + }, + { + "moduleId": 759, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/getting_started/index.js", + "module": "./app/javascript/mastodon/features/getting_started/index.js", + "moduleName": "./app/javascript/mastodon/features/getting_started/index.js", + "type": "harmony import", + "userRequest": "../../initial_state", + "loc": "17:0-41" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "../../../initial_state", + "loc": "20:0-44" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../initial_state", + "loc": "9:0-49" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "../initial_state", + "loc": "17:0-38" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../../../initial_state", + "loc": "12:0-55" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "../../../initial_state", + "loc": "16:0-57" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "../../../initial_state", + "loc": "13:0-44" + }, + { + "moduleId": 879, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/navigation_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/navigation_container.js", + "type": "harmony import", + "userRequest": "../../../initial_state", + "loc": "3:0-44" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "../../../initial_state", + "loc": "14:0-44" + } + ], + "usedExports": [ + "autoPlayGif", + "boostModal", + "default", + "deleteModal", + "me", + "reduceMotion", + "unfollowModal" + ], + "providedExports": [ + "reduceMotion", + "autoPlayGif", + "unfollowModal", + "boostModal", + "deleteModal", + "me", + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "var element = document.getElementById('initial-state');\nvar initialState = element && JSON.parse(element.textContent);\n\nvar getMeta = function getMeta(prop) {\n return initialState && initialState.meta && initialState.meta[prop];\n};\n\nexport var reduceMotion = getMeta('reduce_motion');\nexport var autoPlayGif = getMeta('auto_play_gif');\nexport var unfollowModal = getMeta('unfollow_modal');\nexport var boostModal = getMeta('boost_modal');\nexport var deleteModal = getMeta('delete_modal');\nexport var me = getMeta('me');\n\nexport default initialState;" + }, + { + "id": 19, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "name": "./app/javascript/mastodon/components/icon_button.js", + "index": 367, + "index2": 371, + "size": 3499, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "issuerId": 159, + "issuerName": "./app/javascript/mastodon/components/media_gallery.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "./icon_button", + "loc": "12:0-39" + }, + { + "moduleId": 258, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_column_error.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "12:0-57" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "12:0-57" + }, + { + "moduleId": 296, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_button.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_button.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "9:0-57" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "11:0-57" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "9:0-57" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "11:0-57" + }, + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "./icon_button", + "loc": "11:0-39" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "./icon_button", + "loc": "11:0-39" + }, + { + "moduleId": 633, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "module": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "9:0-57" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "16:0-57" + }, + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "14:0-57" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "./icon_button", + "loc": "14:0-39" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "12:0-57" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "12:0-57" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "10:0-57" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "../../../components/icon_button", + "loc": "14:0-57" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport Motion from '../features/ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nimport classNames from 'classnames';\n\nvar IconButton = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(IconButton, _React$PureComponent);\n\n function IconButton() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, IconButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n e.preventDefault();\n\n if (!_this.props.disabled) {\n _this.props.onClick(e);\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n IconButton.prototype.render = function render() {\n var _this2 = this;\n\n var style = Object.assign({\n fontSize: this.props.size + 'px',\n width: this.props.size * 1.28571429 + 'px',\n height: this.props.size * 1.28571429 + 'px',\n lineHeight: this.props.size + 'px'\n }, this.props.style, this.props.active ? this.props.activeStyle : {});\n\n var _props = this.props,\n active = _props.active,\n animate = _props.animate,\n className = _props.className,\n disabled = _props.disabled,\n expanded = _props.expanded,\n icon = _props.icon,\n inverted = _props.inverted,\n overlay = _props.overlay,\n pressed = _props.pressed,\n tabIndex = _props.tabIndex,\n title = _props.title;\n\n\n var classes = classNames(className, 'icon-button', {\n active: active,\n disabled: disabled,\n inverted: inverted,\n overlayed: overlay\n });\n\n if (!animate) {\n // Perf optimization: avoid unnecessary components unless\n // we actually need to animate.\n return _jsx('button', {\n 'aria-label': title,\n 'aria-pressed': pressed,\n 'aria-expanded': expanded,\n title: title,\n className: classes,\n onClick: this.handleClick,\n style: style,\n tabIndex: tabIndex\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-' + icon,\n 'aria-hidden': 'true'\n }));\n }\n\n return _jsx(Motion, {\n defaultStyle: { rotate: active ? -360 : 0 },\n style: { rotate: animate ? spring(active ? -360 : 0, { stiffness: 120, damping: 7 }) : 0 }\n }, void 0, function (_ref) {\n var rotate = _ref.rotate;\n return _jsx('button', {\n 'aria-label': title,\n 'aria-pressed': pressed,\n 'aria-expanded': expanded,\n title: title,\n className: classes,\n onClick: _this2.handleClick,\n style: style,\n tabIndex: tabIndex\n }, void 0, _jsx('i', {\n style: { transform: 'rotate(' + rotate + 'deg)' },\n className: 'fa fa-fw fa-' + icon,\n 'aria-hidden': 'true'\n }));\n });\n };\n\n return IconButton;\n}(React.PureComponent), _class.defaultProps = {\n size: 18,\n active: false,\n disabled: false,\n animate: false,\n overlay: false,\n tabIndex: '0'\n}, _temp2);\nexport { IconButton as default };" + }, + { + "id": 20, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/utils.js", + "name": "./node_modules/axios/lib/utils.js", + "index": 218, + "index2": 211, + "size": 7529, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "issuerId": 387, + "issuerName": "./node_modules/axios/lib/axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 127, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/defaults.js", + "module": "./node_modules/axios/lib/defaults.js", + "moduleName": "./node_modules/axios/lib/defaults.js", + "type": "cjs require", + "userRequest": "./utils", + "loc": "3:12-30" + }, + { + "moduleId": 201, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "module": "./node_modules/axios/lib/adapters/xhr.js", + "moduleName": "./node_modules/axios/lib/adapters/xhr.js", + "type": "cjs require", + "userRequest": "./../utils", + "loc": "3:12-33" + }, + { + "moduleId": 387, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "module": "./node_modules/axios/lib/axios.js", + "moduleName": "./node_modules/axios/lib/axios.js", + "type": "cjs require", + "userRequest": "./utils", + "loc": "3:12-30" + }, + { + "moduleId": 389, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "module": "./node_modules/axios/lib/core/Axios.js", + "moduleName": "./node_modules/axios/lib/core/Axios.js", + "type": "cjs require", + "userRequest": "./../utils", + "loc": "4:12-33" + }, + { + "moduleId": 390, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/normalizeHeaderName.js", + "module": "./node_modules/axios/lib/helpers/normalizeHeaderName.js", + "moduleName": "./node_modules/axios/lib/helpers/normalizeHeaderName.js", + "type": "cjs require", + "userRequest": "../utils", + "loc": "3:12-31" + }, + { + "moduleId": 393, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/buildURL.js", + "module": "./node_modules/axios/lib/helpers/buildURL.js", + "moduleName": "./node_modules/axios/lib/helpers/buildURL.js", + "type": "cjs require", + "userRequest": "./../utils", + "loc": "3:12-33" + }, + { + "moduleId": 394, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/parseHeaders.js", + "module": "./node_modules/axios/lib/helpers/parseHeaders.js", + "moduleName": "./node_modules/axios/lib/helpers/parseHeaders.js", + "type": "cjs require", + "userRequest": "./../utils", + "loc": "3:12-33" + }, + { + "moduleId": 395, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/isURLSameOrigin.js", + "module": "./node_modules/axios/lib/helpers/isURLSameOrigin.js", + "moduleName": "./node_modules/axios/lib/helpers/isURLSameOrigin.js", + "type": "cjs require", + "userRequest": "./../utils", + "loc": "3:12-33" + }, + { + "moduleId": 397, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/cookies.js", + "module": "./node_modules/axios/lib/helpers/cookies.js", + "moduleName": "./node_modules/axios/lib/helpers/cookies.js", + "type": "cjs require", + "userRequest": "./../utils", + "loc": "3:12-33" + }, + { + "moduleId": 398, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/InterceptorManager.js", + "module": "./node_modules/axios/lib/core/InterceptorManager.js", + "moduleName": "./node_modules/axios/lib/core/InterceptorManager.js", + "type": "cjs require", + "userRequest": "./../utils", + "loc": "3:12-33" + }, + { + "moduleId": 399, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/dispatchRequest.js", + "module": "./node_modules/axios/lib/core/dispatchRequest.js", + "moduleName": "./node_modules/axios/lib/core/dispatchRequest.js", + "type": "cjs require", + "userRequest": "./../utils", + "loc": "3:12-33" + }, + { + "moduleId": 400, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/transformData.js", + "module": "./node_modules/axios/lib/core/transformData.js", + "moduleName": "./node_modules/axios/lib/core/transformData.js", + "type": "cjs require", + "userRequest": "./../utils", + "loc": "3:12-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object' && !isArray(obj)) {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge() /* obj1, obj2, obj3, ... */{\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};" + }, + { + "id": 21, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/index.js", + "name": "./node_modules/react-dom/index.js", + "index": 387, + "index2": 384, + "size": 1350, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "issuerId": 652, + "issuerName": "./app/javascript/packs/public.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 65, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/ownerDocument.js", + "module": "./node_modules/react-overlays/lib/utils/ownerDocument.js", + "moduleName": "./node_modules/react-overlays/lib/utils/ownerDocument.js", + "type": "cjs require", + "userRequest": "react-dom", + "loc": "9:16-36" + }, + { + "moduleId": 133, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/getContainer.js", + "module": "./node_modules/react-overlays/lib/utils/getContainer.js", + "moduleName": "./node_modules/react-overlays/lib/utils/getContainer.js", + "type": "cjs require", + "userRequest": "react-dom", + "loc": "6:16-36" + }, + { + "moduleId": 152, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "module": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "moduleName": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "type": "harmony import", + "userRequest": "react-dom", + "loc": "2:0-33" + }, + { + "moduleId": 319, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/about.js", + "module": "./app/javascript/packs/about.js", + "moduleName": "./app/javascript/packs/about.js", + "type": "cjs require", + "userRequest": "react-dom", + "loc": "8:17-37" + }, + { + "moduleId": 477, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Portal.js", + "module": "./node_modules/react-overlays/lib/Portal.js", + "moduleName": "./node_modules/react-overlays/lib/Portal.js", + "type": "cjs require", + "userRequest": "react-dom", + "loc": "17:16-36" + }, + { + "moduleId": 487, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/LegacyPortal.js", + "module": "./node_modules/react-overlays/lib/LegacyPortal.js", + "moduleName": "./node_modules/react-overlays/lib/LegacyPortal.js", + "type": "cjs require", + "userRequest": "react-dom", + "loc": "17:16-36" + }, + { + "moduleId": 488, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "module": "./node_modules/react-overlays/lib/Position.js", + "moduleName": "./node_modules/react-overlays/lib/Position.js", + "type": "cjs require", + "userRequest": "react-dom", + "loc": "31:16-36" + }, + { + "moduleId": 498, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/RootCloseWrapper.js", + "module": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "moduleName": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "type": "cjs require", + "userRequest": "react-dom", + "loc": "17:16-36" + }, + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "react-dom", + "loc": "29:16-36" + }, + { + "moduleId": 624, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "module": "./app/javascript/mastodon/main.js", + "moduleName": "./app/javascript/mastodon/main.js", + "type": "harmony import", + "userRequest": "react-dom", + "loc": "4:0-33" + }, + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "cjs require", + "userRequest": "react-dom", + "loc": "42:17-37" + }, + { + "moduleId": 656, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "module": "./app/javascript/packs/share.js", + "moduleName": "./app/javascript/packs/share.js", + "type": "cjs require", + "userRequest": "react-dom", + "loc": "8:17-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function') {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}" + }, + { + "id": 22, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/accounts.js", + "name": "./app/javascript/mastodon/actions/accounts.js", + "index": 249, + "index2": 244, + "size": 17521, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "issuerId": 45, + "issuerName": "./app/javascript/mastodon/actions/notifications.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 45, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "module": "./app/javascript/mastodon/actions/notifications.js", + "moduleName": "./app/javascript/mastodon/actions/notifications.js", + "type": "harmony import", + "userRequest": "./accounts", + "loc": "4:0-48" + }, + { + "moduleId": 105, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/blocks.js", + "module": "./app/javascript/mastodon/actions/blocks.js", + "moduleName": "./app/javascript/mastodon/actions/blocks.js", + "type": "harmony import", + "userRequest": "./accounts", + "loc": "2:0-48" + }, + { + "moduleId": 106, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/mutes.js", + "module": "./app/javascript/mastodon/actions/mutes.js", + "moduleName": "./app/javascript/mastodon/actions/mutes.js", + "type": "harmony import", + "userRequest": "./accounts", + "loc": "2:0-48" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "../actions/accounts", + "loc": "8:0-64" + }, + { + "moduleId": 386, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/timelines.js", + "module": "./app/javascript/mastodon/reducers/timelines.js", + "moduleName": "./app/javascript/mastodon/reducers/timelines.js", + "type": "harmony import", + "userRequest": "../actions/accounts", + "loc": "2:0-108" + }, + { + "moduleId": 415, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/user_lists.js", + "module": "./app/javascript/mastodon/reducers/user_lists.js", + "moduleName": "./app/javascript/mastodon/reducers/user_lists.js", + "type": "harmony import", + "userRequest": "../actions/accounts", + "loc": "1:0-267" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/accounts", + "loc": "1:0-225" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/accounts", + "loc": "1:0-275" + }, + { + "moduleId": 443, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "module": "./app/javascript/mastodon/reducers/statuses.js", + "moduleName": "./app/javascript/mastodon/reducers/statuses.js", + "type": "harmony import", + "userRequest": "../actions/accounts", + "loc": "4:0-82" + }, + { + "moduleId": 444, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/relationships.js", + "module": "./app/javascript/mastodon/reducers/relationships.js", + "moduleName": "./app/javascript/mastodon/reducers/relationships.js", + "type": "harmony import", + "userRequest": "../actions/accounts", + "loc": "1:0-210" + }, + { + "moduleId": 454, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/notifications.js", + "module": "./app/javascript/mastodon/reducers/notifications.js", + "moduleName": "./app/javascript/mastodon/reducers/notifications.js", + "type": "harmony import", + "userRequest": "../actions/accounts", + "loc": "2:0-82" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/accounts", + "loc": "12:0-54" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../actions/accounts", + "loc": "12:0-54" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../actions/accounts", + "loc": "13:0-87" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../actions/accounts", + "loc": "13:0-87" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../../actions/accounts", + "loc": "17:0-83" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../actions/accounts", + "loc": "7:0-127" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../../../actions/accounts", + "loc": "6:0-133" + }, + { + "moduleId": 899, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "module": "./app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "type": "harmony import", + "userRequest": "../../../actions/accounts", + "loc": "4:0-88" + } + ], + "usedExports": [ + "ACCOUNT_BLOCK_SUCCESS", + "ACCOUNT_FETCH_SUCCESS", + "ACCOUNT_FOLLOW_SUCCESS", + "ACCOUNT_MUTE_SUCCESS", + "ACCOUNT_UNBLOCK_SUCCESS", + "ACCOUNT_UNFOLLOW_SUCCESS", + "ACCOUNT_UNMUTE_SUCCESS", + "FOLLOWERS_EXPAND_SUCCESS", + "FOLLOWERS_FETCH_SUCCESS", + "FOLLOWING_EXPAND_SUCCESS", + "FOLLOWING_FETCH_SUCCESS", + "FOLLOW_REQUESTS_EXPAND_SUCCESS", + "FOLLOW_REQUESTS_FETCH_SUCCESS", + "FOLLOW_REQUEST_AUTHORIZE_SUCCESS", + "FOLLOW_REQUEST_REJECT_SUCCESS", + "RELATIONSHIPS_FETCH_SUCCESS", + "authorizeFollowRequest", + "blockAccount", + "expandFollowRequests", + "expandFollowers", + "expandFollowing", + "fetchAccount", + "fetchFollowRequests", + "fetchFollowers", + "fetchFollowing", + "fetchRelationships", + "followAccount", + "muteAccount", + "rejectFollowRequest", + "unblockAccount", + "unfollowAccount", + "unmuteAccount" + ], + "providedExports": [ + "ACCOUNT_FETCH_REQUEST", + "ACCOUNT_FETCH_SUCCESS", + "ACCOUNT_FETCH_FAIL", + "ACCOUNT_FOLLOW_REQUEST", + "ACCOUNT_FOLLOW_SUCCESS", + "ACCOUNT_FOLLOW_FAIL", + "ACCOUNT_UNFOLLOW_REQUEST", + "ACCOUNT_UNFOLLOW_SUCCESS", + "ACCOUNT_UNFOLLOW_FAIL", + "ACCOUNT_BLOCK_REQUEST", + "ACCOUNT_BLOCK_SUCCESS", + "ACCOUNT_BLOCK_FAIL", + "ACCOUNT_UNBLOCK_REQUEST", + "ACCOUNT_UNBLOCK_SUCCESS", + "ACCOUNT_UNBLOCK_FAIL", + "ACCOUNT_MUTE_REQUEST", + "ACCOUNT_MUTE_SUCCESS", + "ACCOUNT_MUTE_FAIL", + "ACCOUNT_UNMUTE_REQUEST", + "ACCOUNT_UNMUTE_SUCCESS", + "ACCOUNT_UNMUTE_FAIL", + "FOLLOWERS_FETCH_REQUEST", + "FOLLOWERS_FETCH_SUCCESS", + "FOLLOWERS_FETCH_FAIL", + "FOLLOWERS_EXPAND_REQUEST", + "FOLLOWERS_EXPAND_SUCCESS", + "FOLLOWERS_EXPAND_FAIL", + "FOLLOWING_FETCH_REQUEST", + "FOLLOWING_FETCH_SUCCESS", + "FOLLOWING_FETCH_FAIL", + "FOLLOWING_EXPAND_REQUEST", + "FOLLOWING_EXPAND_SUCCESS", + "FOLLOWING_EXPAND_FAIL", + "RELATIONSHIPS_FETCH_REQUEST", + "RELATIONSHIPS_FETCH_SUCCESS", + "RELATIONSHIPS_FETCH_FAIL", + "FOLLOW_REQUESTS_FETCH_REQUEST", + "FOLLOW_REQUESTS_FETCH_SUCCESS", + "FOLLOW_REQUESTS_FETCH_FAIL", + "FOLLOW_REQUESTS_EXPAND_REQUEST", + "FOLLOW_REQUESTS_EXPAND_SUCCESS", + "FOLLOW_REQUESTS_EXPAND_FAIL", + "FOLLOW_REQUEST_AUTHORIZE_REQUEST", + "FOLLOW_REQUEST_AUTHORIZE_SUCCESS", + "FOLLOW_REQUEST_AUTHORIZE_FAIL", + "FOLLOW_REQUEST_REJECT_REQUEST", + "FOLLOW_REQUEST_REJECT_SUCCESS", + "FOLLOW_REQUEST_REJECT_FAIL", + "fetchAccount", + "fetchAccountRequest", + "fetchAccountSuccess", + "fetchAccountFail", + "followAccount", + "unfollowAccount", + "followAccountRequest", + "followAccountSuccess", + "followAccountFail", + "unfollowAccountRequest", + "unfollowAccountSuccess", + "unfollowAccountFail", + "blockAccount", + "unblockAccount", + "blockAccountRequest", + "blockAccountSuccess", + "blockAccountFail", + "unblockAccountRequest", + "unblockAccountSuccess", + "unblockAccountFail", + "muteAccount", + "unmuteAccount", + "muteAccountRequest", + "muteAccountSuccess", + "muteAccountFail", + "unmuteAccountRequest", + "unmuteAccountSuccess", + "unmuteAccountFail", + "fetchFollowers", + "fetchFollowersRequest", + "fetchFollowersSuccess", + "fetchFollowersFail", + "expandFollowers", + "expandFollowersRequest", + "expandFollowersSuccess", + "expandFollowersFail", + "fetchFollowing", + "fetchFollowingRequest", + "fetchFollowingSuccess", + "fetchFollowingFail", + "expandFollowing", + "expandFollowingRequest", + "expandFollowingSuccess", + "expandFollowingFail", + "fetchRelationships", + "fetchRelationshipsRequest", + "fetchRelationshipsSuccess", + "fetchRelationshipsFail", + "fetchFollowRequests", + "fetchFollowRequestsRequest", + "fetchFollowRequestsSuccess", + "fetchFollowRequestsFail", + "expandFollowRequests", + "expandFollowRequestsRequest", + "expandFollowRequestsSuccess", + "expandFollowRequestsFail", + "authorizeFollowRequest", + "authorizeFollowRequestRequest", + "authorizeFollowRequestSuccess", + "authorizeFollowRequestFail", + "rejectFollowRequest", + "rejectFollowRequestRequest", + "rejectFollowRequestSuccess", + "rejectFollowRequestFail" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import api, { getLinks } from '../api';\n\nexport var ACCOUNT_FETCH_REQUEST = 'ACCOUNT_FETCH_REQUEST';\nexport var ACCOUNT_FETCH_SUCCESS = 'ACCOUNT_FETCH_SUCCESS';\nexport var ACCOUNT_FETCH_FAIL = 'ACCOUNT_FETCH_FAIL';\n\nexport var ACCOUNT_FOLLOW_REQUEST = 'ACCOUNT_FOLLOW_REQUEST';\nexport var ACCOUNT_FOLLOW_SUCCESS = 'ACCOUNT_FOLLOW_SUCCESS';\nexport var ACCOUNT_FOLLOW_FAIL = 'ACCOUNT_FOLLOW_FAIL';\n\nexport var ACCOUNT_UNFOLLOW_REQUEST = 'ACCOUNT_UNFOLLOW_REQUEST';\nexport var ACCOUNT_UNFOLLOW_SUCCESS = 'ACCOUNT_UNFOLLOW_SUCCESS';\nexport var ACCOUNT_UNFOLLOW_FAIL = 'ACCOUNT_UNFOLLOW_FAIL';\n\nexport var ACCOUNT_BLOCK_REQUEST = 'ACCOUNT_BLOCK_REQUEST';\nexport var ACCOUNT_BLOCK_SUCCESS = 'ACCOUNT_BLOCK_SUCCESS';\nexport var ACCOUNT_BLOCK_FAIL = 'ACCOUNT_BLOCK_FAIL';\n\nexport var ACCOUNT_UNBLOCK_REQUEST = 'ACCOUNT_UNBLOCK_REQUEST';\nexport var ACCOUNT_UNBLOCK_SUCCESS = 'ACCOUNT_UNBLOCK_SUCCESS';\nexport var ACCOUNT_UNBLOCK_FAIL = 'ACCOUNT_UNBLOCK_FAIL';\n\nexport var ACCOUNT_MUTE_REQUEST = 'ACCOUNT_MUTE_REQUEST';\nexport var ACCOUNT_MUTE_SUCCESS = 'ACCOUNT_MUTE_SUCCESS';\nexport var ACCOUNT_MUTE_FAIL = 'ACCOUNT_MUTE_FAIL';\n\nexport var ACCOUNT_UNMUTE_REQUEST = 'ACCOUNT_UNMUTE_REQUEST';\nexport var ACCOUNT_UNMUTE_SUCCESS = 'ACCOUNT_UNMUTE_SUCCESS';\nexport var ACCOUNT_UNMUTE_FAIL = 'ACCOUNT_UNMUTE_FAIL';\n\nexport var FOLLOWERS_FETCH_REQUEST = 'FOLLOWERS_FETCH_REQUEST';\nexport var FOLLOWERS_FETCH_SUCCESS = 'FOLLOWERS_FETCH_SUCCESS';\nexport var FOLLOWERS_FETCH_FAIL = 'FOLLOWERS_FETCH_FAIL';\n\nexport var FOLLOWERS_EXPAND_REQUEST = 'FOLLOWERS_EXPAND_REQUEST';\nexport var FOLLOWERS_EXPAND_SUCCESS = 'FOLLOWERS_EXPAND_SUCCESS';\nexport var FOLLOWERS_EXPAND_FAIL = 'FOLLOWERS_EXPAND_FAIL';\n\nexport var FOLLOWING_FETCH_REQUEST = 'FOLLOWING_FETCH_REQUEST';\nexport var FOLLOWING_FETCH_SUCCESS = 'FOLLOWING_FETCH_SUCCESS';\nexport var FOLLOWING_FETCH_FAIL = 'FOLLOWING_FETCH_FAIL';\n\nexport var FOLLOWING_EXPAND_REQUEST = 'FOLLOWING_EXPAND_REQUEST';\nexport var FOLLOWING_EXPAND_SUCCESS = 'FOLLOWING_EXPAND_SUCCESS';\nexport var FOLLOWING_EXPAND_FAIL = 'FOLLOWING_EXPAND_FAIL';\n\nexport var RELATIONSHIPS_FETCH_REQUEST = 'RELATIONSHIPS_FETCH_REQUEST';\nexport var RELATIONSHIPS_FETCH_SUCCESS = 'RELATIONSHIPS_FETCH_SUCCESS';\nexport var RELATIONSHIPS_FETCH_FAIL = 'RELATIONSHIPS_FETCH_FAIL';\n\nexport var FOLLOW_REQUESTS_FETCH_REQUEST = 'FOLLOW_REQUESTS_FETCH_REQUEST';\nexport var FOLLOW_REQUESTS_FETCH_SUCCESS = 'FOLLOW_REQUESTS_FETCH_SUCCESS';\nexport var FOLLOW_REQUESTS_FETCH_FAIL = 'FOLLOW_REQUESTS_FETCH_FAIL';\n\nexport var FOLLOW_REQUESTS_EXPAND_REQUEST = 'FOLLOW_REQUESTS_EXPAND_REQUEST';\nexport var FOLLOW_REQUESTS_EXPAND_SUCCESS = 'FOLLOW_REQUESTS_EXPAND_SUCCESS';\nexport var FOLLOW_REQUESTS_EXPAND_FAIL = 'FOLLOW_REQUESTS_EXPAND_FAIL';\n\nexport var FOLLOW_REQUEST_AUTHORIZE_REQUEST = 'FOLLOW_REQUEST_AUTHORIZE_REQUEST';\nexport var FOLLOW_REQUEST_AUTHORIZE_SUCCESS = 'FOLLOW_REQUEST_AUTHORIZE_SUCCESS';\nexport var FOLLOW_REQUEST_AUTHORIZE_FAIL = 'FOLLOW_REQUEST_AUTHORIZE_FAIL';\n\nexport var FOLLOW_REQUEST_REJECT_REQUEST = 'FOLLOW_REQUEST_REJECT_REQUEST';\nexport var FOLLOW_REQUEST_REJECT_SUCCESS = 'FOLLOW_REQUEST_REJECT_SUCCESS';\nexport var FOLLOW_REQUEST_REJECT_FAIL = 'FOLLOW_REQUEST_REJECT_FAIL';\n\nexport function fetchAccount(id) {\n return function (dispatch, getState) {\n dispatch(fetchRelationships([id]));\n\n if (getState().getIn(['accounts', id], null) !== null) {\n return;\n }\n\n dispatch(fetchAccountRequest(id));\n\n api(getState).get('/api/v1/accounts/' + id).then(function (response) {\n dispatch(fetchAccountSuccess(response.data));\n }).catch(function (error) {\n dispatch(fetchAccountFail(id, error));\n });\n };\n};\n\nexport function fetchAccountRequest(id) {\n return {\n type: ACCOUNT_FETCH_REQUEST,\n id: id\n };\n};\n\nexport function fetchAccountSuccess(account) {\n return {\n type: ACCOUNT_FETCH_SUCCESS,\n account: account\n };\n};\n\nexport function fetchAccountFail(id, error) {\n return {\n type: ACCOUNT_FETCH_FAIL,\n id: id,\n error: error,\n skipAlert: true\n };\n};\n\nexport function followAccount(id) {\n return function (dispatch, getState) {\n dispatch(followAccountRequest(id));\n\n api(getState).post('/api/v1/accounts/' + id + '/follow').then(function (response) {\n dispatch(followAccountSuccess(response.data));\n }).catch(function (error) {\n dispatch(followAccountFail(error));\n });\n };\n};\n\nexport function unfollowAccount(id) {\n return function (dispatch, getState) {\n dispatch(unfollowAccountRequest(id));\n\n api(getState).post('/api/v1/accounts/' + id + '/unfollow').then(function (response) {\n dispatch(unfollowAccountSuccess(response.data, getState().get('statuses')));\n }).catch(function (error) {\n dispatch(unfollowAccountFail(error));\n });\n };\n};\n\nexport function followAccountRequest(id) {\n return {\n type: ACCOUNT_FOLLOW_REQUEST,\n id: id\n };\n};\n\nexport function followAccountSuccess(relationship) {\n return {\n type: ACCOUNT_FOLLOW_SUCCESS,\n relationship: relationship\n };\n};\n\nexport function followAccountFail(error) {\n return {\n type: ACCOUNT_FOLLOW_FAIL,\n error: error\n };\n};\n\nexport function unfollowAccountRequest(id) {\n return {\n type: ACCOUNT_UNFOLLOW_REQUEST,\n id: id\n };\n};\n\nexport function unfollowAccountSuccess(relationship, statuses) {\n return {\n type: ACCOUNT_UNFOLLOW_SUCCESS,\n relationship: relationship,\n statuses: statuses\n };\n};\n\nexport function unfollowAccountFail(error) {\n return {\n type: ACCOUNT_UNFOLLOW_FAIL,\n error: error\n };\n};\n\nexport function blockAccount(id) {\n return function (dispatch, getState) {\n dispatch(blockAccountRequest(id));\n\n api(getState).post('/api/v1/accounts/' + id + '/block').then(function (response) {\n // Pass in entire statuses map so we can use it to filter stuff in different parts of the reducers\n dispatch(blockAccountSuccess(response.data, getState().get('statuses')));\n }).catch(function (error) {\n dispatch(blockAccountFail(id, error));\n });\n };\n};\n\nexport function unblockAccount(id) {\n return function (dispatch, getState) {\n dispatch(unblockAccountRequest(id));\n\n api(getState).post('/api/v1/accounts/' + id + '/unblock').then(function (response) {\n dispatch(unblockAccountSuccess(response.data));\n }).catch(function (error) {\n dispatch(unblockAccountFail(id, error));\n });\n };\n};\n\nexport function blockAccountRequest(id) {\n return {\n type: ACCOUNT_BLOCK_REQUEST,\n id: id\n };\n};\n\nexport function blockAccountSuccess(relationship, statuses) {\n return {\n type: ACCOUNT_BLOCK_SUCCESS,\n relationship: relationship,\n statuses: statuses\n };\n};\n\nexport function blockAccountFail(error) {\n return {\n type: ACCOUNT_BLOCK_FAIL,\n error: error\n };\n};\n\nexport function unblockAccountRequest(id) {\n return {\n type: ACCOUNT_UNBLOCK_REQUEST,\n id: id\n };\n};\n\nexport function unblockAccountSuccess(relationship) {\n return {\n type: ACCOUNT_UNBLOCK_SUCCESS,\n relationship: relationship\n };\n};\n\nexport function unblockAccountFail(error) {\n return {\n type: ACCOUNT_UNBLOCK_FAIL,\n error: error\n };\n};\n\nexport function muteAccount(id) {\n return function (dispatch, getState) {\n dispatch(muteAccountRequest(id));\n\n api(getState).post('/api/v1/accounts/' + id + '/mute').then(function (response) {\n // Pass in entire statuses map so we can use it to filter stuff in different parts of the reducers\n dispatch(muteAccountSuccess(response.data, getState().get('statuses')));\n }).catch(function (error) {\n dispatch(muteAccountFail(id, error));\n });\n };\n};\n\nexport function unmuteAccount(id) {\n return function (dispatch, getState) {\n dispatch(unmuteAccountRequest(id));\n\n api(getState).post('/api/v1/accounts/' + id + '/unmute').then(function (response) {\n dispatch(unmuteAccountSuccess(response.data));\n }).catch(function (error) {\n dispatch(unmuteAccountFail(id, error));\n });\n };\n};\n\nexport function muteAccountRequest(id) {\n return {\n type: ACCOUNT_MUTE_REQUEST,\n id: id\n };\n};\n\nexport function muteAccountSuccess(relationship, statuses) {\n return {\n type: ACCOUNT_MUTE_SUCCESS,\n relationship: relationship,\n statuses: statuses\n };\n};\n\nexport function muteAccountFail(error) {\n return {\n type: ACCOUNT_MUTE_FAIL,\n error: error\n };\n};\n\nexport function unmuteAccountRequest(id) {\n return {\n type: ACCOUNT_UNMUTE_REQUEST,\n id: id\n };\n};\n\nexport function unmuteAccountSuccess(relationship) {\n return {\n type: ACCOUNT_UNMUTE_SUCCESS,\n relationship: relationship\n };\n};\n\nexport function unmuteAccountFail(error) {\n return {\n type: ACCOUNT_UNMUTE_FAIL,\n error: error\n };\n};\n\nexport function fetchFollowers(id) {\n return function (dispatch, getState) {\n dispatch(fetchFollowersRequest(id));\n\n api(getState).get('/api/v1/accounts/' + id + '/followers').then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n\n dispatch(fetchFollowersSuccess(id, response.data, next ? next.uri : null));\n dispatch(fetchRelationships(response.data.map(function (item) {\n return item.id;\n })));\n }).catch(function (error) {\n dispatch(fetchFollowersFail(id, error));\n });\n };\n};\n\nexport function fetchFollowersRequest(id) {\n return {\n type: FOLLOWERS_FETCH_REQUEST,\n id: id\n };\n};\n\nexport function fetchFollowersSuccess(id, accounts, next) {\n return {\n type: FOLLOWERS_FETCH_SUCCESS,\n id: id,\n accounts: accounts,\n next: next\n };\n};\n\nexport function fetchFollowersFail(id, error) {\n return {\n type: FOLLOWERS_FETCH_FAIL,\n id: id,\n error: error\n };\n};\n\nexport function expandFollowers(id) {\n return function (dispatch, getState) {\n var url = getState().getIn(['user_lists', 'followers', id, 'next']);\n\n if (url === null) {\n return;\n }\n\n dispatch(expandFollowersRequest(id));\n\n api(getState).get(url).then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n\n dispatch(expandFollowersSuccess(id, response.data, next ? next.uri : null));\n dispatch(fetchRelationships(response.data.map(function (item) {\n return item.id;\n })));\n }).catch(function (error) {\n dispatch(expandFollowersFail(id, error));\n });\n };\n};\n\nexport function expandFollowersRequest(id) {\n return {\n type: FOLLOWERS_EXPAND_REQUEST,\n id: id\n };\n};\n\nexport function expandFollowersSuccess(id, accounts, next) {\n return {\n type: FOLLOWERS_EXPAND_SUCCESS,\n id: id,\n accounts: accounts,\n next: next\n };\n};\n\nexport function expandFollowersFail(id, error) {\n return {\n type: FOLLOWERS_EXPAND_FAIL,\n id: id,\n error: error\n };\n};\n\nexport function fetchFollowing(id) {\n return function (dispatch, getState) {\n dispatch(fetchFollowingRequest(id));\n\n api(getState).get('/api/v1/accounts/' + id + '/following').then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n\n dispatch(fetchFollowingSuccess(id, response.data, next ? next.uri : null));\n dispatch(fetchRelationships(response.data.map(function (item) {\n return item.id;\n })));\n }).catch(function (error) {\n dispatch(fetchFollowingFail(id, error));\n });\n };\n};\n\nexport function fetchFollowingRequest(id) {\n return {\n type: FOLLOWING_FETCH_REQUEST,\n id: id\n };\n};\n\nexport function fetchFollowingSuccess(id, accounts, next) {\n return {\n type: FOLLOWING_FETCH_SUCCESS,\n id: id,\n accounts: accounts,\n next: next\n };\n};\n\nexport function fetchFollowingFail(id, error) {\n return {\n type: FOLLOWING_FETCH_FAIL,\n id: id,\n error: error\n };\n};\n\nexport function expandFollowing(id) {\n return function (dispatch, getState) {\n var url = getState().getIn(['user_lists', 'following', id, 'next']);\n\n if (url === null) {\n return;\n }\n\n dispatch(expandFollowingRequest(id));\n\n api(getState).get(url).then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n\n dispatch(expandFollowingSuccess(id, response.data, next ? next.uri : null));\n dispatch(fetchRelationships(response.data.map(function (item) {\n return item.id;\n })));\n }).catch(function (error) {\n dispatch(expandFollowingFail(id, error));\n });\n };\n};\n\nexport function expandFollowingRequest(id) {\n return {\n type: FOLLOWING_EXPAND_REQUEST,\n id: id\n };\n};\n\nexport function expandFollowingSuccess(id, accounts, next) {\n return {\n type: FOLLOWING_EXPAND_SUCCESS,\n id: id,\n accounts: accounts,\n next: next\n };\n};\n\nexport function expandFollowingFail(id, error) {\n return {\n type: FOLLOWING_EXPAND_FAIL,\n id: id,\n error: error\n };\n};\n\nexport function fetchRelationships(accountIds) {\n return function (dispatch, getState) {\n var loadedRelationships = getState().get('relationships');\n var newAccountIds = accountIds.filter(function (id) {\n return loadedRelationships.get(id, null) === null;\n });\n\n if (newAccountIds.length === 0) {\n return;\n }\n\n dispatch(fetchRelationshipsRequest(newAccountIds));\n\n api(getState).get('/api/v1/accounts/relationships?' + newAccountIds.map(function (id) {\n return 'id[]=' + id;\n }).join('&')).then(function (response) {\n dispatch(fetchRelationshipsSuccess(response.data));\n }).catch(function (error) {\n dispatch(fetchRelationshipsFail(error));\n });\n };\n};\n\nexport function fetchRelationshipsRequest(ids) {\n return {\n type: RELATIONSHIPS_FETCH_REQUEST,\n ids: ids,\n skipLoading: true\n };\n};\n\nexport function fetchRelationshipsSuccess(relationships) {\n return {\n type: RELATIONSHIPS_FETCH_SUCCESS,\n relationships: relationships,\n skipLoading: true\n };\n};\n\nexport function fetchRelationshipsFail(error) {\n return {\n type: RELATIONSHIPS_FETCH_FAIL,\n error: error,\n skipLoading: true\n };\n};\n\nexport function fetchFollowRequests() {\n return function (dispatch, getState) {\n dispatch(fetchFollowRequestsRequest());\n\n api(getState).get('/api/v1/follow_requests').then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(fetchFollowRequestsSuccess(response.data, next ? next.uri : null));\n }).catch(function (error) {\n return dispatch(fetchFollowRequestsFail(error));\n });\n };\n};\n\nexport function fetchFollowRequestsRequest() {\n return {\n type: FOLLOW_REQUESTS_FETCH_REQUEST\n };\n};\n\nexport function fetchFollowRequestsSuccess(accounts, next) {\n return {\n type: FOLLOW_REQUESTS_FETCH_SUCCESS,\n accounts: accounts,\n next: next\n };\n};\n\nexport function fetchFollowRequestsFail(error) {\n return {\n type: FOLLOW_REQUESTS_FETCH_FAIL,\n error: error\n };\n};\n\nexport function expandFollowRequests() {\n return function (dispatch, getState) {\n var url = getState().getIn(['user_lists', 'follow_requests', 'next']);\n\n if (url === null) {\n return;\n }\n\n dispatch(expandFollowRequestsRequest());\n\n api(getState).get(url).then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(expandFollowRequestsSuccess(response.data, next ? next.uri : null));\n }).catch(function (error) {\n return dispatch(expandFollowRequestsFail(error));\n });\n };\n};\n\nexport function expandFollowRequestsRequest() {\n return {\n type: FOLLOW_REQUESTS_EXPAND_REQUEST\n };\n};\n\nexport function expandFollowRequestsSuccess(accounts, next) {\n return {\n type: FOLLOW_REQUESTS_EXPAND_SUCCESS,\n accounts: accounts,\n next: next\n };\n};\n\nexport function expandFollowRequestsFail(error) {\n return {\n type: FOLLOW_REQUESTS_EXPAND_FAIL,\n error: error\n };\n};\n\nexport function authorizeFollowRequest(id) {\n return function (dispatch, getState) {\n dispatch(authorizeFollowRequestRequest(id));\n\n api(getState).post('/api/v1/follow_requests/' + id + '/authorize').then(function () {\n return dispatch(authorizeFollowRequestSuccess(id));\n }).catch(function (error) {\n return dispatch(authorizeFollowRequestFail(id, error));\n });\n };\n};\n\nexport function authorizeFollowRequestRequest(id) {\n return {\n type: FOLLOW_REQUEST_AUTHORIZE_REQUEST,\n id: id\n };\n};\n\nexport function authorizeFollowRequestSuccess(id) {\n return {\n type: FOLLOW_REQUEST_AUTHORIZE_SUCCESS,\n id: id\n };\n};\n\nexport function authorizeFollowRequestFail(id, error) {\n return {\n type: FOLLOW_REQUEST_AUTHORIZE_FAIL,\n id: id,\n error: error\n };\n};\n\nexport function rejectFollowRequest(id) {\n return function (dispatch, getState) {\n dispatch(rejectFollowRequestRequest(id));\n\n api(getState).post('/api/v1/follow_requests/' + id + '/reject').then(function () {\n return dispatch(rejectFollowRequestSuccess(id));\n }).catch(function (error) {\n return dispatch(rejectFollowRequestFail(id, error));\n });\n };\n};\n\nexport function rejectFollowRequestRequest(id) {\n return {\n type: FOLLOW_REQUEST_REJECT_REQUEST,\n id: id\n };\n};\n\nexport function rejectFollowRequestSuccess(id) {\n return {\n type: FOLLOW_REQUEST_REJECT_SUCCESS,\n id: id\n };\n};\n\nexport function rejectFollowRequestFail(id, error) {\n return {\n type: FOLLOW_REQUEST_REJECT_FAIL,\n id: id,\n error: error\n };\n};" + }, + { + "id": 23, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/store.js", + "name": "./app/javascript/mastodon/actions/store.js", + "index": 251, + "index2": 246, + "size": 452, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "13:0-48" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "9:0-48" + }, + { + "moduleId": 410, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/meta.js", + "module": "./app/javascript/mastodon/reducers/meta.js", + "moduleName": "./app/javascript/mastodon/reducers/meta.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "1:0-49" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "11:0-49" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "11:0-49" + }, + { + "moduleId": 445, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/settings.js", + "module": "./app/javascript/mastodon/reducers/settings.js", + "moduleName": "./app/javascript/mastodon/reducers/settings.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "3:0-49" + }, + { + "moduleId": 446, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/push_notifications.js", + "module": "./app/javascript/mastodon/reducers/push_notifications.js", + "moduleName": "./app/javascript/mastodon/reducers/push_notifications.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "1:0-49" + }, + { + "moduleId": 451, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/compose.js", + "module": "./app/javascript/mastodon/reducers/compose.js", + "moduleName": "./app/javascript/mastodon/reducers/compose.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "3:0-49" + }, + { + "moduleId": 453, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/media_attachments.js", + "module": "./app/javascript/mastodon/reducers/media_attachments.js", + "moduleName": "./app/javascript/mastodon/reducers/media_attachments.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "1:0-49" + }, + { + "moduleId": 456, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/custom_emojis.js", + "module": "./app/javascript/mastodon/reducers/custom_emojis.js", + "moduleName": "./app/javascript/mastodon/reducers/custom_emojis.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "2:0-49" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "../actions/store", + "loc": "9:0-48" + } + ], + "usedExports": [ + "STORE_HYDRATE", + "hydrateStore" + ], + "providedExports": [ + "STORE_HYDRATE", + "STORE_HYDRATE_LAZY", + "hydrateStore" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import { Iterable, fromJS } from 'immutable';\n\nexport var STORE_HYDRATE = 'STORE_HYDRATE';\nexport var STORE_HYDRATE_LAZY = 'STORE_HYDRATE_LAZY';\n\nvar convertState = function convertState(rawState) {\n return fromJS(rawState, function (k, v) {\n return Iterable.isIndexed(v) ? v.toList() : v.toMap();\n });\n};\n\nexport function hydrateStore(rawState) {\n var state = convertState(rawState);\n\n return {\n type: STORE_HYDRATE,\n state: state\n };\n};" + }, + { + "id": 24, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_core.js", + "name": "./node_modules/core-js/library/modules/_core.js", + "index": 86, + "index2": 79, + "size": 121, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/set-prototype-of.js", + "issuerId": 347, + "issuerName": "./node_modules/core-js/library/fn/object/set-prototype-of.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 38, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_export.js", + "module": "./node_modules/core-js/library/modules/_export.js", + "moduleName": "./node_modules/core-js/library/modules/_export.js", + "type": "cjs require", + "userRequest": "./_core", + "loc": "2:11-29" + }, + { + "moduleId": 114, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks-define.js", + "module": "./node_modules/core-js/library/modules/_wks-define.js", + "moduleName": "./node_modules/core-js/library/modules/_wks-define.js", + "type": "cjs require", + "userRequest": "./_core", + "loc": "2:11-29" + }, + { + "moduleId": 318, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-sap.js", + "module": "./node_modules/core-js/library/modules/_object-sap.js", + "moduleName": "./node_modules/core-js/library/modules/_object-sap.js", + "type": "cjs require", + "userRequest": "./_core", + "loc": "3:11-29" + }, + { + "moduleId": 322, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/for.js", + "module": "./node_modules/core-js/library/fn/symbol/for.js", + "moduleName": "./node_modules/core-js/library/fn/symbol/for.js", + "type": "cjs require", + "userRequest": "../../modules/_core", + "loc": "2:17-47" + }, + { + "moduleId": 333, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/index.js", + "module": "./node_modules/core-js/library/fn/symbol/index.js", + "moduleName": "./node_modules/core-js/library/fn/symbol/index.js", + "type": "cjs require", + "userRequest": "../../modules/_core", + "loc": "5:17-47" + }, + { + "moduleId": 347, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/set-prototype-of.js", + "module": "./node_modules/core-js/library/fn/object/set-prototype-of.js", + "moduleName": "./node_modules/core-js/library/fn/object/set-prototype-of.js", + "type": "cjs require", + "userRequest": "../../modules/_core", + "loc": "2:17-47" + }, + { + "moduleId": 351, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/create.js", + "module": "./node_modules/core-js/library/fn/object/create.js", + "moduleName": "./node_modules/core-js/library/fn/object/create.js", + "type": "cjs require", + "userRequest": "../../modules/_core", + "loc": "2:14-44" + }, + { + "moduleId": 461, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/assign.js", + "module": "./node_modules/core-js/library/fn/object/assign.js", + "moduleName": "./node_modules/core-js/library/fn/object/assign.js", + "type": "cjs require", + "userRequest": "../../modules/_core", + "loc": "2:17-47" + }, + { + "moduleId": 611, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/get-prototype-of.js", + "module": "./node_modules/core-js/library/fn/object/get-prototype-of.js", + "moduleName": "./node_modules/core-js/library/fn/object/get-prototype-of.js", + "type": "cjs require", + "userRequest": "../../modules/_core", + "loc": "2:17-47" + }, + { + "moduleId": 614, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/define-property.js", + "module": "./node_modules/core-js/library/fn/object/define-property.js", + "moduleName": "./node_modules/core-js/library/fn/object/define-property.js", + "type": "cjs require", + "userRequest": "../../modules/_core", + "loc": "2:14-44" + }, + { + "moduleId": 869, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/keys.js", + "module": "./node_modules/core-js/library/fn/object/keys.js", + "moduleName": "./node_modules/core-js/library/fn/object/keys.js", + "type": "cjs require", + "userRequest": "../../modules/_core", + "loc": "2:17-47" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "var core = module.exports = { version: '2.5.1' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef" + }, + { + "id": 25, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_root.js", + "name": "./node_modules/lodash/_root.js", + "index": 271, + "index2": 263, + "size": 299, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/now.js", + "issuerId": 417, + "issuerName": "./node_modules/lodash/now.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 130, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Symbol.js", + "module": "./node_modules/lodash/_Symbol.js", + "moduleName": "./node_modules/lodash/_Symbol.js", + "type": "cjs require", + "userRequest": "./_root", + "loc": "1:11-29" + }, + { + "moduleId": 145, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Map.js", + "module": "./node_modules/lodash/_Map.js", + "moduleName": "./node_modules/lodash/_Map.js", + "type": "cjs require", + "userRequest": "./_root", + "loc": "2:11-29" + }, + { + "moduleId": 242, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isBuffer.js", + "module": "./node_modules/lodash/isBuffer.js", + "moduleName": "./node_modules/lodash/isBuffer.js", + "type": "cjs require", + "userRequest": "./_root", + "loc": "1:11-29" + }, + { + "moduleId": 417, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/now.js", + "module": "./node_modules/lodash/now.js", + "moduleName": "./node_modules/lodash/now.js", + "type": "cjs require", + "userRequest": "./_root", + "loc": "1:11-29" + }, + { + "moduleId": 528, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_coreJsData.js", + "module": "./node_modules/lodash/_coreJsData.js", + "moduleName": "./node_modules/lodash/_coreJsData.js", + "type": "cjs require", + "userRequest": "./_root", + "loc": "1:11-29" + }, + { + "moduleId": 582, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Uint8Array.js", + "module": "./node_modules/lodash/_Uint8Array.js", + "moduleName": "./node_modules/lodash/_Uint8Array.js", + "type": "cjs require", + "userRequest": "./_root", + "loc": "1:11-29" + }, + { + "moduleId": 593, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_DataView.js", + "module": "./node_modules/lodash/_DataView.js", + "moduleName": "./node_modules/lodash/_DataView.js", + "type": "cjs require", + "userRequest": "./_root", + "loc": "2:11-29" + }, + { + "moduleId": 594, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Promise.js", + "module": "./node_modules/lodash/_Promise.js", + "moduleName": "./node_modules/lodash/_Promise.js", + "type": "cjs require", + "userRequest": "./_root", + "loc": "2:11-29" + }, + { + "moduleId": 595, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Set.js", + "module": "./node_modules/lodash/_Set.js", + "moduleName": "./node_modules/lodash/_Set.js", + "type": "cjs require", + "userRequest": "./_root", + "loc": "2:11-29" + }, + { + "moduleId": 596, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_WeakMap.js", + "module": "./node_modules/lodash/_WeakMap.js", + "moduleName": "./node_modules/lodash/_WeakMap.js", + "type": "cjs require", + "userRequest": "./_root", + "loc": "2:11-29" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;" + }, + { + "id": 26, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/optional_motion.js", + "name": "./app/javascript/mastodon/features/ui/util/optional_motion.js", + "index": 368, + "index2": 368, + "size": 201, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "issuerId": 19, + "issuerName": "./app/javascript/mastodon/components/icon_button.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 19, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "module": "./app/javascript/mastodon/components/icon_button.js", + "moduleName": "./app/javascript/mastodon/components/icon_button.js", + "type": "harmony import", + "userRequest": "../features/ui/util/optional_motion", + "loc": "9:0-57" + }, + { + "moduleId": 297, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/collapsable.js", + "module": "./app/javascript/mastodon/components/collapsable.js", + "moduleName": "./app/javascript/mastodon/components/collapsable.js", + "type": "harmony import", + "userRequest": "../features/ui/util/optional_motion", + "loc": "3:0-57" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "../../ui/util/optional_motion", + "loc": "13:0-51" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "../../ui/util/optional_motion", + "loc": "11:0-51" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "../../ui/util/optional_motion", + "loc": "7:0-51" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "../../ui/util/optional_motion", + "loc": "12:0-51" + }, + { + "moduleId": 312, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/warning.js", + "module": "./app/javascript/mastodon/features/compose/components/warning.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/warning.js", + "type": "harmony import", + "userRequest": "../../ui/util/optional_motion", + "loc": "7:0-51" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "../features/ui/util/optional_motion", + "loc": "13:0-57" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "../../ui/util/optional_motion", + "loc": "7:0-51" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "../ui/util/optional_motion", + "loc": "17:0-48" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "../../ui/util/optional_motion", + "loc": "13:0-51" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "../../ui/util/optional_motion", + "loc": "12:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { reduceMotion } from '../../../initial_state';\nimport ReducedMotion from './reduced_motion';\nimport Motion from 'react-motion/lib/Motion';\n\nexport default reduceMotion ? ReducedMotion : Motion;" + }, + { + "id": 27, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/spring.js", + "name": "./node_modules/react-motion/lib/spring.js", + "index": 378, + "index2": 370, + "size": 771, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "issuerId": 19, + "issuerName": "./app/javascript/mastodon/components/icon_button.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 19, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/icon_button.js", + "module": "./app/javascript/mastodon/components/icon_button.js", + "moduleName": "./app/javascript/mastodon/components/icon_button.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "10:0-45" + }, + { + "moduleId": 297, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/collapsable.js", + "module": "./app/javascript/mastodon/components/collapsable.js", + "moduleName": "./app/javascript/mastodon/components/collapsable.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "4:0-45" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "14:0-45" + }, + { + "moduleId": 302, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "12:0-45" + }, + { + "moduleId": 308, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload_progress.js", + "module": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload_progress.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "8:0-45" + }, + { + "moduleId": 310, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/upload.js", + "module": "./app/javascript/mastodon/features/compose/components/upload.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/upload.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "13:0-45" + }, + { + "moduleId": 312, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/warning.js", + "module": "./app/javascript/mastodon/features/compose/components/warning.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/warning.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "8:0-45" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "14:0-45" + }, + { + "moduleId": 643, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/upload_area.js", + "module": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/upload_area.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "8:0-45" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "18:0-45" + }, + { + "moduleId": 783, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/header.js", + "module": "./app/javascript/mastodon/features/account/components/header.js", + "moduleName": "./app/javascript/mastodon/features/account/components/header.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "14:0-45" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "react-motion/lib/spring", + "loc": "13:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nexports['default'] = spring;\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { 'default': obj };\n}\n\nvar _presets = require('./presets');\n\nvar _presets2 = _interopRequireDefault(_presets);\n\nvar defaultConfig = _extends({}, _presets2['default'].noWobble, {\n precision: 0.01\n});\n\nfunction spring(val, config) {\n return _extends({}, defaultConfig, config, { val: val });\n}\n\nmodule.exports = exports['default'];" + }, + { + "id": 28, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/extends.js", + "name": "./node_modules/babel-runtime/helpers/extends.js", + "index": 349, + "index2": 348, + "size": 546, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "issuerId": 652, + "issuerName": "./app/javascript/packs/public.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/extends", + "loc": "1:0-53" + }, + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/extends", + "loc": "1:0-53" + }, + { + "moduleId": 270, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/permalink.js", + "module": "./app/javascript/mastodon/components/permalink.js", + "moduleName": "./app/javascript/mastodon/components/permalink.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/extends", + "loc": "1:0-53" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "babel-runtime/helpers/extends", + "loc": "7:16-56" + }, + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/extends", + "loc": "1:0-53" + }, + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/extends", + "loc": "1:0-53" + }, + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/extends", + "loc": "1:0-53" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/extends", + "loc": "1:0-53" + }, + { + "moduleId": 655, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "module": "./app/javascript/mastodon/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/containers/card_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/extends", + "loc": "1:0-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};" + }, + { + "id": 29, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/objectWithoutProperties.js", + "name": "./node_modules/babel-runtime/helpers/objectWithoutProperties.js", + "index": 354, + "index2": 349, + "size": 280, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "issuerId": 655, + "issuerName": "./app/javascript/mastodon/containers/card_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/objectWithoutProperties", + "loc": "2:0-85" + }, + { + "moduleId": 269, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_list.js", + "module": "./app/javascript/mastodon/components/status_list.js", + "moduleName": "./app/javascript/mastodon/components/status_list.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/objectWithoutProperties", + "loc": "3:0-85" + }, + { + "moduleId": 270, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/permalink.js", + "module": "./app/javascript/mastodon/components/permalink.js", + "moduleName": "./app/javascript/mastodon/components/permalink.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/objectWithoutProperties", + "loc": "2:0-85" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "babel-runtime/helpers/objectWithoutProperties", + "loc": "15:32-88" + }, + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/objectWithoutProperties", + "loc": "2:0-85" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/objectWithoutProperties", + "loc": "2:0-85" + }, + { + "moduleId": 654, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/media_gallery_container.js", + "module": "./app/javascript/mastodon/containers/media_gallery_container.js", + "moduleName": "./app/javascript/mastodon/containers/media_gallery_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/objectWithoutProperties", + "loc": "3:0-85" + }, + { + "moduleId": 655, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/card_container.js", + "module": "./app/javascript/mastodon/containers/card_container.js", + "moduleName": "./app/javascript/mastodon/containers/card_container.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/objectWithoutProperties", + "loc": "2:0-85" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};" + }, + { + "id": 30, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_global.js", + "name": "./node_modules/core-js/library/modules/_global.js", + "index": 81, + "index2": 75, + "size": 362, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 38, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_export.js", + "module": "./node_modules/core-js/library/modules/_export.js", + "moduleName": "./node_modules/core-js/library/modules/_export.js", + "type": "cjs require", + "userRequest": "./_global", + "loc": "1:13-33" + }, + { + "moduleId": 49, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks.js", + "module": "./node_modules/core-js/library/modules/_wks.js", + "moduleName": "./node_modules/core-js/library/modules/_wks.js", + "type": "cjs require", + "userRequest": "./_global", + "loc": "3:13-33" + }, + { + "moduleId": 111, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_shared.js", + "module": "./node_modules/core-js/library/modules/_shared.js", + "moduleName": "./node_modules/core-js/library/modules/_shared.js", + "type": "cjs require", + "userRequest": "./_global", + "loc": "1:13-33" + }, + { + "moduleId": 114, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks-define.js", + "module": "./node_modules/core-js/library/modules/_wks-define.js", + "moduleName": "./node_modules/core-js/library/modules/_wks-define.js", + "type": "cjs require", + "userRequest": "./_global", + "loc": "1:13-33" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_global", + "loc": "4:13-33" + }, + { + "moduleId": 179, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_dom-create.js", + "module": "./node_modules/core-js/library/modules/_dom-create.js", + "moduleName": "./node_modules/core-js/library/modules/_dom-create.js", + "type": "cjs require", + "userRequest": "./_global", + "loc": "2:15-35" + }, + { + "moduleId": 331, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_html.js", + "module": "./node_modules/core-js/library/modules/_html.js", + "moduleName": "./node_modules/core-js/library/modules/_html.js", + "type": "cjs require", + "userRequest": "./_global", + "loc": "1:15-35" + }, + { + "moduleId": 342, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/web.dom.iterable.js", + "module": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "moduleName": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "type": "cjs require", + "userRequest": "./_global", + "loc": "2:13-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self\n// eslint-disable-next-line no-new-func\n: Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef" + }, + { + "id": 31, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/modal.js", + "name": "./app/javascript/mastodon/actions/modal.js", + "index": 260, + "index2": 255, + "size": 276, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/onboarding.js", + "issuerId": 626, + "issuerName": "./app/javascript/mastodon/actions/onboarding.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 151, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/reports.js", + "module": "./app/javascript/mastodon/actions/reports.js", + "moduleName": "./app/javascript/mastodon/actions/reports.js", + "type": "harmony import", + "userRequest": "./modal", + "loc": "2:0-48" + }, + { + "moduleId": 256, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/modal_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/modal_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/modal_container.js", + "type": "harmony import", + "userRequest": "../../../actions/modal", + "loc": "2:0-52" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "../actions/modal", + "loc": "11:0-45" + }, + { + "moduleId": 284, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/dropdown_menu_container.js", + "module": "./app/javascript/mastodon/containers/dropdown_menu_container.js", + "moduleName": "./app/javascript/mastodon/containers/dropdown_menu_container.js", + "type": "harmony import", + "userRequest": "../actions/modal", + "loc": "1:0-57" + }, + { + "moduleId": 300, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "type": "harmony import", + "userRequest": "../../../actions/modal", + "loc": "4:0-63" + }, + { + "moduleId": 414, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/modal.js", + "module": "./app/javascript/mastodon/reducers/modal.js", + "moduleName": "./app/javascript/mastodon/reducers/modal.js", + "type": "harmony import", + "userRequest": "../actions/modal", + "loc": "1:0-59" + }, + { + "moduleId": 626, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/onboarding.js", + "module": "./app/javascript/mastodon/actions/onboarding.js", + "moduleName": "./app/javascript/mastodon/actions/onboarding.js", + "type": "harmony import", + "userRequest": "./modal", + "loc": "1:0-36" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../actions/modal", + "loc": "26:0-48" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../actions/modal", + "loc": "8:0-45" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../../../actions/modal", + "loc": "9:0-51" + }, + { + "moduleId": 885, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../../../actions/modal", + "loc": "7:0-51" + } + ], + "usedExports": [ + "MODAL_CLOSE", + "MODAL_OPEN", + "closeModal", + "openModal" + ], + "providedExports": [ + "MODAL_OPEN", + "MODAL_CLOSE", + "openModal", + "closeModal" + ], + "optimizationBailout": [], + "depth": 4, + "source": "export var MODAL_OPEN = 'MODAL_OPEN';\nexport var MODAL_CLOSE = 'MODAL_CLOSE';\n\nexport function openModal(type, props) {\n return {\n type: MODAL_OPEN,\n modalType: type,\n modalProps: props\n };\n};\n\nexport function closeModal() {\n return {\n type: MODAL_CLOSE\n };\n};" + }, + { + "id": 33, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/is_mobile.js", + "name": "./app/javascript/mastodon/is_mobile.js", + "index": 425, + "index2": 416, + "size": 653, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "issuerId": 159, + "issuerName": "./app/javascript/mastodon/components/media_gallery.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 159, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/media_gallery.js", + "module": "./app/javascript/mastodon/components/media_gallery.js", + "moduleName": "./app/javascript/mastodon/components/media_gallery.js", + "type": "harmony import", + "userRequest": "../is_mobile", + "loc": "14:0-37" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "../../../is_mobile", + "loc": "14:0-52" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "../../../is_mobile", + "loc": "10:0-46" + }, + { + "moduleId": 284, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/dropdown_menu_container.js", + "module": "./app/javascript/mastodon/containers/dropdown_menu_container.js", + "moduleName": "./app/javascript/mastodon/containers/dropdown_menu_container.js", + "type": "harmony import", + "userRequest": "../is_mobile", + "loc": "4:0-46" + }, + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../../../is_mobile", + "loc": "24:0-46" + }, + { + "moduleId": 300, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js", + "type": "harmony import", + "userRequest": "../../../is_mobile", + "loc": "5:0-52" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "../../is_mobile", + "loc": "17:0-43" + } + ], + "usedExports": [ + "isIOS", + "isMobile", + "isUserTouching" + ], + "providedExports": [ + "isMobile", + "isUserTouching", + "isIOS" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import detectPassiveEvents from 'detect-passive-events';\n\nvar LAYOUT_BREAKPOINT = 630;\n\nexport function isMobile(width) {\n return width <= LAYOUT_BREAKPOINT;\n};\n\nvar iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n\nvar userTouching = false;\nvar listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nfunction touchListener() {\n userTouching = true;\n window.removeEventListener('touchstart', touchListener, listenerOptions);\n}\n\nwindow.addEventListener('touchstart', touchListener, listenerOptions);\n\nexport function isUserTouching() {\n return userTouching;\n}\n\nexport function isIOS() {\n return iOS;\n};" + }, + { + "id": 34, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/process/browser.js", + "name": "./node_modules/process/browser.js", + "index": 223, + "index2": 212, + "size": 5434, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji.js", + "issuerId": 60, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 32, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "module": "./node_modules/util/util.js", + "moduleName": "./node_modules/util/util.js", + "type": "cjs require", + "userRequest": "process", + "loc": "1:0-34" + }, + { + "moduleId": 60, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji.js", + "module": "./app/javascript/mastodon/features/emoji/emoji.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji.js", + "type": "cjs require", + "userRequest": "process", + "loc": "1:0-59" + }, + { + "moduleId": 127, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/defaults.js", + "module": "./node_modules/axios/lib/defaults.js", + "moduleName": "./node_modules/axios/lib/defaults.js", + "type": "cjs require", + "userRequest": "process", + "loc": "1:0-37" + }, + { + "moduleId": 293, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_emoji.js", + "module": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "type": "cjs require", + "userRequest": "process", + "loc": "1:0-56" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "cjs require", + "userRequest": "process", + "loc": "1:0-62" + }, + { + "moduleId": 470, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/performance-now/lib/performance-now.js", + "module": "./node_modules/performance-now/lib/performance-now.js", + "moduleName": "./node_modules/performance-now/lib/performance-now.js", + "type": "cjs require", + "userRequest": "process", + "loc": "1:0-37" + }, + { + "moduleId": 472, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/raf/node_modules/performance-now/lib/performance-now.js", + "module": "./node_modules/raf/node_modules/performance-now/lib/performance-now.js", + "moduleName": "./node_modules/raf/node_modules/performance-now/lib/performance-now.js", + "type": "cjs require", + "userRequest": "process", + "loc": "1:0-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};" + }, + { + "id": 35, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/typeof.js", + "name": "./node_modules/babel-runtime/helpers/typeof.js", + "index": 135, + "index2": 145, + "size": 1075, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/possibleConstructorReturn.js", + "issuerId": 3, + "issuerName": "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 3, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/possibleConstructorReturn.js", + "module": "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js", + "moduleName": "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js", + "type": "cjs require", + "userRequest": "../helpers/typeof", + "loc": "5:15-43" + }, + { + "moduleId": 4, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/inherits.js", + "module": "./node_modules/babel-runtime/helpers/inherits.js", + "moduleName": "./node_modules/babel-runtime/helpers/inherits.js", + "type": "cjs require", + "userRequest": "../helpers/typeof", + "loc": "13:15-43" + }, + { + "moduleId": 15, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/compose.js", + "module": "./app/javascript/mastodon/actions/compose.js", + "moduleName": "./app/javascript/mastodon/actions/compose.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/typeof", + "loc": "1:0-51" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/typeof", + "loc": "3:0-51" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/typeof", + "loc": "2:0-51" + }, + { + "moduleId": 423, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_utils.js", + "module": "./app/javascript/mastodon/features/emoji/emoji_utils.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji_utils.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/typeof", + "loc": "1:0-51" + }, + { + "moduleId": 466, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/reduced_motion.js", + "module": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/typeof", + "loc": "5:0-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj;\n};\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};" + }, + { + "id": 36, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_has.js", + "name": "./node_modules/core-js/library/modules/_has.js", + "index": 82, + "index2": 76, + "size": 119, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 112, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_set-to-string-tag.js", + "module": "./node_modules/core-js/library/modules/_set-to-string-tag.js", + "moduleName": "./node_modules/core-js/library/modules/_set-to-string-tag.js", + "type": "cjs require", + "userRequest": "./_has", + "loc": "2:10-27" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_has", + "loc": "5:10-27" + }, + { + "moduleId": 181, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys-internal.js", + "module": "./node_modules/core-js/library/modules/_object-keys-internal.js", + "moduleName": "./node_modules/core-js/library/modules/_object-keys-internal.js", + "type": "cjs require", + "userRequest": "./_has", + "loc": "1:10-27" + }, + { + "moduleId": 185, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopd.js", + "module": "./node_modules/core-js/library/modules/_object-gopd.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopd.js", + "type": "cjs require", + "userRequest": "./_has", + "loc": "5:10-27" + }, + { + "moduleId": 187, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "module": "./node_modules/core-js/library/modules/_iter-define.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-define.js", + "type": "cjs require", + "userRequest": "./_has", + "loc": "7:10-27" + }, + { + "moduleId": 188, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gpo.js", + "module": "./node_modules/core-js/library/modules/_object-gpo.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gpo.js", + "type": "cjs require", + "userRequest": "./_has", + "loc": "2:10-27" + }, + { + "moduleId": 324, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_meta.js", + "module": "./node_modules/core-js/library/modules/_meta.js", + "moduleName": "./node_modules/core-js/library/modules/_meta.js", + "type": "cjs require", + "userRequest": "./_has", + "loc": "3:10-27" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};" + }, + { + "id": 37, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_descriptors.js", + "name": "./node_modules/core-js/library/modules/_descriptors.js", + "index": 83, + "index2": 78, + "size": 193, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 39, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-dp.js", + "module": "./node_modules/core-js/library/modules/_object-dp.js", + "moduleName": "./node_modules/core-js/library/modules/_object-dp.js", + "type": "cjs require", + "userRequest": "./_descriptors", + "loc": "6:12-37" + }, + { + "moduleId": 48, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_hide.js", + "module": "./node_modules/core-js/library/modules/_hide.js", + "moduleName": "./node_modules/core-js/library/modules/_hide.js", + "type": "cjs require", + "userRequest": "./_descriptors", + "loc": "3:17-42" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_descriptors", + "loc": "6:18-43" + }, + { + "moduleId": 178, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_ie8-dom-define.js", + "module": "./node_modules/core-js/library/modules/_ie8-dom-define.js", + "moduleName": "./node_modules/core-js/library/modules/_ie8-dom-define.js", + "type": "cjs require", + "userRequest": "./_descriptors", + "loc": "1:18-43" + }, + { + "moduleId": 185, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopd.js", + "module": "./node_modules/core-js/library/modules/_object-gopd.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopd.js", + "type": "cjs require", + "userRequest": "./_descriptors", + "loc": "9:12-37" + }, + { + "moduleId": 330, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-dps.js", + "module": "./node_modules/core-js/library/modules/_object-dps.js", + "moduleName": "./node_modules/core-js/library/modules/_object-dps.js", + "type": "cjs require", + "userRequest": "./_descriptors", + "loc": "5:17-42" + }, + { + "moduleId": 615, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.define-property.js", + "module": "./node_modules/core-js/library/modules/es6.object.define-property.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.define-property.js", + "type": "cjs require", + "userRequest": "./_descriptors", + "loc": "3:33-58" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () {\n return 7;\n } }).a != 7;\n});" + }, + { + "id": 38, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_export.js", + "name": "./node_modules/core-js/library/modules/_export.js", + "index": 85, + "index2": 90, + "size": 2345, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.assign.js", + "issuerId": 462, + "issuerName": "./node_modules/core-js/library/modules/es6.object.assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_export", + "loc": "7:14-34" + }, + { + "moduleId": 187, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "module": "./node_modules/core-js/library/modules/_iter-define.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-define.js", + "type": "cjs require", + "userRequest": "./_export", + "loc": "4:14-34" + }, + { + "moduleId": 318, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-sap.js", + "module": "./node_modules/core-js/library/modules/_object-sap.js", + "moduleName": "./node_modules/core-js/library/modules/_object-sap.js", + "type": "cjs require", + "userRequest": "./_export", + "loc": "2:14-34" + }, + { + "moduleId": 348, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.set-prototype-of.js", + "module": "./node_modules/core-js/library/modules/es6.object.set-prototype-of.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.set-prototype-of.js", + "type": "cjs require", + "userRequest": "./_export", + "loc": "2:14-34" + }, + { + "moduleId": 352, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.create.js", + "module": "./node_modules/core-js/library/modules/es6.object.create.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.create.js", + "type": "cjs require", + "userRequest": "./_export", + "loc": "1:14-34" + }, + { + "moduleId": 462, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.assign.js", + "module": "./node_modules/core-js/library/modules/es6.object.assign.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.assign.js", + "type": "cjs require", + "userRequest": "./_export", + "loc": "2:14-34" + }, + { + "moduleId": 615, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.define-property.js", + "module": "./node_modules/core-js/library/modules/es6.object.define-property.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.define-property.js", + "type": "cjs require", + "userRequest": "./_export", + "loc": "1:14-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && key in exports) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0:\n return new C();\n case 1:\n return new C(a);\n case 2:\n return new C(a, b);\n }return new C(a, b, c);\n }return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n }(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;" + }, + { + "id": 39, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-dp.js", + "name": "./node_modules/core-js/library/modules/_object-dp.js", + "index": 90, + "index2": 87, + "size": 597, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 48, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_hide.js", + "module": "./node_modules/core-js/library/modules/_hide.js", + "moduleName": "./node_modules/core-js/library/modules/_hide.js", + "type": "cjs require", + "userRequest": "./_object-dp", + "loc": "1:9-32" + }, + { + "moduleId": 112, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_set-to-string-tag.js", + "module": "./node_modules/core-js/library/modules/_set-to-string-tag.js", + "moduleName": "./node_modules/core-js/library/modules/_set-to-string-tag.js", + "type": "cjs require", + "userRequest": "./_object-dp", + "loc": "1:10-33" + }, + { + "moduleId": 114, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks-define.js", + "module": "./node_modules/core-js/library/modules/_wks-define.js", + "moduleName": "./node_modules/core-js/library/modules/_wks-define.js", + "type": "cjs require", + "userRequest": "./_object-dp", + "loc": "5:21-44" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_object-dp", + "loc": "26:10-33" + }, + { + "moduleId": 324, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_meta.js", + "module": "./node_modules/core-js/library/modules/_meta.js", + "moduleName": "./node_modules/core-js/library/modules/_meta.js", + "type": "cjs require", + "userRequest": "./_object-dp", + "loc": "4:14-37" + }, + { + "moduleId": 330, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-dps.js", + "module": "./node_modules/core-js/library/modules/_object-dps.js", + "moduleName": "./node_modules/core-js/library/modules/_object-dps.js", + "type": "cjs require", + "userRequest": "./_object-dp", + "loc": "1:9-32" + }, + { + "moduleId": 615, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.define-property.js", + "module": "./node_modules/core-js/library/modules/es6.object.define-property.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.define-property.js", + "type": "cjs require", + "userRequest": "./_object-dp", + "loc": "3:88-111" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {/* empty */}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};" + }, + { + "id": 40, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isObject.js", + "name": "./node_modules/lodash/isObject.js", + "index": 269, + "index2": 261, + "size": 732, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/throttle.js", + "issuerId": 94, + "issuerName": "./node_modules/lodash/throttle.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 42, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/debounce.js", + "module": "./node_modules/lodash/debounce.js", + "moduleName": "./node_modules/lodash/debounce.js", + "type": "cjs require", + "userRequest": "./isObject", + "loc": "1:15-36" + }, + { + "moduleId": 94, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/throttle.js", + "module": "./node_modules/lodash/throttle.js", + "moduleName": "./node_modules/lodash/throttle.js", + "type": "cjs require", + "userRequest": "./isObject", + "loc": "2:15-36" + }, + { + "moduleId": 237, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isFunction.js", + "module": "./node_modules/lodash/isFunction.js", + "moduleName": "./node_modules/lodash/isFunction.js", + "type": "cjs require", + "userRequest": "./isObject", + "loc": "2:15-36" + }, + { + "moduleId": 418, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/toNumber.js", + "module": "./node_modules/lodash/toNumber.js", + "moduleName": "./node_modules/lodash/toNumber.js", + "type": "cjs require", + "userRequest": "./isObject", + "loc": "1:15-36" + }, + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "lodash/isObject", + "loc": "49:16-42" + }, + { + "moduleId": 526, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsNative.js", + "module": "./node_modules/lodash/_baseIsNative.js", + "moduleName": "./node_modules/lodash/_baseIsNative.js", + "type": "cjs require", + "userRequest": "./isObject", + "loc": "3:15-36" + }, + { + "moduleId": 539, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isIterateeCall.js", + "module": "./node_modules/lodash/_isIterateeCall.js", + "moduleName": "./node_modules/lodash/_isIterateeCall.js", + "type": "cjs require", + "userRequest": "./isObject", + "loc": "4:15-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;" + }, + { + "id": 41, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getNative.js", + "name": "./node_modules/lodash/_getNative.js", + "index": 552, + "index2": 540, + "size": 482, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_defineProperty.js", + "issuerId": 236, + "issuerName": "./node_modules/lodash/_defineProperty.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 88, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_nativeCreate.js", + "module": "./node_modules/lodash/_nativeCreate.js", + "moduleName": "./node_modules/lodash/_nativeCreate.js", + "type": "cjs require", + "userRequest": "./_getNative", + "loc": "1:16-39" + }, + { + "moduleId": 145, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Map.js", + "module": "./node_modules/lodash/_Map.js", + "moduleName": "./node_modules/lodash/_Map.js", + "type": "cjs require", + "userRequest": "./_getNative", + "loc": "1:16-39" + }, + { + "moduleId": 236, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_defineProperty.js", + "module": "./node_modules/lodash/_defineProperty.js", + "moduleName": "./node_modules/lodash/_defineProperty.js", + "type": "cjs require", + "userRequest": "./_getNative", + "loc": "1:16-39" + }, + { + "moduleId": 593, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_DataView.js", + "module": "./node_modules/lodash/_DataView.js", + "moduleName": "./node_modules/lodash/_DataView.js", + "type": "cjs require", + "userRequest": "./_getNative", + "loc": "1:16-39" + }, + { + "moduleId": 594, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Promise.js", + "module": "./node_modules/lodash/_Promise.js", + "moduleName": "./node_modules/lodash/_Promise.js", + "type": "cjs require", + "userRequest": "./_getNative", + "loc": "1:16-39" + }, + { + "moduleId": 595, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Set.js", + "module": "./node_modules/lodash/_Set.js", + "moduleName": "./node_modules/lodash/_Set.js", + "type": "cjs require", + "userRequest": "./_getNative", + "loc": "1:16-39" + }, + { + "moduleId": 596, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_WeakMap.js", + "module": "./node_modules/lodash/_WeakMap.js", + "moduleName": "./node_modules/lodash/_WeakMap.js", + "type": "cjs require", + "userRequest": "./_getNative", + "loc": "1:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;" + }, + { + "id": 42, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/debounce.js", + "name": "./node_modules/lodash/debounce.js", + "index": 268, + "index2": 272, + "size": 6027, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/settings.js", + "issuerId": 59, + "issuerName": "./app/javascript/mastodon/actions/settings.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 59, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/settings.js", + "module": "./app/javascript/mastodon/actions/settings.js", + "moduleName": "./app/javascript/mastodon/actions/settings.js", + "type": "harmony import", + "userRequest": "lodash/debounce", + "loc": "1:0-40" + }, + { + "moduleId": 94, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/throttle.js", + "module": "./node_modules/lodash/throttle.js", + "moduleName": "./node_modules/lodash/throttle.js", + "type": "cjs require", + "userRequest": "./debounce", + "loc": "1:15-36" + }, + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "lodash/debounce", + "loc": "1:0-40" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "lodash/debounce", + "loc": "5:0-40" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "lodash/debounce", + "loc": "5:0-40" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "lodash/debounce", + "loc": "5:0-40" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "lodash/debounce", + "loc": "5:0-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;" + }, + { + "id": 43, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/interactions.js", + "name": "./app/javascript/mastodon/actions/interactions.js", + "index": 262, + "index2": 257, + "size": 7332, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/status_lists.js", + "issuerId": 447, + "issuerName": "./app/javascript/mastodon/reducers/status_lists.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "../actions/interactions", + "loc": "7:0-95" + }, + { + "moduleId": 415, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/user_lists.js", + "module": "./app/javascript/mastodon/reducers/user_lists.js", + "moduleName": "./app/javascript/mastodon/reducers/user_lists.js", + "type": "harmony import", + "userRequest": "../actions/interactions", + "loc": "2:0-90" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/interactions", + "loc": "5:0-164" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/interactions", + "loc": "5:0-164" + }, + { + "moduleId": 443, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "module": "./app/javascript/mastodon/reducers/statuses.js", + "moduleName": "./app/javascript/mastodon/reducers/statuses.js", + "type": "harmony import", + "userRequest": "../actions/interactions", + "loc": "1:0-207" + }, + { + "moduleId": 447, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/status_lists.js", + "module": "./app/javascript/mastodon/reducers/status_lists.js", + "moduleName": "./app/javascript/mastodon/reducers/status_lists.js", + "type": "harmony import", + "userRequest": "../actions/interactions", + "loc": "4:0-109" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../actions/interactions", + "loc": "18:0-98" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../actions/interactions", + "loc": "13:0-58" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../actions/interactions", + "loc": "13:0-61" + } + ], + "usedExports": [ + "FAVOURITES_FETCH_SUCCESS", + "FAVOURITE_FAIL", + "FAVOURITE_REQUEST", + "FAVOURITE_SUCCESS", + "PIN_SUCCESS", + "REBLOGS_FETCH_SUCCESS", + "REBLOG_FAIL", + "REBLOG_REQUEST", + "REBLOG_SUCCESS", + "UNFAVOURITE_SUCCESS", + "UNPIN_SUCCESS", + "UNREBLOG_SUCCESS", + "favourite", + "fetchFavourites", + "fetchReblogs", + "pin", + "reblog", + "unfavourite", + "unpin", + "unreblog" + ], + "providedExports": [ + "REBLOG_REQUEST", + "REBLOG_SUCCESS", + "REBLOG_FAIL", + "FAVOURITE_REQUEST", + "FAVOURITE_SUCCESS", + "FAVOURITE_FAIL", + "UNREBLOG_REQUEST", + "UNREBLOG_SUCCESS", + "UNREBLOG_FAIL", + "UNFAVOURITE_REQUEST", + "UNFAVOURITE_SUCCESS", + "UNFAVOURITE_FAIL", + "REBLOGS_FETCH_REQUEST", + "REBLOGS_FETCH_SUCCESS", + "REBLOGS_FETCH_FAIL", + "FAVOURITES_FETCH_REQUEST", + "FAVOURITES_FETCH_SUCCESS", + "FAVOURITES_FETCH_FAIL", + "PIN_REQUEST", + "PIN_SUCCESS", + "PIN_FAIL", + "UNPIN_REQUEST", + "UNPIN_SUCCESS", + "UNPIN_FAIL", + "reblog", + "unreblog", + "reblogRequest", + "reblogSuccess", + "reblogFail", + "unreblogRequest", + "unreblogSuccess", + "unreblogFail", + "favourite", + "unfavourite", + "favouriteRequest", + "favouriteSuccess", + "favouriteFail", + "unfavouriteRequest", + "unfavouriteSuccess", + "unfavouriteFail", + "fetchReblogs", + "fetchReblogsRequest", + "fetchReblogsSuccess", + "fetchReblogsFail", + "fetchFavourites", + "fetchFavouritesRequest", + "fetchFavouritesSuccess", + "fetchFavouritesFail", + "pin", + "pinRequest", + "pinSuccess", + "pinFail", + "unpin", + "unpinRequest", + "unpinSuccess", + "unpinFail" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import api from '../api';\n\nexport var REBLOG_REQUEST = 'REBLOG_REQUEST';\nexport var REBLOG_SUCCESS = 'REBLOG_SUCCESS';\nexport var REBLOG_FAIL = 'REBLOG_FAIL';\n\nexport var FAVOURITE_REQUEST = 'FAVOURITE_REQUEST';\nexport var FAVOURITE_SUCCESS = 'FAVOURITE_SUCCESS';\nexport var FAVOURITE_FAIL = 'FAVOURITE_FAIL';\n\nexport var UNREBLOG_REQUEST = 'UNREBLOG_REQUEST';\nexport var UNREBLOG_SUCCESS = 'UNREBLOG_SUCCESS';\nexport var UNREBLOG_FAIL = 'UNREBLOG_FAIL';\n\nexport var UNFAVOURITE_REQUEST = 'UNFAVOURITE_REQUEST';\nexport var UNFAVOURITE_SUCCESS = 'UNFAVOURITE_SUCCESS';\nexport var UNFAVOURITE_FAIL = 'UNFAVOURITE_FAIL';\n\nexport var REBLOGS_FETCH_REQUEST = 'REBLOGS_FETCH_REQUEST';\nexport var REBLOGS_FETCH_SUCCESS = 'REBLOGS_FETCH_SUCCESS';\nexport var REBLOGS_FETCH_FAIL = 'REBLOGS_FETCH_FAIL';\n\nexport var FAVOURITES_FETCH_REQUEST = 'FAVOURITES_FETCH_REQUEST';\nexport var FAVOURITES_FETCH_SUCCESS = 'FAVOURITES_FETCH_SUCCESS';\nexport var FAVOURITES_FETCH_FAIL = 'FAVOURITES_FETCH_FAIL';\n\nexport var PIN_REQUEST = 'PIN_REQUEST';\nexport var PIN_SUCCESS = 'PIN_SUCCESS';\nexport var PIN_FAIL = 'PIN_FAIL';\n\nexport var UNPIN_REQUEST = 'UNPIN_REQUEST';\nexport var UNPIN_SUCCESS = 'UNPIN_SUCCESS';\nexport var UNPIN_FAIL = 'UNPIN_FAIL';\n\nexport function reblog(status) {\n return function (dispatch, getState) {\n dispatch(reblogRequest(status));\n\n api(getState).post('/api/v1/statuses/' + status.get('id') + '/reblog').then(function (response) {\n // The reblog API method returns a new status wrapped around the original. In this case we are only\n // interested in how the original is modified, hence passing it skipping the wrapper\n dispatch(reblogSuccess(status, response.data.reblog));\n }).catch(function (error) {\n dispatch(reblogFail(status, error));\n });\n };\n};\n\nexport function unreblog(status) {\n return function (dispatch, getState) {\n dispatch(unreblogRequest(status));\n\n api(getState).post('/api/v1/statuses/' + status.get('id') + '/unreblog').then(function (response) {\n dispatch(unreblogSuccess(status, response.data));\n }).catch(function (error) {\n dispatch(unreblogFail(status, error));\n });\n };\n};\n\nexport function reblogRequest(status) {\n return {\n type: REBLOG_REQUEST,\n status: status\n };\n};\n\nexport function reblogSuccess(status, response) {\n return {\n type: REBLOG_SUCCESS,\n status: status,\n response: response\n };\n};\n\nexport function reblogFail(status, error) {\n return {\n type: REBLOG_FAIL,\n status: status,\n error: error\n };\n};\n\nexport function unreblogRequest(status) {\n return {\n type: UNREBLOG_REQUEST,\n status: status\n };\n};\n\nexport function unreblogSuccess(status, response) {\n return {\n type: UNREBLOG_SUCCESS,\n status: status,\n response: response\n };\n};\n\nexport function unreblogFail(status, error) {\n return {\n type: UNREBLOG_FAIL,\n status: status,\n error: error\n };\n};\n\nexport function favourite(status) {\n return function (dispatch, getState) {\n dispatch(favouriteRequest(status));\n\n api(getState).post('/api/v1/statuses/' + status.get('id') + '/favourite').then(function (response) {\n dispatch(favouriteSuccess(status, response.data));\n }).catch(function (error) {\n dispatch(favouriteFail(status, error));\n });\n };\n};\n\nexport function unfavourite(status) {\n return function (dispatch, getState) {\n dispatch(unfavouriteRequest(status));\n\n api(getState).post('/api/v1/statuses/' + status.get('id') + '/unfavourite').then(function (response) {\n dispatch(unfavouriteSuccess(status, response.data));\n }).catch(function (error) {\n dispatch(unfavouriteFail(status, error));\n });\n };\n};\n\nexport function favouriteRequest(status) {\n return {\n type: FAVOURITE_REQUEST,\n status: status\n };\n};\n\nexport function favouriteSuccess(status, response) {\n return {\n type: FAVOURITE_SUCCESS,\n status: status,\n response: response\n };\n};\n\nexport function favouriteFail(status, error) {\n return {\n type: FAVOURITE_FAIL,\n status: status,\n error: error\n };\n};\n\nexport function unfavouriteRequest(status) {\n return {\n type: UNFAVOURITE_REQUEST,\n status: status\n };\n};\n\nexport function unfavouriteSuccess(status, response) {\n return {\n type: UNFAVOURITE_SUCCESS,\n status: status,\n response: response\n };\n};\n\nexport function unfavouriteFail(status, error) {\n return {\n type: UNFAVOURITE_FAIL,\n status: status,\n error: error\n };\n};\n\nexport function fetchReblogs(id) {\n return function (dispatch, getState) {\n dispatch(fetchReblogsRequest(id));\n\n api(getState).get('/api/v1/statuses/' + id + '/reblogged_by').then(function (response) {\n dispatch(fetchReblogsSuccess(id, response.data));\n }).catch(function (error) {\n dispatch(fetchReblogsFail(id, error));\n });\n };\n};\n\nexport function fetchReblogsRequest(id) {\n return {\n type: REBLOGS_FETCH_REQUEST,\n id: id\n };\n};\n\nexport function fetchReblogsSuccess(id, accounts) {\n return {\n type: REBLOGS_FETCH_SUCCESS,\n id: id,\n accounts: accounts\n };\n};\n\nexport function fetchReblogsFail(id, error) {\n return {\n type: REBLOGS_FETCH_FAIL,\n error: error\n };\n};\n\nexport function fetchFavourites(id) {\n return function (dispatch, getState) {\n dispatch(fetchFavouritesRequest(id));\n\n api(getState).get('/api/v1/statuses/' + id + '/favourited_by').then(function (response) {\n dispatch(fetchFavouritesSuccess(id, response.data));\n }).catch(function (error) {\n dispatch(fetchFavouritesFail(id, error));\n });\n };\n};\n\nexport function fetchFavouritesRequest(id) {\n return {\n type: FAVOURITES_FETCH_REQUEST,\n id: id\n };\n};\n\nexport function fetchFavouritesSuccess(id, accounts) {\n return {\n type: FAVOURITES_FETCH_SUCCESS,\n id: id,\n accounts: accounts\n };\n};\n\nexport function fetchFavouritesFail(id, error) {\n return {\n type: FAVOURITES_FETCH_FAIL,\n error: error\n };\n};\n\nexport function pin(status) {\n return function (dispatch, getState) {\n dispatch(pinRequest(status));\n\n api(getState).post('/api/v1/statuses/' + status.get('id') + '/pin').then(function (response) {\n dispatch(pinSuccess(status, response.data));\n }).catch(function (error) {\n dispatch(pinFail(status, error));\n });\n };\n};\n\nexport function pinRequest(status) {\n return {\n type: PIN_REQUEST,\n status: status\n };\n};\n\nexport function pinSuccess(status, response) {\n return {\n type: PIN_SUCCESS,\n status: status,\n response: response\n };\n};\n\nexport function pinFail(status, error) {\n return {\n type: PIN_FAIL,\n status: status,\n error: error\n };\n};\n\nexport function unpin(status) {\n return function (dispatch, getState) {\n dispatch(unpinRequest(status));\n\n api(getState).post('/api/v1/statuses/' + status.get('id') + '/unpin').then(function (response) {\n dispatch(unpinSuccess(status, response.data));\n }).catch(function (error) {\n dispatch(unpinFail(status, error));\n });\n };\n};\n\nexport function unpinRequest(status) {\n return {\n type: UNPIN_REQUEST,\n status: status\n };\n};\n\nexport function unpinSuccess(status, response) {\n return {\n type: UNPIN_SUCCESS,\n status: status,\n response: response\n };\n};\n\nexport function unpinFail(status, error) {\n return {\n type: UNPIN_FAIL,\n status: status,\n error: error\n };\n};" + }, + { + "id": 44, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/webpack/buildin/global.js", + "name": "(webpack)/buildin/global.js", + "index": 4, + "index2": 0, + "size": 487, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "issuerId": 317, + "issuerName": "./node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 32, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/util/util.js", + "module": "./node_modules/util/util.js", + "moduleName": "./node_modules/util/util.js", + "type": "cjs require", + "userRequest": "global", + "loc": "1:0-41" + }, + { + "moduleId": 208, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_freeGlobal.js", + "module": "./node_modules/lodash/_freeGlobal.js", + "moduleName": "./node_modules/lodash/_freeGlobal.js", + "type": "cjs require", + "userRequest": "global", + "loc": "1:0-41" + }, + { + "moduleId": 317, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "module": "./node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "moduleName": "./node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "type": "cjs require", + "userRequest": "global", + "loc": "1:0-47" + }, + { + "moduleId": 363, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_freeGlobal.js", + "module": "./node_modules/lodash-es/_freeGlobal.js", + "moduleName": "./node_modules/lodash-es/_freeGlobal.js", + "type": "cjs require", + "userRequest": "global", + "loc": "1:0-41" + }, + { + "moduleId": 370, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/symbol-observable/lib/index.js", + "module": "./node_modules/symbol-observable/lib/index.js", + "moduleName": "./node_modules/symbol-observable/lib/index.js", + "type": "cjs require", + "userRequest": "global", + "loc": "1:0-44" + }, + { + "moduleId": 471, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/raf/index.js", + "module": "./node_modules/raf/index.js", + "moduleName": "./node_modules/raf/index.js", + "type": "cjs require", + "userRequest": "global", + "loc": "1:0-41" + }, + { + "moduleId": 813, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/array-includes/implementation.js", + "module": "./node_modules/array-includes/implementation.js", + "moduleName": "./node_modules/array-includes/implementation.js", + "type": "cjs require", + "userRequest": "global", + "loc": "1:0-41" + }, + { + "moduleId": 822, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl/index.js", + "module": "./node_modules/intl/index.js", + "moduleName": "./node_modules/intl/index.js", + "type": "cjs require", + "userRequest": "global", + "loc": "1:0-41" + }, + { + "moduleId": 823, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl/lib/core.js", + "module": "./node_modules/intl/lib/core.js", + "moduleName": "./node_modules/intl/lib/core.js", + "type": "cjs require", + "userRequest": "global", + "loc": "1:0-44" + }, + { + "moduleId": 864, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/requestidlecallback/index.js", + "module": "./node_modules/requestidlecallback/index.js", + "moduleName": "./node_modules/requestidlecallback/index.js", + "type": "cjs require", + "userRequest": "global", + "loc": "1:0-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "var g;\n\n// This works in non-strict mode\ng = function () {\n\treturn this;\n}();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;" + }, + { + "id": 45, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "name": "./app/javascript/mastodon/actions/notifications.js", + "index": 290, + "index2": 307, + "size": 6641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "issuerId": 274, + "issuerName": "./app/javascript/mastodon/actions/streaming.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 274, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/streaming.js", + "module": "./app/javascript/mastodon/actions/streaming.js", + "moduleName": "./app/javascript/mastodon/actions/streaming.js", + "type": "harmony import", + "userRequest": "./notifications", + "loc": "3:0-76" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/notifications", + "loc": "9:0-125" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/notifications", + "loc": "9:0-125" + }, + { + "moduleId": 443, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "module": "./app/javascript/mastodon/reducers/statuses.js", + "moduleName": "./app/javascript/mastodon/reducers/statuses.js", + "type": "harmony import", + "userRequest": "../actions/notifications", + "loc": "5:0-125" + }, + { + "moduleId": 454, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/notifications.js", + "module": "./app/javascript/mastodon/reducers/notifications.js", + "moduleName": "./app/javascript/mastodon/reducers/notifications.js", + "type": "harmony import", + "userRequest": "../actions/notifications", + "loc": "1:0-288" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "../../actions/notifications", + "loc": "21:0-67" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../actions/notifications", + "loc": "14:0-90" + }, + { + "moduleId": 885, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../../../actions/notifications", + "loc": "5:0-68" + } + ], + "usedExports": [ + "NOTIFICATIONS_CLEAR", + "NOTIFICATIONS_EXPAND_FAIL", + "NOTIFICATIONS_EXPAND_REQUEST", + "NOTIFICATIONS_EXPAND_SUCCESS", + "NOTIFICATIONS_REFRESH_FAIL", + "NOTIFICATIONS_REFRESH_REQUEST", + "NOTIFICATIONS_REFRESH_SUCCESS", + "NOTIFICATIONS_SCROLL_TOP", + "NOTIFICATIONS_UPDATE", + "clearNotifications", + "expandNotifications", + "refreshNotifications", + "scrollTopNotifications", + "updateNotifications" + ], + "providedExports": [ + "NOTIFICATIONS_UPDATE", + "NOTIFICATIONS_REFRESH_REQUEST", + "NOTIFICATIONS_REFRESH_SUCCESS", + "NOTIFICATIONS_REFRESH_FAIL", + "NOTIFICATIONS_EXPAND_REQUEST", + "NOTIFICATIONS_EXPAND_SUCCESS", + "NOTIFICATIONS_EXPAND_FAIL", + "NOTIFICATIONS_CLEAR", + "NOTIFICATIONS_SCROLL_TOP", + "updateNotifications", + "refreshNotifications", + "refreshNotificationsRequest", + "refreshNotificationsSuccess", + "refreshNotificationsFail", + "expandNotifications", + "expandNotificationsRequest", + "expandNotificationsSuccess", + "expandNotificationsFail", + "clearNotifications", + "scrollTopNotifications" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import api, { getLinks } from '../api';\nimport { List as ImmutableList } from 'immutable';\nimport IntlMessageFormat from 'intl-messageformat';\nimport { fetchRelationships } from './accounts';\nimport { defineMessages } from 'react-intl';\n\nexport var NOTIFICATIONS_UPDATE = 'NOTIFICATIONS_UPDATE';\n\nexport var NOTIFICATIONS_REFRESH_REQUEST = 'NOTIFICATIONS_REFRESH_REQUEST';\nexport var NOTIFICATIONS_REFRESH_SUCCESS = 'NOTIFICATIONS_REFRESH_SUCCESS';\nexport var NOTIFICATIONS_REFRESH_FAIL = 'NOTIFICATIONS_REFRESH_FAIL';\n\nexport var NOTIFICATIONS_EXPAND_REQUEST = 'NOTIFICATIONS_EXPAND_REQUEST';\nexport var NOTIFICATIONS_EXPAND_SUCCESS = 'NOTIFICATIONS_EXPAND_SUCCESS';\nexport var NOTIFICATIONS_EXPAND_FAIL = 'NOTIFICATIONS_EXPAND_FAIL';\n\nexport var NOTIFICATIONS_CLEAR = 'NOTIFICATIONS_CLEAR';\nexport var NOTIFICATIONS_SCROLL_TOP = 'NOTIFICATIONS_SCROLL_TOP';\n\ndefineMessages({\n mention: {\n 'id': 'notification.mention',\n 'defaultMessage': '{name} mentioned you'\n }\n});\n\nvar fetchRelatedRelationships = function fetchRelatedRelationships(dispatch, notifications) {\n var accountIds = notifications.filter(function (item) {\n return item.type === 'follow';\n }).map(function (item) {\n return item.account.id;\n });\n\n if (accountIds > 0) {\n dispatch(fetchRelationships(accountIds));\n }\n};\n\nvar unescapeHTML = function unescapeHTML(html) {\n var wrapper = document.createElement('div');\n html = html.replace(/
|
|\\n/, ' ');\n wrapper.innerHTML = html;\n return wrapper.textContent;\n};\n\nexport function updateNotifications(notification, intlMessages, intlLocale) {\n return function (dispatch, getState) {\n var showAlert = getState().getIn(['settings', 'notifications', 'alerts', notification.type], true);\n var playSound = getState().getIn(['settings', 'notifications', 'sounds', notification.type], true);\n\n dispatch({\n type: NOTIFICATIONS_UPDATE,\n notification: notification,\n account: notification.account,\n status: notification.status,\n meta: playSound ? { sound: 'boop' } : undefined\n });\n\n fetchRelatedRelationships(dispatch, [notification]);\n\n // Desktop notifications\n if (typeof window.Notification !== 'undefined' && showAlert) {\n var title = new IntlMessageFormat(intlMessages['notification.' + notification.type], intlLocale).format({ name: notification.account.display_name.length > 0 ? notification.account.display_name : notification.account.username });\n var body = notification.status && notification.status.spoiler_text.length > 0 ? notification.status.spoiler_text : unescapeHTML(notification.status ? notification.status.content : '');\n\n var notify = new Notification(title, { body: body, icon: notification.account.avatar, tag: notification.id });\n notify.addEventListener('click', function () {\n window.focus();\n notify.close();\n });\n }\n };\n};\n\nvar excludeTypesFromSettings = function excludeTypesFromSettings(state) {\n return state.getIn(['settings', 'notifications', 'shows']).filter(function (enabled) {\n return !enabled;\n }).keySeq().toJS();\n};\n\nexport function refreshNotifications() {\n return function (dispatch, getState) {\n var params = {};\n var ids = getState().getIn(['notifications', 'items']);\n\n var skipLoading = false;\n\n if (ids.size > 0) {\n params.since_id = ids.first().get('id');\n }\n\n if (getState().getIn(['notifications', 'loaded'])) {\n skipLoading = true;\n }\n\n params.exclude_types = excludeTypesFromSettings(getState());\n\n dispatch(refreshNotificationsRequest(skipLoading));\n\n api(getState).get('/api/v1/notifications', { params: params }).then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n\n dispatch(refreshNotificationsSuccess(response.data, skipLoading, next ? next.uri : null));\n fetchRelatedRelationships(dispatch, response.data);\n }).catch(function (error) {\n dispatch(refreshNotificationsFail(error, skipLoading));\n });\n };\n};\n\nexport function refreshNotificationsRequest(skipLoading) {\n return {\n type: NOTIFICATIONS_REFRESH_REQUEST,\n skipLoading: skipLoading\n };\n};\n\nexport function refreshNotificationsSuccess(notifications, skipLoading, next) {\n return {\n type: NOTIFICATIONS_REFRESH_SUCCESS,\n notifications: notifications,\n accounts: notifications.map(function (item) {\n return item.account;\n }),\n statuses: notifications.map(function (item) {\n return item.status;\n }).filter(function (status) {\n return !!status;\n }),\n skipLoading: skipLoading,\n next: next\n };\n};\n\nexport function refreshNotificationsFail(error, skipLoading) {\n return {\n type: NOTIFICATIONS_REFRESH_FAIL,\n error: error,\n skipLoading: skipLoading\n };\n};\n\nexport function expandNotifications() {\n return function (dispatch, getState) {\n var items = getState().getIn(['notifications', 'items'], ImmutableList());\n\n if (getState().getIn(['notifications', 'isLoading']) || items.size === 0) {\n return;\n }\n\n var params = {\n max_id: items.last().get('id'),\n limit: 20,\n exclude_types: excludeTypesFromSettings(getState())\n };\n\n dispatch(expandNotificationsRequest());\n\n api(getState).get('/api/v1/notifications', { params: params }).then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(expandNotificationsSuccess(response.data, next ? next.uri : null));\n fetchRelatedRelationships(dispatch, response.data);\n }).catch(function (error) {\n dispatch(expandNotificationsFail(error));\n });\n };\n};\n\nexport function expandNotificationsRequest() {\n return {\n type: NOTIFICATIONS_EXPAND_REQUEST\n };\n};\n\nexport function expandNotificationsSuccess(notifications, next) {\n return {\n type: NOTIFICATIONS_EXPAND_SUCCESS,\n notifications: notifications,\n accounts: notifications.map(function (item) {\n return item.account;\n }),\n statuses: notifications.map(function (item) {\n return item.status;\n }).filter(function (status) {\n return !!status;\n }),\n next: next\n };\n};\n\nexport function expandNotificationsFail(error) {\n return {\n type: NOTIFICATIONS_EXPAND_FAIL,\n error: error\n };\n};\n\nexport function clearNotifications() {\n return function (dispatch, getState) {\n dispatch({\n type: NOTIFICATIONS_CLEAR\n });\n\n api(getState).post('/api/v1/notifications/clear');\n };\n};\n\nexport function scrollTopNotifications(top) {\n return {\n type: NOTIFICATIONS_SCROLL_TOP,\n top: top\n };\n};" + }, + { + "id": 46, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/detect-passive-events/lib/index.js", + "name": "./node_modules/detect-passive-events/lib/index.js", + "index": 424, + "index2": 414, + "size": 1041, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/is_mobile.js", + "issuerId": 33, + "issuerName": "./app/javascript/mastodon/is_mobile.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 33, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/is_mobile.js", + "module": "./app/javascript/mastodon/is_mobile.js", + "moduleName": "./app/javascript/mastodon/is_mobile.js", + "type": "harmony import", + "userRequest": "detect-passive-events", + "loc": "1:0-56" + }, + { + "moduleId": 99, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column.js", + "module": "./app/javascript/mastodon/components/column.js", + "moduleName": "./app/javascript/mastodon/components/column.js", + "type": "harmony import", + "userRequest": "detect-passive-events", + "loc": "6:0-56" + }, + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "detect-passive-events", + "loc": "15:0-56" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "detect-passive-events", + "loc": "15:0-56" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "detect-passive-events", + "loc": "15:0-56" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "detect-passive-events", + "loc": "23:0-56" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// adapted from https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\nvar detectPassiveEvents = {\n update: function update() {\n if (typeof window !== 'undefined' && typeof window.addEventListener === 'function') {\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n // note: have to set and remove a no-op listener instead of null\n // (which was used previously), becasue Edge v15 throws an error\n // when providing a null callback.\n // https://github.com/rafrex/detect-passive-events/pull/3\n var noop = function noop() {};\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n detectPassiveEvents.hasSupport = passive;\n }\n }\n};\n\ndetectPassiveEvents.update();\nexports.default = detectPassiveEvents;" + }, + { + "id": 47, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_fails.js", + "name": "./node_modules/core-js/library/modules/_fails.js", + "index": 84, + "index2": 77, + "size": 103, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 37, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_descriptors.js", + "module": "./node_modules/core-js/library/modules/_descriptors.js", + "moduleName": "./node_modules/core-js/library/modules/_descriptors.js", + "type": "cjs require", + "userRequest": "./_fails", + "loc": "2:18-37" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_fails", + "loc": "10:13-32" + }, + { + "moduleId": 178, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_ie8-dom-define.js", + "module": "./node_modules/core-js/library/modules/_ie8-dom-define.js", + "moduleName": "./node_modules/core-js/library/modules/_ie8-dom-define.js", + "type": "cjs require", + "userRequest": "./_fails", + "loc": "1:48-67" + }, + { + "moduleId": 318, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-sap.js", + "module": "./node_modules/core-js/library/modules/_object-sap.js", + "moduleName": "./node_modules/core-js/library/modules/_object-sap.js", + "type": "cjs require", + "userRequest": "./_fails", + "loc": "4:12-31" + }, + { + "moduleId": 324, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_meta.js", + "module": "./node_modules/core-js/library/modules/_meta.js", + "moduleName": "./node_modules/core-js/library/modules/_meta.js", + "type": "cjs require", + "userRequest": "./_fails", + "loc": "9:14-33" + }, + { + "moduleId": 463, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-assign.js", + "module": "./node_modules/core-js/library/modules/_object-assign.js", + "moduleName": "./node_modules/core-js/library/modules/_object-assign.js", + "type": "cjs require", + "userRequest": "./_fails", + "loc": "12:29-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};" + }, + { + "id": 48, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_hide.js", + "name": "./node_modules/core-js/library/modules/_hide.js", + "index": 89, + "index2": 89, + "size": 285, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 38, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_export.js", + "module": "./node_modules/core-js/library/modules/_export.js", + "moduleName": "./node_modules/core-js/library/modules/_export.js", + "type": "cjs require", + "userRequest": "./_hide", + "loc": "4:11-29" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_hide", + "loc": "232:36-54" + }, + { + "moduleId": 180, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_redefine.js", + "module": "./node_modules/core-js/library/modules/_redefine.js", + "moduleName": "./node_modules/core-js/library/modules/_redefine.js", + "type": "cjs require", + "userRequest": "./_hide", + "loc": "1:17-35" + }, + { + "moduleId": 187, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "module": "./node_modules/core-js/library/modules/_iter-define.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-define.js", + "type": "cjs require", + "userRequest": "./_hide", + "loc": "6:11-29" + }, + { + "moduleId": 341, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-create.js", + "module": "./node_modules/core-js/library/modules/_iter-create.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-create.js", + "type": "cjs require", + "userRequest": "./_hide", + "loc": "9:0-18" + }, + { + "moduleId": 342, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/web.dom.iterable.js", + "module": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "moduleName": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "type": "cjs require", + "userRequest": "./_hide", + "loc": "3:11-29" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};" + }, + { + "id": 49, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks.js", + "name": "./node_modules/core-js/library/modules/_wks.js", + "index": 102, + "index2": 95, + "size": 353, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 112, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_set-to-string-tag.js", + "module": "./node_modules/core-js/library/modules/_set-to-string-tag.js", + "moduleName": "./node_modules/core-js/library/modules/_set-to-string-tag.js", + "type": "cjs require", + "userRequest": "./_wks", + "loc": "3:10-27" + }, + { + "moduleId": 113, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks-ext.js", + "module": "./node_modules/core-js/library/modules/_wks-ext.js", + "moduleName": "./node_modules/core-js/library/modules/_wks-ext.js", + "type": "cjs require", + "userRequest": "./_wks", + "loc": "1:12-29" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_wks", + "loc": "14:10-27" + }, + { + "moduleId": 187, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "module": "./node_modules/core-js/library/modules/_iter-define.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-define.js", + "type": "cjs require", + "userRequest": "./_wks", + "loc": "12:15-32" + }, + { + "moduleId": 341, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-create.js", + "module": "./node_modules/core-js/library/modules/_iter-create.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-create.js", + "type": "cjs require", + "userRequest": "./_wks", + "loc": "9:38-55" + }, + { + "moduleId": 342, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/web.dom.iterable.js", + "module": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "moduleName": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "type": "cjs require", + "userRequest": "./_wks", + "loc": "5:20-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;" + }, + { + "id": 50, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-iobject.js", + "name": "./node_modules/core-js/library/modules/_to-iobject.js", + "index": 109, + "index2": 103, + "size": 216, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_to-iobject", + "loc": "20:16-40" + }, + { + "moduleId": 181, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys-internal.js", + "module": "./node_modules/core-js/library/modules/_object-keys-internal.js", + "moduleName": "./node_modules/core-js/library/modules/_object-keys-internal.js", + "type": "cjs require", + "userRequest": "./_to-iobject", + "loc": "2:16-40" + }, + { + "moduleId": 185, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopd.js", + "module": "./node_modules/core-js/library/modules/_object-gopd.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopd.js", + "type": "cjs require", + "userRequest": "./_to-iobject", + "loc": "3:16-40" + }, + { + "moduleId": 326, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_array-includes.js", + "module": "./node_modules/core-js/library/modules/_array-includes.js", + "moduleName": "./node_modules/core-js/library/modules/_array-includes.js", + "type": "cjs require", + "userRequest": "./_to-iobject", + "loc": "3:16-40" + }, + { + "moduleId": 332, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopn-ext.js", + "module": "./node_modules/core-js/library/modules/_object-gopn-ext.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopn-ext.js", + "type": "cjs require", + "userRequest": "./_to-iobject", + "loc": "2:16-40" + }, + { + "moduleId": 343, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.array.iterator.js", + "module": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "moduleName": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "type": "cjs require", + "userRequest": "./_to-iobject", + "loc": "6:16-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};" + }, + { + "id": 51, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetTag.js", + "name": "./node_modules/lodash/_baseGetTag.js", + "index": 275, + "index2": 268, + "size": 791, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isSymbol.js", + "issuerId": 419, + "issuerName": "./node_modules/lodash/isSymbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 237, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isFunction.js", + "module": "./node_modules/lodash/isFunction.js", + "moduleName": "./node_modules/lodash/isFunction.js", + "type": "cjs require", + "userRequest": "./_baseGetTag", + "loc": "1:17-41" + }, + { + "moduleId": 419, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isSymbol.js", + "module": "./node_modules/lodash/isSymbol.js", + "moduleName": "./node_modules/lodash/isSymbol.js", + "type": "cjs require", + "userRequest": "./_baseGetTag", + "loc": "1:17-41" + }, + { + "moduleId": 543, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsArguments.js", + "module": "./node_modules/lodash/_baseIsArguments.js", + "moduleName": "./node_modules/lodash/_baseIsArguments.js", + "type": "cjs require", + "userRequest": "./_baseGetTag", + "loc": "1:17-41" + }, + { + "moduleId": 545, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsTypedArray.js", + "module": "./node_modules/lodash/_baseIsTypedArray.js", + "moduleName": "./node_modules/lodash/_baseIsTypedArray.js", + "type": "cjs require", + "userRequest": "./_baseGetTag", + "loc": "1:17-41" + }, + { + "moduleId": 592, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "module": "./node_modules/lodash/_getTag.js", + "moduleName": "./node_modules/lodash/_getTag.js", + "type": "cjs require", + "userRequest": "./_baseGetTag", + "loc": "6:17-41" + }, + { + "moduleId": 597, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isBoolean.js", + "module": "./node_modules/lodash/isBoolean.js", + "moduleName": "./node_modules/lodash/isBoolean.js", + "type": "cjs require", + "userRequest": "./_baseGetTag", + "loc": "1:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nmodule.exports = baseGetTag;" + }, + { + "id": 52, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isObjectLike.js", + "name": "./node_modules/lodash/isObjectLike.js", + "index": 279, + "index2": 269, + "size": 613, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isSymbol.js", + "issuerId": 419, + "issuerName": "./node_modules/lodash/isSymbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 419, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isSymbol.js", + "module": "./node_modules/lodash/isSymbol.js", + "moduleName": "./node_modules/lodash/isSymbol.js", + "type": "cjs require", + "userRequest": "./isObjectLike", + "loc": "2:19-44" + }, + { + "moduleId": 542, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isArguments.js", + "module": "./node_modules/lodash/isArguments.js", + "moduleName": "./node_modules/lodash/isArguments.js", + "type": "cjs require", + "userRequest": "./isObjectLike", + "loc": "2:19-44" + }, + { + "moduleId": 543, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsArguments.js", + "module": "./node_modules/lodash/_baseIsArguments.js", + "moduleName": "./node_modules/lodash/_baseIsArguments.js", + "type": "cjs require", + "userRequest": "./isObjectLike", + "loc": "2:19-44" + }, + { + "moduleId": 545, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsTypedArray.js", + "module": "./node_modules/lodash/_baseIsTypedArray.js", + "moduleName": "./node_modules/lodash/_baseIsTypedArray.js", + "type": "cjs require", + "userRequest": "./isObjectLike", + "loc": "3:19-44" + }, + { + "moduleId": 551, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqual.js", + "module": "./node_modules/lodash/_baseIsEqual.js", + "moduleName": "./node_modules/lodash/_baseIsEqual.js", + "type": "cjs require", + "userRequest": "./isObjectLike", + "loc": "2:19-44" + }, + { + "moduleId": 597, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isBoolean.js", + "module": "./node_modules/lodash/isBoolean.js", + "moduleName": "./node_modules/lodash/isBoolean.js", + "type": "cjs require", + "userRequest": "./isObjectLike", + "loc": "2:19-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;" + }, + { + "id": 53, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/index.js", + "name": "./node_modules/intl-messageformat/index.js", + "index": 291, + "index2": 294, + "size": 552, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "issuerId": 45, + "issuerName": "./app/javascript/mastodon/actions/notifications.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 6, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "module": "./node_modules/react-intl/lib/index.es.js", + "moduleName": "./node_modules/react-intl/lib/index.es.js", + "type": "harmony import", + "userRequest": "intl-messageformat", + "loc": "8:0-51" + }, + { + "moduleId": 45, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/notifications.js", + "module": "./app/javascript/mastodon/actions/notifications.js", + "moduleName": "./app/javascript/mastodon/actions/notifications.js", + "type": "harmony import", + "userRequest": "intl-messageformat", + "loc": "3:0-51" + }, + { + "moduleId": 433, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/core.js", + "module": "./node_modules/intl-relativeformat/lib/core.js", + "moduleName": "./node_modules/intl-relativeformat/lib/core.js", + "type": "cjs require", + "userRequest": "intl-messageformat", + "loc": "11:27-56" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/* jshint node:true */\n\n'use strict';\n\nvar IntlMessageFormat = require('./lib/main')['default'];\n\n// Add all locale data to `IntlMessageFormat`. This module will be ignored when\n// bundling for the browser with Browserify/Webpack.\nrequire('./lib/locales');\n\n// Re-export `IntlMessageFormat` as the CommonJS default exports with all the\n// locale data registered, and with English set as the default locale. Define\n// the `default` prop for use with other compiled ES6 Modules.\nexports = module.exports = IntlMessageFormat;\nexports['default'] = exports;" + }, + { + "id": 54, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/PathUtils.js", + "name": "./node_modules/history/es/PathUtils.js", + "index": 501, + "index2": 488, + "size": 1604, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "issuerId": 227, + "issuerName": "./node_modules/history/es/createHashHistory.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 83, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/LocationUtils.js", + "module": "./node_modules/history/es/LocationUtils.js", + "moduleName": "./node_modules/history/es/LocationUtils.js", + "type": "harmony import", + "userRequest": "./PathUtils", + "loc": "13:0-40" + }, + { + "moduleId": 225, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createBrowserHistory.js", + "module": "./node_modules/history/es/createBrowserHistory.js", + "moduleName": "./node_modules/history/es/createBrowserHistory.js", + "type": "harmony import", + "userRequest": "./PathUtils", + "loc": "20:0-106" + }, + { + "moduleId": 227, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "module": "./node_modules/history/es/createHashHistory.js", + "moduleName": "./node_modules/history/es/createHashHistory.js", + "type": "harmony import", + "userRequest": "./PathUtils", + "loc": "14:0-125" + }, + { + "moduleId": 229, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createMemoryHistory.js", + "module": "./node_modules/history/es/createMemoryHistory.js", + "moduleName": "./node_modules/history/es/createMemoryHistory.js", + "type": "harmony import", + "userRequest": "./PathUtils", + "loc": "18:0-41" + }, + { + "moduleId": 514, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/index.js", + "module": "./node_modules/history/es/index.js", + "moduleName": "./node_modules/history/es/index.js", + "type": "harmony import", + "userRequest": "./PathUtils", + "loc": "9:0-52" + }, + { + "moduleId": 516, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/StaticRouter.js", + "module": "./node_modules/react-router/es/StaticRouter.js", + "moduleName": "./node_modules/react-router/es/StaticRouter.js", + "type": "harmony import", + "userRequest": "history/PathUtils", + "loc": "39:0-75" + } + ], + "usedExports": [ + "addLeadingSlash", + "createPath", + "hasBasename", + "parsePath", + "stripBasename", + "stripLeadingSlash", + "stripTrailingSlash" + ], + "providedExports": [ + "addLeadingSlash", + "stripLeadingSlash", + "hasBasename", + "stripBasename", + "stripTrailingSlash", + "parsePath", + "createPath" + ], + "optimizationBailout": [], + "depth": 6, + "source": "export var addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nexport var stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nexport var hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nexport var stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nexport var stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nexport var parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nexport var createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};" + }, + { + "id": 55, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar.js", + "name": "./app/javascript/mastodon/components/avatar.js", + "index": 358, + "index2": 351, + "size": 2251, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "issuerId": 153, + "issuerName": "./app/javascript/mastodon/components/status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "./avatar", + "loc": "14:0-30" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "../../../components/avatar", + "loc": "11:0-48" + }, + { + "moduleId": 292, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "module": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "type": "harmony import", + "userRequest": "../../../components/avatar", + "loc": "9:0-48" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "../../../components/avatar", + "loc": "13:0-48" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "../../../components/avatar", + "loc": "14:0-48" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "./avatar", + "loc": "11:0-30" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "../../../components/avatar", + "loc": "11:0-48" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "../../../components/avatar", + "loc": "11:0-48" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "../../../components/avatar", + "loc": "12:0-48" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nvar Avatar = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(Avatar, _React$PureComponent);\n\n function Avatar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Avatar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n hovering: false\n }, _this.handleMouseEnter = function () {\n if (_this.props.animate) return;\n _this.setState({ hovering: true });\n }, _this.handleMouseLeave = function () {\n if (_this.props.animate) return;\n _this.setState({ hovering: false });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Avatar.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n size = _props.size,\n animate = _props.animate,\n inline = _props.inline;\n var hovering = this.state.hovering;\n\n\n var src = account.get('avatar');\n var staticSrc = account.get('avatar_static');\n\n var className = 'account__avatar';\n\n if (inline) {\n className = className + ' account__avatar-inline';\n }\n\n var style = Object.assign({}, this.props.style, {\n width: size + 'px',\n height: size + 'px',\n backgroundSize: size + 'px ' + size + 'px'\n });\n\n if (hovering || animate) {\n style.backgroundImage = 'url(' + src + ')';\n } else {\n style.backgroundImage = 'url(' + staticSrc + ')';\n }\n\n return _jsx('div', {\n className: className,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n style: style\n });\n };\n\n return Avatar;\n}(React.PureComponent), _class.defaultProps = {\n animate: false,\n size: 20,\n inline: false\n}, _temp2);\nexport { Avatar as default };" + }, + { + "id": 56, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/display_name.js", + "name": "./app/javascript/mastodon/components/display_name.js", + "index": 361, + "index2": 354, + "size": 1075, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "issuerId": 153, + "issuerName": "./app/javascript/mastodon/components/status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "./display_name", + "loc": "17:0-41" + }, + { + "moduleId": 289, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/reply_indicator.js", + "module": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/reply_indicator.js", + "type": "harmony import", + "userRequest": "../../../components/display_name", + "loc": "13:0-59" + }, + { + "moduleId": 292, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "module": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/autosuggest_account.js", + "type": "harmony import", + "userRequest": "../../../components/display_name", + "loc": "10:0-59" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "../../../components/display_name", + "loc": "15:0-59" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "../../../components/display_name", + "loc": "16:0-59" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "./display_name", + "loc": "12:0-41" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "../../../components/display_name", + "loc": "12:0-59" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "../../../components/display_name", + "loc": "13:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar DisplayName = function (_React$PureComponent) {\n _inherits(DisplayName, _React$PureComponent);\n\n function DisplayName() {\n _classCallCheck(this, DisplayName);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n DisplayName.prototype.render = function render() {\n var displayNameHtml = { __html: this.props.account.get('display_name_html') };\n\n return _jsx('span', {\n className: 'display-name'\n }, void 0, _jsx('strong', {\n className: 'display-name__html',\n dangerouslySetInnerHTML: displayNameHtml\n }), ' ', _jsx('span', {\n className: 'display-name__account'\n }, void 0, '@', this.props.account.get('acct')));\n };\n\n return DisplayName;\n}(React.PureComponent);\n\nexport { DisplayName as default };" + }, + { + "id": 57, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/statuses.js", + "name": "./app/javascript/mastodon/actions/statuses.js", + "index": 287, + "index2": 283, + "size": 5028, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/contexts.js", + "issuerId": 450, + "issuerName": "./app/javascript/mastodon/reducers/contexts.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "../actions/statuses", + "loc": "9:0-77" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/statuses", + "loc": "7:0-82" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/statuses", + "loc": "7:0-82" + }, + { + "moduleId": 443, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "module": "./app/javascript/mastodon/reducers/statuses.js", + "moduleName": "./app/javascript/mastodon/reducers/statuses.js", + "type": "harmony import", + "userRequest": "../actions/statuses", + "loc": "2:0-126" + }, + { + "moduleId": 450, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/contexts.js", + "module": "./app/javascript/mastodon/reducers/contexts.js", + "moduleName": "./app/javascript/mastodon/reducers/contexts.js", + "type": "harmony import", + "userRequest": "../actions/statuses", + "loc": "1:0-60" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../actions/statuses", + "loc": "13:0-53" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../actions/statuses", + "loc": "20:0-54" + } + ], + "usedExports": [ + "CONTEXT_FETCH_SUCCESS", + "STATUS_FETCH_SUCCESS", + "STATUS_MUTE_SUCCESS", + "STATUS_UNMUTE_SUCCESS", + "deleteStatus", + "fetchStatus", + "muteStatus", + "unmuteStatus" + ], + "providedExports": [ + "STATUS_FETCH_REQUEST", + "STATUS_FETCH_SUCCESS", + "STATUS_FETCH_FAIL", + "STATUS_DELETE_REQUEST", + "STATUS_DELETE_SUCCESS", + "STATUS_DELETE_FAIL", + "CONTEXT_FETCH_REQUEST", + "CONTEXT_FETCH_SUCCESS", + "CONTEXT_FETCH_FAIL", + "STATUS_MUTE_REQUEST", + "STATUS_MUTE_SUCCESS", + "STATUS_MUTE_FAIL", + "STATUS_UNMUTE_REQUEST", + "STATUS_UNMUTE_SUCCESS", + "STATUS_UNMUTE_FAIL", + "fetchStatusRequest", + "fetchStatus", + "fetchStatusSuccess", + "fetchStatusFail", + "deleteStatus", + "deleteStatusRequest", + "deleteStatusSuccess", + "deleteStatusFail", + "fetchContext", + "fetchContextRequest", + "fetchContextSuccess", + "fetchContextFail", + "muteStatus", + "muteStatusRequest", + "muteStatusSuccess", + "muteStatusFail", + "unmuteStatus", + "unmuteStatusRequest", + "unmuteStatusSuccess", + "unmuteStatusFail" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import api from '../api';\n\nimport { deleteFromTimelines } from './timelines';\nimport { fetchStatusCard } from './cards';\n\nexport var STATUS_FETCH_REQUEST = 'STATUS_FETCH_REQUEST';\nexport var STATUS_FETCH_SUCCESS = 'STATUS_FETCH_SUCCESS';\nexport var STATUS_FETCH_FAIL = 'STATUS_FETCH_FAIL';\n\nexport var STATUS_DELETE_REQUEST = 'STATUS_DELETE_REQUEST';\nexport var STATUS_DELETE_SUCCESS = 'STATUS_DELETE_SUCCESS';\nexport var STATUS_DELETE_FAIL = 'STATUS_DELETE_FAIL';\n\nexport var CONTEXT_FETCH_REQUEST = 'CONTEXT_FETCH_REQUEST';\nexport var CONTEXT_FETCH_SUCCESS = 'CONTEXT_FETCH_SUCCESS';\nexport var CONTEXT_FETCH_FAIL = 'CONTEXT_FETCH_FAIL';\n\nexport var STATUS_MUTE_REQUEST = 'STATUS_MUTE_REQUEST';\nexport var STATUS_MUTE_SUCCESS = 'STATUS_MUTE_SUCCESS';\nexport var STATUS_MUTE_FAIL = 'STATUS_MUTE_FAIL';\n\nexport var STATUS_UNMUTE_REQUEST = 'STATUS_UNMUTE_REQUEST';\nexport var STATUS_UNMUTE_SUCCESS = 'STATUS_UNMUTE_SUCCESS';\nexport var STATUS_UNMUTE_FAIL = 'STATUS_UNMUTE_FAIL';\n\nexport function fetchStatusRequest(id, skipLoading) {\n return {\n type: STATUS_FETCH_REQUEST,\n id: id,\n skipLoading: skipLoading\n };\n};\n\nexport function fetchStatus(id) {\n return function (dispatch, getState) {\n var skipLoading = getState().getIn(['statuses', id], null) !== null;\n\n dispatch(fetchContext(id));\n dispatch(fetchStatusCard(id));\n\n if (skipLoading) {\n return;\n }\n\n dispatch(fetchStatusRequest(id, skipLoading));\n\n api(getState).get('/api/v1/statuses/' + id).then(function (response) {\n dispatch(fetchStatusSuccess(response.data, skipLoading));\n }).catch(function (error) {\n dispatch(fetchStatusFail(id, error, skipLoading));\n });\n };\n};\n\nexport function fetchStatusSuccess(status, skipLoading) {\n return {\n type: STATUS_FETCH_SUCCESS,\n status: status,\n skipLoading: skipLoading\n };\n};\n\nexport function fetchStatusFail(id, error, skipLoading) {\n return {\n type: STATUS_FETCH_FAIL,\n id: id,\n error: error,\n skipLoading: skipLoading,\n skipAlert: true\n };\n};\n\nexport function deleteStatus(id) {\n return function (dispatch, getState) {\n dispatch(deleteStatusRequest(id));\n\n api(getState).delete('/api/v1/statuses/' + id).then(function () {\n dispatch(deleteStatusSuccess(id));\n dispatch(deleteFromTimelines(id));\n }).catch(function (error) {\n dispatch(deleteStatusFail(id, error));\n });\n };\n};\n\nexport function deleteStatusRequest(id) {\n return {\n type: STATUS_DELETE_REQUEST,\n id: id\n };\n};\n\nexport function deleteStatusSuccess(id) {\n return {\n type: STATUS_DELETE_SUCCESS,\n id: id\n };\n};\n\nexport function deleteStatusFail(id, error) {\n return {\n type: STATUS_DELETE_FAIL,\n id: id,\n error: error\n };\n};\n\nexport function fetchContext(id) {\n return function (dispatch, getState) {\n dispatch(fetchContextRequest(id));\n\n api(getState).get('/api/v1/statuses/' + id + '/context').then(function (response) {\n dispatch(fetchContextSuccess(id, response.data.ancestors, response.data.descendants));\n }).catch(function (error) {\n if (error.response && error.response.status === 404) {\n dispatch(deleteFromTimelines(id));\n }\n\n dispatch(fetchContextFail(id, error));\n });\n };\n};\n\nexport function fetchContextRequest(id) {\n return {\n type: CONTEXT_FETCH_REQUEST,\n id: id\n };\n};\n\nexport function fetchContextSuccess(id, ancestors, descendants) {\n return {\n type: CONTEXT_FETCH_SUCCESS,\n id: id,\n ancestors: ancestors,\n descendants: descendants,\n statuses: ancestors.concat(descendants)\n };\n};\n\nexport function fetchContextFail(id, error) {\n return {\n type: CONTEXT_FETCH_FAIL,\n id: id,\n error: error,\n skipAlert: true\n };\n};\n\nexport function muteStatus(id) {\n return function (dispatch, getState) {\n dispatch(muteStatusRequest(id));\n\n api(getState).post('/api/v1/statuses/' + id + '/mute').then(function () {\n dispatch(muteStatusSuccess(id));\n }).catch(function (error) {\n dispatch(muteStatusFail(id, error));\n });\n };\n};\n\nexport function muteStatusRequest(id) {\n return {\n type: STATUS_MUTE_REQUEST,\n id: id\n };\n};\n\nexport function muteStatusSuccess(id) {\n return {\n type: STATUS_MUTE_SUCCESS,\n id: id\n };\n};\n\nexport function muteStatusFail(id, error) {\n return {\n type: STATUS_MUTE_FAIL,\n id: id,\n error: error\n };\n};\n\nexport function unmuteStatus(id) {\n return function (dispatch, getState) {\n dispatch(unmuteStatusRequest(id));\n\n api(getState).post('/api/v1/statuses/' + id + '/unmute').then(function () {\n dispatch(unmuteStatusSuccess(id));\n }).catch(function (error) {\n dispatch(unmuteStatusFail(id, error));\n });\n };\n};\n\nexport function unmuteStatusRequest(id) {\n return {\n type: STATUS_UNMUTE_REQUEST,\n id: id\n };\n};\n\nexport function unmuteStatusSuccess(id) {\n return {\n type: STATUS_UNMUTE_SUCCESS,\n id: id\n };\n};\n\nexport function unmuteStatusFail(id, error) {\n return {\n type: STATUS_UNMUTE_FAIL,\n id: id,\n error: error\n };\n};" + }, + { + "id": 58, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "name": "./node_modules/react-router-dom/es/index.js", + "index": 494, + "index2": 520, + "size": 925, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 152, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "module": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "moduleName": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "5:0-46" + }, + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "10:0-56" + }, + { + "moduleId": 255, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/tabs_bar.js", + "module": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/tabs_bar.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "11:0-43" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "16:0-56" + }, + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "9:0-49" + }, + { + "moduleId": 752, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/index.js", + "module": "./app/javascript/mastodon/features/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/compose/index.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "14:0-40" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "18:0-40" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "11:0-40" + }, + { + "moduleId": 882, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search_results.js", + "module": "./app/javascript/mastodon/features/compose/components/search_results.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search_results.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "13:0-40" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "16:0-40" + }, + { + "moduleId": 896, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_link.js", + "module": "./app/javascript/mastodon/features/ui/components/column_link.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_link.js", + "type": "harmony import", + "userRequest": "react-router-dom", + "loc": "4:0-40" + } + ], + "usedExports": [ + "BrowserRouter", + "Link", + "NavLink", + "Redirect", + "Route", + "Switch", + "withRouter" + ], + "providedExports": [ + "BrowserRouter", + "HashRouter", + "Link", + "MemoryRouter", + "NavLink", + "Prompt", + "Redirect", + "Route", + "Router", + "StaticRouter", + "Switch", + "matchPath", + "withRouter" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import _BrowserRouter from './BrowserRouter';\nexport { _BrowserRouter as BrowserRouter };\nimport _HashRouter from './HashRouter';\nexport { _HashRouter as HashRouter };\nimport _Link from './Link';\nexport { _Link as Link };\nimport _MemoryRouter from './MemoryRouter';\nexport { _MemoryRouter as MemoryRouter };\nimport _NavLink from './NavLink';\nexport { _NavLink as NavLink };\nimport _Prompt from './Prompt';\nexport { _Prompt as Prompt };\nimport _Redirect from './Redirect';\nexport { _Redirect as Redirect };\nimport _Route from './Route';\nexport { _Route as Route };\nimport _Router from './Router';\nexport { _Router as Router };\nimport _StaticRouter from './StaticRouter';\nexport { _StaticRouter as StaticRouter };\nimport _Switch from './Switch';\nexport { _Switch as Switch };\nimport _matchPath from './matchPath';\nexport { _matchPath as matchPath };\nimport _withRouter from './withRouter';\nexport { _withRouter as withRouter };" + }, + { + "id": 59, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/settings.js", + "name": "./app/javascript/mastodon/actions/settings.js", + "index": 286, + "index2": 279, + "size": 874, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/onboarding.js", + "issuerId": 626, + "issuerName": "./app/javascript/mastodon/actions/onboarding.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 102, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/emojis.js", + "module": "./app/javascript/mastodon/actions/emojis.js", + "moduleName": "./app/javascript/mastodon/actions/emojis.js", + "type": "harmony import", + "userRequest": "./settings", + "loc": "1:0-42" + }, + { + "moduleId": 273, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/columns.js", + "module": "./app/javascript/mastodon/actions/columns.js", + "moduleName": "./app/javascript/mastodon/actions/columns.js", + "type": "harmony import", + "userRequest": "./settings", + "loc": "1:0-42" + }, + { + "moduleId": 303, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "type": "harmony import", + "userRequest": "../../../actions/settings", + "loc": "3:0-58" + }, + { + "moduleId": 445, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/settings.js", + "module": "./app/javascript/mastodon/reducers/settings.js", + "moduleName": "./app/javascript/mastodon/reducers/settings.js", + "type": "harmony import", + "userRequest": "../actions/settings", + "loc": "1:0-67" + }, + { + "moduleId": 626, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/onboarding.js", + "module": "./app/javascript/mastodon/actions/onboarding.js", + "moduleName": "./app/javascript/mastodon/actions/onboarding.js", + "type": "harmony import", + "userRequest": "./settings", + "loc": "2:0-57" + }, + { + "moduleId": 885, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../../../actions/settings", + "loc": "4:0-72" + }, + { + "moduleId": 888, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../../../actions/settings", + "loc": "3:0-72" + }, + { + "moduleId": 890, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../../../actions/settings", + "loc": "3:0-58" + }, + { + "moduleId": 891, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../../../actions/settings", + "loc": "3:0-58" + } + ], + "usedExports": [ + "SETTING_CHANGE", + "SETTING_SAVE", + "changeSetting", + "saveSettings" + ], + "providedExports": [ + "SETTING_CHANGE", + "SETTING_SAVE", + "changeSetting", + "saveSettings" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _debounce from 'lodash/debounce';\nimport axios from 'axios';\n\n\nexport var SETTING_CHANGE = 'SETTING_CHANGE';\nexport var SETTING_SAVE = 'SETTING_SAVE';\n\nexport function changeSetting(key, value) {\n return function (dispatch) {\n dispatch({\n type: SETTING_CHANGE,\n key: key,\n value: value\n });\n\n dispatch(saveSettings());\n };\n};\n\nvar debouncedSave = _debounce(function (dispatch, getState) {\n if (getState().getIn(['settings', 'saved'])) {\n return;\n }\n\n var data = getState().get('settings').filter(function (_, key) {\n return key !== 'saved';\n }).toJS();\n\n axios.put('/api/web/settings', { data: data }).then(function () {\n return dispatch({ type: SETTING_SAVE });\n });\n}, 5000, { trailing: true });\n\nexport function saveSettings() {\n return function (dispatch, getState) {\n return debouncedSave(dispatch, getState);\n };\n};" + }, + { + "id": 60, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji.js", + "name": "./app/javascript/mastodon/features/emoji/emoji.js", + "index": 314, + "index2": 313, + "size": 3664, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "issuerId": 652, + "issuerName": "./app/javascript/packs/public.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "../../emoji/emoji", + "loc": "16:0-54" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../features/emoji/emoji", + "loc": "12:0-46" + }, + { + "moduleId": 443, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "module": "./app/javascript/mastodon/reducers/statuses.js", + "moduleName": "./app/javascript/mastodon/reducers/statuses.js", + "type": "harmony import", + "userRequest": "../features/emoji/emoji", + "loc": "9:0-46" + }, + { + "moduleId": 456, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/custom_emojis.js", + "module": "./app/javascript/mastodon/reducers/custom_emojis.js", + "moduleName": "./app/javascript/mastodon/reducers/custom_emojis.js", + "type": "harmony import", + "userRequest": "../features/emoji/emoji", + "loc": "4:0-60" + }, + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "cjs require", + "userRequest": "../mastodon/features/emoji/emoji", + "loc": "30:16-59" + } + ], + "usedExports": true, + "providedExports": [ + "default", + "buildCustomEmojis" + ], + "optimizationBailout": [], + "depth": 1, + "source": "import { autoPlayGif } from '../../initial_state';\nimport unicodeMapping from './emoji_unicode_mapping_light';\nimport Trie from 'substring-trie';\n\nvar trie = new Trie(Object.keys(unicodeMapping));\n\nvar assetHost = process.env.CDN_HOST || '';\n\nvar emojify = function emojify(str) {\n var customEmojis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var tagCharsWithoutEmojis = '<&';\n var tagCharsWithEmojis = Object.keys(customEmojis).length ? '<&:' : '<&';\n var rtn = '',\n tagChars = tagCharsWithEmojis,\n invisible = 0;\n\n var _loop = function _loop() {\n var match = void 0,\n i = 0,\n tag = void 0;\n while (i < str.length && (tag = tagChars.indexOf(str[i])) === -1 && (invisible || !(match = trie.search(str.slice(i))))) {\n i += str.codePointAt(i) < 65536 ? 1 : 2;\n }\n var rend = void 0,\n replacement = '';\n if (i === str.length) {\n return 'break';\n } else if (str[i] === ':') {\n if (!function () {\n rend = str.indexOf(':', i + 1) + 1;\n if (!rend) return false; // no pair of ':'\n var lt = str.indexOf('<', i + 1);\n if (!(lt === -1 || lt >= rend)) return false; // tag appeared before closing ':'\n var shortname = str.slice(i, rend);\n // now got a replacee as ':shortname:'\n // if you want additional emoji handler, add statements below which set replacement and return true.\n if (shortname in customEmojis) {\n var filename = autoPlayGif ? customEmojis[shortname].url : customEmojis[shortname].static_url;\n replacement = '\"'';\n return true;\n }\n return false;\n }()) rend = ++i;\n } else if (tag >= 0) {\n // <, &\n rend = str.indexOf('>;'[tag], i + 1) + 1;\n if (!rend) {\n return 'break';\n }\n if (tag === 0) {\n if (invisible) {\n if (str[i + 1] === '/') {\n // closing tag\n if (! --invisible) {\n tagChars = tagCharsWithEmojis;\n }\n } else if (str[rend - 2] !== '/') {\n // opening tag\n invisible++;\n }\n } else {\n if (str.startsWith('', i)) {\n // avoid emojifying on invisible text\n invisible = 1;\n tagChars = tagCharsWithoutEmojis;\n }\n }\n }\n i = rend;\n } else {\n // matched to unicode emoji\n var _unicodeMapping$match = unicodeMapping[match],\n filename = _unicodeMapping$match.filename,\n shortCode = _unicodeMapping$match.shortCode;\n\n var title = shortCode ? ':' + shortCode + ':' : '';\n replacement = '\"'';\n rend = i + match.length;\n }\n rtn += str.slice(0, i) + replacement;\n str = str.slice(rend);\n };\n\n for (;;) {\n var _ret = _loop();\n\n if (_ret === 'break') break;\n }\n return rtn + str;\n};\n\nexport default emojify;\n\nexport var buildCustomEmojis = function buildCustomEmojis(customEmojis) {\n var emojis = [];\n\n customEmojis.forEach(function (emoji) {\n var shortcode = emoji.get('shortcode');\n var url = autoPlayGif ? emoji.get('url') : emoji.get('static_url');\n var name = shortcode.replace(':', '');\n\n emojis.push({\n id: name,\n name: name,\n short_names: [name],\n text: '',\n emoticons: [],\n keywords: [name],\n imageUrl: url,\n custom: true\n });\n });\n\n return emojis;\n};" + }, + { + "id": 61, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "name": "./app/javascript/mastodon/features/ui/util/async-components.js", + "index": 427, + "index2": 749, + "size": 3215, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "../features/ui/util/async-components", + "loc": "22:0-75" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "../../ui/util/async-components", + "loc": "11:0-81" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "./util/async-components", + "loc": "26:0-315" + }, + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "../../../features/ui/util/async-components", + "loc": "16:0-102" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "../../ui/util/async-components", + "loc": "21:0-158" + } + ], + "usedExports": [ + "AccountGallery", + "AccountTimeline", + "Blocks", + "CommunityTimeline", + "Compose", + "EmbedModal", + "EmojiPicker", + "FavouritedStatuses", + "Favourites", + "FollowRequests", + "Followers", + "Following", + "GenericNotFound", + "GettingStarted", + "HashtagTimeline", + "HomeTimeline", + "MediaGallery", + "Mutes", + "Notifications", + "OnboardingModal", + "PinnedStatuses", + "PublicTimeline", + "Reblogs", + "ReportModal", + "Status", + "Video" + ], + "providedExports": [ + "EmojiPicker", + "Compose", + "Notifications", + "HomeTimeline", + "PublicTimeline", + "CommunityTimeline", + "HashtagTimeline", + "Status", + "GettingStarted", + "PinnedStatuses", + "AccountTimeline", + "AccountGallery", + "Followers", + "Following", + "Reblogs", + "Favourites", + "FollowRequests", + "GenericNotFound", + "FavouritedStatuses", + "Blocks", + "Mutes", + "OnboardingModal", + "ReportModal", + "MediaGallery", + "Video", + "EmbedModal" + ], + "optimizationBailout": [], + "depth": 4, + "source": "export function EmojiPicker() {\n return import( /* webpackChunkName: \"emoji_picker\" */'../../emoji/emoji_picker');\n}\n\nexport function Compose() {\n return import( /* webpackChunkName: \"features/compose\" */'../../compose');\n}\n\nexport function Notifications() {\n return import( /* webpackChunkName: \"features/notifications\" */'../../notifications');\n}\n\nexport function HomeTimeline() {\n return import( /* webpackChunkName: \"features/home_timeline\" */'../../home_timeline');\n}\n\nexport function PublicTimeline() {\n return import( /* webpackChunkName: \"features/public_timeline\" */'../../public_timeline');\n}\n\nexport function CommunityTimeline() {\n return import( /* webpackChunkName: \"features/community_timeline\" */'../../community_timeline');\n}\n\nexport function HashtagTimeline() {\n return import( /* webpackChunkName: \"features/hashtag_timeline\" */'../../hashtag_timeline');\n}\n\nexport function Status() {\n return import( /* webpackChunkName: \"features/status\" */'../../status');\n}\n\nexport function GettingStarted() {\n return import( /* webpackChunkName: \"features/getting_started\" */'../../getting_started');\n}\n\nexport function PinnedStatuses() {\n return import( /* webpackChunkName: \"features/pinned_statuses\" */'../../pinned_statuses');\n}\n\nexport function AccountTimeline() {\n return import( /* webpackChunkName: \"features/account_timeline\" */'../../account_timeline');\n}\n\nexport function AccountGallery() {\n return import( /* webpackChunkName: \"features/account_gallery\" */'../../account_gallery');\n}\n\nexport function Followers() {\n return import( /* webpackChunkName: \"features/followers\" */'../../followers');\n}\n\nexport function Following() {\n return import( /* webpackChunkName: \"features/following\" */'../../following');\n}\n\nexport function Reblogs() {\n return import( /* webpackChunkName: \"features/reblogs\" */'../../reblogs');\n}\n\nexport function Favourites() {\n return import( /* webpackChunkName: \"features/favourites\" */'../../favourites');\n}\n\nexport function FollowRequests() {\n return import( /* webpackChunkName: \"features/follow_requests\" */'../../follow_requests');\n}\n\nexport function GenericNotFound() {\n return import( /* webpackChunkName: \"features/generic_not_found\" */'../../generic_not_found');\n}\n\nexport function FavouritedStatuses() {\n return import( /* webpackChunkName: \"features/favourited_statuses\" */'../../favourited_statuses');\n}\n\nexport function Blocks() {\n return import( /* webpackChunkName: \"features/blocks\" */'../../blocks');\n}\n\nexport function Mutes() {\n return import( /* webpackChunkName: \"features/mutes\" */'../../mutes');\n}\n\nexport function OnboardingModal() {\n return import( /* webpackChunkName: \"modals/onboarding_modal\" */'../components/onboarding_modal');\n}\n\nexport function ReportModal() {\n return import( /* webpackChunkName: \"modals/report_modal\" */'../components/report_modal');\n}\n\nexport function MediaGallery() {\n return import( /* webpackChunkName: \"status/media_gallery\" */'../../../components/media_gallery');\n}\n\nexport function Video() {\n return import( /* webpackChunkName: \"features/video\" */'../../video');\n}\n\nexport function EmbedModal() {\n return import( /* webpackChunkName: \"modals/embed_modal\" */'../components/embed_modal');\n}" + }, + { + "id": 62, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_an-object.js", + "name": "./node_modules/core-js/library/modules/_an-object.js", + "index": 91, + "index2": 83, + "size": 153, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 39, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-dp.js", + "module": "./node_modules/core-js/library/modules/_object-dp.js", + "moduleName": "./node_modules/core-js/library/modules/_object-dp.js", + "type": "cjs require", + "userRequest": "./_an-object", + "loc": "1:15-38" + }, + { + "moduleId": 121, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "module": "./node_modules/core-js/library/modules/_object-create.js", + "moduleName": "./node_modules/core-js/library/modules/_object-create.js", + "type": "cjs require", + "userRequest": "./_an-object", + "loc": "2:15-38" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_an-object", + "loc": "19:15-38" + }, + { + "moduleId": 330, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-dps.js", + "module": "./node_modules/core-js/library/modules/_object-dps.js", + "moduleName": "./node_modules/core-js/library/modules/_object-dps.js", + "type": "cjs require", + "userRequest": "./_an-object", + "loc": "2:15-38" + }, + { + "moduleId": 349, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_set-proto.js", + "module": "./node_modules/core-js/library/modules/_set-proto.js", + "moduleName": "./node_modules/core-js/library/modules/_set-proto.js", + "type": "cjs require", + "userRequest": "./_an-object", + "loc": "4:15-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};" + }, + { + "id": 63, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_is-object.js", + "name": "./node_modules/core-js/library/modules/_is-object.js", + "index": 92, + "index2": 82, + "size": 109, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-primitive.js", + "issuerId": 110, + "issuerName": "./node_modules/core-js/library/modules/_to-primitive.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 62, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_an-object.js", + "module": "./node_modules/core-js/library/modules/_an-object.js", + "moduleName": "./node_modules/core-js/library/modules/_an-object.js", + "type": "cjs require", + "userRequest": "./_is-object", + "loc": "1:15-38" + }, + { + "moduleId": 110, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-primitive.js", + "module": "./node_modules/core-js/library/modules/_to-primitive.js", + "moduleName": "./node_modules/core-js/library/modules/_to-primitive.js", + "type": "cjs require", + "userRequest": "./_is-object", + "loc": "2:15-38" + }, + { + "moduleId": 179, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_dom-create.js", + "module": "./node_modules/core-js/library/modules/_dom-create.js", + "moduleName": "./node_modules/core-js/library/modules/_dom-create.js", + "type": "cjs require", + "userRequest": "./_is-object", + "loc": "1:15-38" + }, + { + "moduleId": 324, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_meta.js", + "module": "./node_modules/core-js/library/modules/_meta.js", + "moduleName": "./node_modules/core-js/library/modules/_meta.js", + "type": "cjs require", + "userRequest": "./_is-object", + "loc": "2:15-38" + }, + { + "moduleId": 349, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_set-proto.js", + "module": "./node_modules/core-js/library/modules/_set-proto.js", + "moduleName": "./node_modules/core-js/library/modules/_set-proto.js", + "type": "cjs require", + "userRequest": "./_is-object", + "loc": "3:15-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};" + }, + { + "id": 64, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/index.js", + "name": "./node_modules/intl-relativeformat/index.js", + "index": 303, + "index2": 302, + "size": 556, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "issuerId": 652, + "issuerName": "./app/javascript/packs/public.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 6, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "module": "./node_modules/react-intl/lib/index.es.js", + "moduleName": "./node_modules/react-intl/lib/index.es.js", + "type": "harmony import", + "userRequest": "intl-relativeformat", + "loc": "9:0-53" + }, + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "cjs require", + "userRequest": "intl-relativeformat", + "loc": "25:27-57" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "/* jshint node:true */\n\n'use strict';\n\nvar IntlRelativeFormat = require('./lib/main')['default'];\n\n// Add all locale data to `IntlRelativeFormat`. This module will be ignored when\n// bundling for the browser with Browserify/Webpack.\nrequire('./lib/locales');\n\n// Re-export `IntlRelativeFormat` as the CommonJS default exports with all the\n// locale data registered, and with English set as the default locale. Define\n// the `default` prop for use with other compiled ES6 Modules.\nexports = module.exports = IntlRelativeFormat;\nexports['default'] = exports;" + }, + { + "id": 65, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/ownerDocument.js", + "name": "./node_modules/react-overlays/lib/utils/ownerDocument.js", + "index": 398, + "index2": 387, + "size": 538, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/RootCloseWrapper.js", + "issuerId": 498, + "issuerName": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 477, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Portal.js", + "module": "./node_modules/react-overlays/lib/Portal.js", + "moduleName": "./node_modules/react-overlays/lib/Portal.js", + "type": "cjs require", + "userRequest": "./utils/ownerDocument", + "loc": "25:21-53" + }, + { + "moduleId": 487, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/LegacyPortal.js", + "module": "./node_modules/react-overlays/lib/LegacyPortal.js", + "moduleName": "./node_modules/react-overlays/lib/LegacyPortal.js", + "type": "cjs require", + "userRequest": "./utils/ownerDocument", + "loc": "25:21-53" + }, + { + "moduleId": 488, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "module": "./node_modules/react-overlays/lib/Position.js", + "moduleName": "./node_modules/react-overlays/lib/Position.js", + "type": "cjs require", + "userRequest": "./utils/ownerDocument", + "loc": "43:21-53" + }, + { + "moduleId": 489, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/calculatePosition.js", + "module": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "moduleName": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "type": "cjs require", + "userRequest": "./ownerDocument", + "loc": "18:21-47" + }, + { + "moduleId": 498, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/RootCloseWrapper.js", + "module": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "moduleName": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "type": "cjs require", + "userRequest": "./utils/ownerDocument", + "loc": "25:21-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (componentOrElement) {\n return (0, _ownerDocument2.default)(_reactDom2.default.findDOMNode(componentOrElement));\n};\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nmodule.exports = exports['default'];" + }, + { + "id": 66, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/inDOM.js", + "name": "./node_modules/dom-helpers/util/inDOM.js", + "index": 405, + "index2": 390, + "size": 221, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/requestAnimationFrame.js", + "issuerId": 608, + "issuerName": "./node_modules/dom-helpers/util/requestAnimationFrame.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 137, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/events/on.js", + "module": "./node_modules/dom-helpers/events/on.js", + "moduleName": "./node_modules/dom-helpers/events/on.js", + "type": "cjs require", + "userRequest": "../util/inDOM", + "loc": "7:13-37" + }, + { + "moduleId": 138, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/events/off.js", + "module": "./node_modules/dom-helpers/events/off.js", + "moduleName": "./node_modules/dom-helpers/events/off.js", + "type": "cjs require", + "userRequest": "../util/inDOM", + "loc": "7:13-37" + }, + { + "moduleId": 220, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/contains.js", + "module": "./node_modules/dom-helpers/query/contains.js", + "moduleName": "./node_modules/dom-helpers/query/contains.js", + "type": "cjs require", + "userRequest": "../util/inDOM", + "loc": "7:13-37" + }, + { + "moduleId": 223, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/transition/properties.js", + "module": "./node_modules/dom-helpers/transition/properties.js", + "moduleName": "./node_modules/dom-helpers/transition/properties.js", + "type": "cjs require", + "userRequest": "../util/inDOM", + "loc": "8:13-37" + }, + { + "moduleId": 608, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/requestAnimationFrame.js", + "module": "./node_modules/dom-helpers/util/requestAnimationFrame.js", + "moduleName": "./node_modules/dom-helpers/util/requestAnimationFrame.js", + "type": "cjs require", + "userRequest": "./inDOM", + "loc": "7:13-31" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nmodule.exports = exports['default'];" + }, + { + "id": 67, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isArray.js", + "name": "./node_modules/lodash/isArray.js", + "index": 580, + "index2": 563, + "size": 487, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "issuerId": 522, + "issuerName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "lodash/isArray", + "loc": "45:15-40" + }, + { + "moduleId": 540, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayLikeKeys.js", + "module": "./node_modules/lodash/_arrayLikeKeys.js", + "moduleName": "./node_modules/lodash/_arrayLikeKeys.js", + "type": "cjs require", + "userRequest": "./isArray", + "loc": "3:14-34" + }, + { + "moduleId": 552, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "module": "./node_modules/lodash/_baseIsEqualDeep.js", + "moduleName": "./node_modules/lodash/_baseIsEqualDeep.js", + "type": "cjs require", + "userRequest": "./isArray", + "loc": "6:14-34" + }, + { + "moduleId": 587, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetAllKeys.js", + "module": "./node_modules/lodash/_baseGetAllKeys.js", + "moduleName": "./node_modules/lodash/_baseGetAllKeys.js", + "type": "cjs require", + "userRequest": "./isArray", + "loc": "2:14-34" + }, + { + "moduleId": 598, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/forEach.js", + "module": "./node_modules/lodash/forEach.js", + "moduleName": "./node_modules/lodash/forEach.js", + "type": "cjs require", + "userRequest": "./isArray", + "loc": "4:14-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;" + }, + { + "id": 69, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/selectors/index.js", + "name": "./app/javascript/mastodon/selectors/index.js", + "index": 464, + "index2": 453, + "size": 2931, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/notifications_container.js", + "issuerId": 251, + "issuerName": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 251, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/notifications_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "type": "harmony import", + "userRequest": "../../../selectors", + "loc": "4:0-47" + }, + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "../selectors", + "loc": "5:0-45" + }, + { + "moduleId": 288, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js", + "type": "harmony import", + "userRequest": "../../../selectors", + "loc": "3:0-51" + }, + { + "moduleId": 291, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js", + "type": "harmony import", + "userRequest": "../../../selectors", + "loc": "3:0-52" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../selectors", + "loc": "22:0-48" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../selectors", + "loc": "18:0-52" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "../../../selectors", + "loc": "14:0-52" + }, + { + "moduleId": 777, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/account_container.js", + "module": "./app/javascript/mastodon/containers/account_container.js", + "moduleName": "./app/javascript/mastodon/containers/account_container.js", + "type": "harmony import", + "userRequest": "../selectors", + "loc": "5:0-46" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../../../selectors", + "loc": "4:0-52" + }, + { + "moduleId": 883, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/notification_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/notification_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/notification_container.js", + "type": "harmony import", + "userRequest": "../../../selectors", + "loc": "2:0-57" + }, + { + "moduleId": 899, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "module": "./app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/containers/account_authorize_container.js", + "type": "harmony import", + "userRequest": "../../../selectors", + "loc": "2:0-52" + } + ], + "usedExports": [ + "getAccountGallery", + "getAlerts", + "makeGetAccount", + "makeGetNotification", + "makeGetStatus" + ], + "providedExports": [ + "makeGetAccount", + "makeGetStatus", + "getAlerts", + "makeGetNotification", + "getAccountGallery" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { createSelector } from 'reselect';\nimport { List as ImmutableList } from 'immutable';\n\nvar getAccountBase = function getAccountBase(state, id) {\n return state.getIn(['accounts', id], null);\n};\nvar getAccountCounters = function getAccountCounters(state, id) {\n return state.getIn(['accounts_counters', id], null);\n};\nvar getAccountRelationship = function getAccountRelationship(state, id) {\n return state.getIn(['relationships', id], null);\n};\n\nexport var makeGetAccount = function makeGetAccount() {\n return createSelector([getAccountBase, getAccountCounters, getAccountRelationship], function (base, counters, relationship) {\n if (base === null) {\n return null;\n }\n\n return base.merge(counters).set('relationship', relationship);\n });\n};\n\nexport var makeGetStatus = function makeGetStatus() {\n return createSelector([function (state, id) {\n return state.getIn(['statuses', id]);\n }, function (state, id) {\n return state.getIn(['statuses', state.getIn(['statuses', id, 'reblog'])]);\n }, function (state, id) {\n return state.getIn(['accounts', state.getIn(['statuses', id, 'account'])]);\n }, function (state, id) {\n return state.getIn(['accounts', state.getIn(['statuses', state.getIn(['statuses', id, 'reblog']), 'account'])]);\n }], function (statusBase, statusReblog, accountBase, accountReblog) {\n if (!statusBase) {\n return null;\n }\n\n if (statusReblog) {\n statusReblog = statusReblog.set('account', accountReblog);\n } else {\n statusReblog = null;\n }\n\n return statusBase.withMutations(function (map) {\n map.set('reblog', statusReblog);\n map.set('account', accountBase);\n });\n });\n};\n\nvar getAlertsBase = function getAlertsBase(state) {\n return state.get('alerts');\n};\n\nexport var getAlerts = createSelector([getAlertsBase], function (base) {\n var arr = [];\n\n base.forEach(function (item) {\n arr.push({\n message: item.get('message'),\n title: item.get('title'),\n key: item.get('key'),\n dismissAfter: 5000,\n barStyle: {\n zIndex: 200\n }\n });\n });\n\n return arr;\n});\n\nexport var makeGetNotification = function makeGetNotification() {\n return createSelector([function (_, base) {\n return base;\n }, function (state, _, accountId) {\n return state.getIn(['accounts', accountId]);\n }], function (base, account) {\n return base.set('account', account);\n });\n};\n\nexport var getAccountGallery = createSelector([function (state, id) {\n return state.getIn(['timelines', 'account:' + id + ':media', 'items'], ImmutableList());\n}, function (state) {\n return state.get('statuses');\n}], function (statusIds, statuses) {\n var medias = ImmutableList();\n\n statusIds.forEach(function (statusId) {\n var status = statuses.get(statusId);\n medias = medias.concat(status.get('media_attachments').map(function (media) {\n return media.set('status', status);\n }));\n });\n\n return medias;\n});" + }, + { + "id": 70, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys.js", + "name": "./node_modules/core-js/library/modules/_object-keys.js", + "index": 107, + "index2": 111, + "size": 221, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_object-keys", + "loc": "27:12-37" + }, + { + "moduleId": 325, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_enum-keys.js", + "module": "./node_modules/core-js/library/modules/_enum-keys.js", + "moduleName": "./node_modules/core-js/library/modules/_enum-keys.js", + "type": "cjs require", + "userRequest": "./_object-keys", + "loc": "2:14-39" + }, + { + "moduleId": 330, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-dps.js", + "module": "./node_modules/core-js/library/modules/_object-dps.js", + "moduleName": "./node_modules/core-js/library/modules/_object-dps.js", + "type": "cjs require", + "userRequest": "./_object-keys", + "loc": "3:14-39" + }, + { + "moduleId": 463, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-assign.js", + "module": "./node_modules/core-js/library/modules/_object-assign.js", + "moduleName": "./node_modules/core-js/library/modules/_object-assign.js", + "type": "cjs require", + "userRequest": "./_object-keys", + "loc": "4:14-39" + }, + { + "moduleId": 870, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.keys.js", + "module": "./node_modules/core-js/library/modules/es6.object.keys.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.keys.js", + "type": "cjs require", + "userRequest": "./_object-keys", + "loc": "3:12-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};" + }, + { + "id": 71, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/webpack/buildin/module.js", + "name": "(webpack)/buildin/module.js", + "index": 190, + "index2": 181, + "size": 500, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "issuerId": 317, + "issuerName": "./node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 242, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isBuffer.js", + "module": "./node_modules/lodash/isBuffer.js", + "moduleName": "./node_modules/lodash/isBuffer.js", + "type": "cjs require", + "userRequest": "module", + "loc": "1:0-41" + }, + { + "moduleId": 317, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "module": "./node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "moduleName": "./node_modules/node-libs-browser/node_modules/punycode/punycode.js", + "type": "cjs require", + "userRequest": "module", + "loc": "1:0-47" + }, + { + "moduleId": 370, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/symbol-observable/lib/index.js", + "module": "./node_modules/symbol-observable/lib/index.js", + "moduleName": "./node_modules/symbol-observable/lib/index.js", + "type": "cjs require", + "userRequest": "module", + "loc": "1:0-44" + }, + { + "moduleId": 547, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_nodeUtil.js", + "module": "./node_modules/lodash/_nodeUtil.js", + "moduleName": "./node_modules/lodash/_nodeUtil.js", + "type": "cjs require", + "userRequest": "module", + "loc": "1:0-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "module.exports = function (module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function () {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};" + }, + { + "id": 72, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/index.js", + "name": "./node_modules/axios/index.js", + "index": 216, + "index2": 235, + "size": 40, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/web_push_subscription.js", + "issuerId": 625, + "issuerName": "./app/javascript/mastodon/web_push_subscription.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 17, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/api.js", + "module": "./app/javascript/mastodon/api.js", + "moduleName": "./app/javascript/mastodon/api.js", + "type": "harmony import", + "userRequest": "axios", + "loc": "1:0-26" + }, + { + "moduleId": 59, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/settings.js", + "module": "./app/javascript/mastodon/actions/settings.js", + "moduleName": "./app/javascript/mastodon/actions/settings.js", + "type": "harmony import", + "userRequest": "axios", + "loc": "2:0-26" + }, + { + "moduleId": 164, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/push_notifications.js", + "module": "./app/javascript/mastodon/actions/push_notifications.js", + "moduleName": "./app/javascript/mastodon/actions/push_notifications.js", + "type": "harmony import", + "userRequest": "axios", + "loc": "1:0-26" + }, + { + "moduleId": 625, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/web_push_subscription.js", + "module": "./app/javascript/mastodon/web_push_subscription.js", + "moduleName": "./app/javascript/mastodon/web_push_subscription.js", + "type": "harmony import", + "userRequest": "axios", + "loc": "1:0-26" + }, + { + "moduleId": 774, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/embed_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/embed_modal.js", + "type": "harmony import", + "userRequest": "axios", + "loc": "12:0-26" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "module.exports = require('./lib/axios');" + }, + { + "id": 73, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/search.js", + "name": "./app/javascript/mastodon/actions/search.js", + "index": 289, + "index2": 284, + "size": 1447, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/search.js", + "issuerId": 452, + "issuerName": "./app/javascript/mastodon/reducers/search.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/search", + "loc": "8:0-57" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/search", + "loc": "8:0-57" + }, + { + "moduleId": 443, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "module": "./app/javascript/mastodon/reducers/statuses.js", + "moduleName": "./app/javascript/mastodon/reducers/statuses.js", + "type": "harmony import", + "userRequest": "../actions/search", + "loc": "8:0-57" + }, + { + "moduleId": 452, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/search.js", + "module": "./app/javascript/mastodon/reducers/search.js", + "moduleName": "./app/javascript/mastodon/reducers/search.js", + "type": "harmony import", + "userRequest": "../actions/search", + "loc": "1:0-99" + }, + { + "moduleId": 880, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/search_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/search_container.js", + "type": "harmony import", + "userRequest": "../../../actions/search", + "loc": "2:0-94" + } + ], + "usedExports": [ + "SEARCH_CHANGE", + "SEARCH_CLEAR", + "SEARCH_FETCH_SUCCESS", + "SEARCH_SHOW", + "changeSearch", + "clearSearch", + "showSearch", + "submitSearch" + ], + "providedExports": [ + "SEARCH_CHANGE", + "SEARCH_CLEAR", + "SEARCH_SHOW", + "SEARCH_FETCH_REQUEST", + "SEARCH_FETCH_SUCCESS", + "SEARCH_FETCH_FAIL", + "changeSearch", + "clearSearch", + "submitSearch", + "fetchSearchRequest", + "fetchSearchSuccess", + "fetchSearchFail", + "showSearch" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import api from '../api';\n\nexport var SEARCH_CHANGE = 'SEARCH_CHANGE';\nexport var SEARCH_CLEAR = 'SEARCH_CLEAR';\nexport var SEARCH_SHOW = 'SEARCH_SHOW';\n\nexport var SEARCH_FETCH_REQUEST = 'SEARCH_FETCH_REQUEST';\nexport var SEARCH_FETCH_SUCCESS = 'SEARCH_FETCH_SUCCESS';\nexport var SEARCH_FETCH_FAIL = 'SEARCH_FETCH_FAIL';\n\nexport function changeSearch(value) {\n return {\n type: SEARCH_CHANGE,\n value: value\n };\n};\n\nexport function clearSearch() {\n return {\n type: SEARCH_CLEAR\n };\n};\n\nexport function submitSearch() {\n return function (dispatch, getState) {\n var value = getState().getIn(['search', 'value']);\n\n if (value.length === 0) {\n return;\n }\n\n dispatch(fetchSearchRequest());\n\n api(getState).get('/api/v1/search', {\n params: {\n q: value,\n resolve: true\n }\n }).then(function (response) {\n dispatch(fetchSearchSuccess(response.data));\n }).catch(function (error) {\n dispatch(fetchSearchFail(error));\n });\n };\n};\n\nexport function fetchSearchRequest() {\n return {\n type: SEARCH_FETCH_REQUEST\n };\n};\n\nexport function fetchSearchSuccess(results) {\n return {\n type: SEARCH_FETCH_SUCCESS,\n results: results,\n accounts: results.accounts,\n statuses: results.statuses\n };\n};\n\nexport function fetchSearchFail(error) {\n return {\n type: SEARCH_FETCH_FAIL,\n error: error\n };\n};\n\nexport function showSearch() {\n return {\n type: SEARCH_SHOW\n };\n};" + }, + { + "id": 74, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/favourites.js", + "name": "./app/javascript/mastodon/actions/favourites.js", + "index": 313, + "index2": 308, + "size": 2494, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/status_lists.js", + "issuerId": 447, + "issuerName": "./app/javascript/mastodon/reducers/status_lists.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/favourites", + "loc": "10:0-110" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/favourites", + "loc": "10:0-110" + }, + { + "moduleId": 443, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "module": "./app/javascript/mastodon/reducers/statuses.js", + "moduleName": "./app/javascript/mastodon/reducers/statuses.js", + "type": "harmony import", + "userRequest": "../actions/favourites", + "loc": "6:0-110" + }, + { + "moduleId": 447, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/status_lists.js", + "module": "./app/javascript/mastodon/reducers/status_lists.js", + "moduleName": "./app/javascript/mastodon/reducers/status_lists.js", + "type": "harmony import", + "userRequest": "../actions/favourites", + "loc": "1:0-110" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../actions/favourites", + "loc": "12:0-93" + } + ], + "usedExports": [ + "FAVOURITED_STATUSES_EXPAND_SUCCESS", + "FAVOURITED_STATUSES_FETCH_SUCCESS", + "expandFavouritedStatuses", + "fetchFavouritedStatuses" + ], + "providedExports": [ + "FAVOURITED_STATUSES_FETCH_REQUEST", + "FAVOURITED_STATUSES_FETCH_SUCCESS", + "FAVOURITED_STATUSES_FETCH_FAIL", + "FAVOURITED_STATUSES_EXPAND_REQUEST", + "FAVOURITED_STATUSES_EXPAND_SUCCESS", + "FAVOURITED_STATUSES_EXPAND_FAIL", + "fetchFavouritedStatuses", + "fetchFavouritedStatusesRequest", + "fetchFavouritedStatusesSuccess", + "fetchFavouritedStatusesFail", + "expandFavouritedStatuses", + "expandFavouritedStatusesRequest", + "expandFavouritedStatusesSuccess", + "expandFavouritedStatusesFail" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import api, { getLinks } from '../api';\n\nexport var FAVOURITED_STATUSES_FETCH_REQUEST = 'FAVOURITED_STATUSES_FETCH_REQUEST';\nexport var FAVOURITED_STATUSES_FETCH_SUCCESS = 'FAVOURITED_STATUSES_FETCH_SUCCESS';\nexport var FAVOURITED_STATUSES_FETCH_FAIL = 'FAVOURITED_STATUSES_FETCH_FAIL';\n\nexport var FAVOURITED_STATUSES_EXPAND_REQUEST = 'FAVOURITED_STATUSES_EXPAND_REQUEST';\nexport var FAVOURITED_STATUSES_EXPAND_SUCCESS = 'FAVOURITED_STATUSES_EXPAND_SUCCESS';\nexport var FAVOURITED_STATUSES_EXPAND_FAIL = 'FAVOURITED_STATUSES_EXPAND_FAIL';\n\nexport function fetchFavouritedStatuses() {\n return function (dispatch, getState) {\n dispatch(fetchFavouritedStatusesRequest());\n\n api(getState).get('/api/v1/favourites').then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(fetchFavouritedStatusesSuccess(response.data, next ? next.uri : null));\n }).catch(function (error) {\n dispatch(fetchFavouritedStatusesFail(error));\n });\n };\n};\n\nexport function fetchFavouritedStatusesRequest() {\n return {\n type: FAVOURITED_STATUSES_FETCH_REQUEST\n };\n};\n\nexport function fetchFavouritedStatusesSuccess(statuses, next) {\n return {\n type: FAVOURITED_STATUSES_FETCH_SUCCESS,\n statuses: statuses,\n next: next\n };\n};\n\nexport function fetchFavouritedStatusesFail(error) {\n return {\n type: FAVOURITED_STATUSES_FETCH_FAIL,\n error: error\n };\n};\n\nexport function expandFavouritedStatuses() {\n return function (dispatch, getState) {\n var url = getState().getIn(['status_lists', 'favourites', 'next'], null);\n\n if (url === null) {\n return;\n }\n\n dispatch(expandFavouritedStatusesRequest());\n\n api(getState).get(url).then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(expandFavouritedStatusesSuccess(response.data, next ? next.uri : null));\n }).catch(function (error) {\n dispatch(expandFavouritedStatusesFail(error));\n });\n };\n};\n\nexport function expandFavouritedStatusesRequest() {\n return {\n type: FAVOURITED_STATUSES_EXPAND_REQUEST\n };\n};\n\nexport function expandFavouritedStatusesSuccess(statuses, next) {\n return {\n type: FAVOURITED_STATUSES_EXPAND_SUCCESS,\n statuses: statuses,\n next: next\n };\n};\n\nexport function expandFavouritedStatusesFail(error) {\n return {\n type: FAVOURITED_STATUSES_EXPAND_FAIL,\n error: error\n };\n};" + }, + { + "id": 75, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/load_polyfills.js", + "name": "./app/javascript/mastodon/load_polyfills.js", + "index": 1, + "index2": 63, + "size": 1183, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "issuerId": 652, + "issuerName": "./app/javascript/packs/public.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 319, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/about.js", + "module": "./app/javascript/packs/about.js", + "moduleName": "./app/javascript/packs/about.js", + "type": "harmony import", + "userRequest": "../mastodon/load_polyfills", + "loc": "1:0-55" + }, + { + "moduleId": 623, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/application.js", + "module": "./app/javascript/packs/application.js", + "moduleName": "./app/javascript/packs/application.js", + "type": "harmony import", + "userRequest": "../mastodon/load_polyfills", + "loc": "1:0-55" + }, + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "harmony import", + "userRequest": "../mastodon/load_polyfills", + "loc": "2:0-55" + }, + { + "moduleId": 656, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "module": "./app/javascript/packs/share.js", + "moduleName": "./app/javascript/packs/share.js", + "type": "harmony import", + "userRequest": "../mastodon/load_polyfills", + "loc": "1:0-55" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 1, + "source": "// Convenience function to load polyfills and return a promise when it's done.\n// If there are no polyfills, then this is just Promise.resolve() which means\n// it will execute in the same tick of the event loop (i.e. near-instant).\n\nfunction importBasePolyfills() {\n return import( /* webpackChunkName: \"base_polyfills\" */'./base_polyfills');\n}\n\nfunction importExtraPolyfills() {\n return import( /* webpackChunkName: \"extra_polyfills\" */'./extra_polyfills');\n}\n\nfunction loadPolyfills() {\n var needsBasePolyfills = !(window.Intl && Object.assign && Number.isNaN && window.Symbol && Array.prototype.includes);\n\n // Latest version of Firefox and Safari do not have IntersectionObserver.\n // Edge does not have requestIdleCallback and object-fit CSS property.\n // This avoids shipping them all the polyfills.\n var needsExtraPolyfills = !(window.IntersectionObserver && window.IntersectionObserverEntry && 'isIntersecting' in IntersectionObserverEntry.prototype && window.requestIdleCallback && 'object-fit' in new Image().style);\n\n return Promise.all([needsBasePolyfills && importBasePolyfills(), needsExtraPolyfills && importExtraPolyfills()]);\n}\n\nexport default loadPolyfills;" + }, + { + "id": 76, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_property-desc.js", + "name": "./node_modules/core-js/library/modules/_property-desc.js", + "index": 96, + "index2": 88, + "size": 172, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 48, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_hide.js", + "module": "./node_modules/core-js/library/modules/_hide.js", + "moduleName": "./node_modules/core-js/library/modules/_hide.js", + "type": "cjs require", + "userRequest": "./_property-desc", + "loc": "2:17-44" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_property-desc", + "loc": "22:17-44" + }, + { + "moduleId": 185, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopd.js", + "module": "./node_modules/core-js/library/modules/_object-gopd.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopd.js", + "type": "cjs require", + "userRequest": "./_property-desc", + "loc": "2:17-44" + }, + { + "moduleId": 341, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-create.js", + "module": "./node_modules/core-js/library/modules/_iter-create.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-create.js", + "type": "cjs require", + "userRequest": "./_property-desc", + "loc": "4:17-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};" + }, + { + "id": 77, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_uid.js", + "name": "./node_modules/core-js/library/modules/_uid.js", + "index": 99, + "index2": 92, + "size": 161, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 49, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks.js", + "module": "./node_modules/core-js/library/modules/_wks.js", + "moduleName": "./node_modules/core-js/library/modules/_wks.js", + "type": "cjs require", + "userRequest": "./_uid", + "loc": "2:10-27" + }, + { + "moduleId": 118, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_shared-key.js", + "module": "./node_modules/core-js/library/modules/_shared-key.js", + "moduleName": "./node_modules/core-js/library/modules/_shared-key.js", + "type": "cjs require", + "userRequest": "./_uid", + "loc": "2:10-27" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_uid", + "loc": "13:10-27" + }, + { + "moduleId": 324, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_meta.js", + "module": "./node_modules/core-js/library/modules/_meta.js", + "moduleName": "./node_modules/core-js/library/modules/_meta.js", + "type": "cjs require", + "userRequest": "./_uid", + "loc": "1:11-28" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};" + }, + { + "id": 78, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-pie.js", + "name": "./node_modules/core-js/library/modules/_object-pie.js", + "index": 120, + "index2": 113, + "size": 36, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_object-pie", + "loc": "153:2-26" + }, + { + "moduleId": 185, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopd.js", + "module": "./node_modules/core-js/library/modules/_object-gopd.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopd.js", + "type": "cjs require", + "userRequest": "./_object-pie", + "loc": "1:10-34" + }, + { + "moduleId": 325, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_enum-keys.js", + "module": "./node_modules/core-js/library/modules/_enum-keys.js", + "moduleName": "./node_modules/core-js/library/modules/_enum-keys.js", + "type": "cjs require", + "userRequest": "./_object-pie", + "loc": "4:10-34" + }, + { + "moduleId": 463, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-assign.js", + "module": "./node_modules/core-js/library/modules/_object-assign.js", + "moduleName": "./node_modules/core-js/library/modules/_object-assign.js", + "type": "cjs require", + "userRequest": "./_object-pie", + "loc": "6:10-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "exports.f = {}.propertyIsEnumerable;" + }, + { + "id": 79, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/invariant.js", + "name": "./node_modules/fbjs/lib/invariant.js", + "index": 160, + "index2": 156, + "size": 1506, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/cjs/react.production.min.js", + "issuerId": 353, + "issuerName": "./node_modules/react/cjs/react.production.min.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 353, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/cjs/react.production.min.js", + "module": "./node_modules/react/cjs/react.production.min.js", + "moduleName": "./node_modules/react/cjs/react.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/invariant", + "loc": "12:40-69" + }, + { + "moduleId": 355, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types/factoryWithThrowingShims.js", + "module": "./node_modules/prop-types/factoryWithThrowingShims.js", + "moduleName": "./node_modules/prop-types/factoryWithThrowingShims.js", + "type": "cjs require", + "userRequest": "fbjs/lib/invariant", + "loc": "11:16-45" + }, + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/invariant", + "loc": "12:26-55" + }, + { + "moduleId": 524, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/create-react-class/factory.js", + "module": "./node_modules/create-react-class/factory.js", + "moduleName": "./node_modules/create-react-class/factory.js", + "type": "cjs require", + "userRequest": "fbjs/lib/invariant", + "loc": "14:17-46" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;" + }, + { + "id": 80, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/emptyFunction.js", + "name": "./node_modules/fbjs/lib/emptyFunction.js", + "index": 161, + "index2": 157, + "size": 959, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/cjs/react.production.min.js", + "issuerId": 353, + "issuerName": "./node_modules/react/cjs/react.production.min.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 353, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/cjs/react.production.min.js", + "module": "./node_modules/react/cjs/react.production.min.js", + "moduleName": "./node_modules/react/cjs/react.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/emptyFunction", + "loc": "12:78-111" + }, + { + "moduleId": 355, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types/factoryWithThrowingShims.js", + "module": "./node_modules/prop-types/factoryWithThrowingShims.js", + "moduleName": "./node_modules/prop-types/factoryWithThrowingShims.js", + "type": "cjs require", + "userRequest": "fbjs/lib/emptyFunction", + "loc": "10:20-53" + }, + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/emptyFunction", + "loc": "15:9-42" + }, + { + "moduleId": 480, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/EventListener.js", + "module": "./node_modules/fbjs/lib/EventListener.js", + "moduleName": "./node_modules/fbjs/lib/EventListener.js", + "type": "cjs require", + "userRequest": "./emptyFunction", + "loc": "12:20-46" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;" + }, + { + "id": 81, + "identifier": "ignored /home/lambda/repos/mastodon/node_modules/react-intl/lib ../locale-data/index.js", + "name": "../locale-data/index.js (ignored)", + "index": 302, + "index2": 295, + "size": 15, + "cacheable": true, + "built": false, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "issuerId": 6, + "issuerName": "./node_modules/react-intl/lib/index.es.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 6, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "module": "./node_modules/react-intl/lib/index.es.js", + "moduleName": "./node_modules/react-intl/lib/index.es.js", + "type": "harmony import", + "userRequest": "../locale-data/index.js", + "loc": "7:0-52" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 3 + }, + { + "id": 82, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-format-cache/index.js", + "name": "./node_modules/intl-format-cache/index.js", + "index": 310, + "index2": 305, + "size": 109, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "issuerId": 6, + "issuerName": "./node_modules/react-intl/lib/index.es.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 6, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-intl/lib/index.es.js", + "module": "./node_modules/react-intl/lib/index.es.js", + "moduleName": "./node_modules/react-intl/lib/index.es.js", + "type": "harmony import", + "userRequest": "intl-format-cache", + "loc": "13:0-55" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "'use strict';\n\nexports = module.exports = require('./lib/memoizer')['default'];\nexports['default'] = exports;" + }, + { + "id": 83, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/LocationUtils.js", + "name": "./node_modules/history/es/LocationUtils.js", + "index": 498, + "index2": 489, + "size": 2254, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "issuerId": 227, + "issuerName": "./node_modules/history/es/createHashHistory.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 225, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createBrowserHistory.js", + "module": "./node_modules/history/es/createBrowserHistory.js", + "moduleName": "./node_modules/history/es/createBrowserHistory.js", + "type": "harmony import", + "userRequest": "./LocationUtils", + "loc": "19:0-49" + }, + { + "moduleId": 227, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "module": "./node_modules/history/es/createHashHistory.js", + "moduleName": "./node_modules/history/es/createHashHistory.js", + "type": "harmony import", + "userRequest": "./LocationUtils", + "loc": "13:0-68" + }, + { + "moduleId": 229, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createMemoryHistory.js", + "module": "./node_modules/history/es/createMemoryHistory.js", + "moduleName": "./node_modules/history/es/createMemoryHistory.js", + "type": "harmony import", + "userRequest": "./LocationUtils", + "loc": "19:0-49" + }, + { + "moduleId": 514, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/index.js", + "module": "./node_modules/history/es/index.js", + "moduleName": "./node_modules/history/es/index.js", + "type": "harmony import", + "userRequest": "./LocationUtils", + "loc": "8:0-68" + } + ], + "usedExports": [ + "createLocation", + "locationsAreEqual" + ], + "providedExports": [ + "createLocation", + "locationsAreEqual" + ], + "optimizationBailout": [], + "depth": 6, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport { parsePath } from './PathUtils';\n\nexport var createLocation = function createLocation(path, state, key, currentLocation) {\n var location = void 0;\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n};\n\nexport var locationsAreEqual = function locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n};" + }, + { + "id": 84, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/eq.js", + "name": "./node_modules/lodash/eq.js", + "index": 559, + "index2": 543, + "size": 796, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_assignValue.js", + "issuerId": 234, + "issuerName": "./node_modules/lodash/_assignValue.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 87, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_assocIndexOf.js", + "module": "./node_modules/lodash/_assocIndexOf.js", + "moduleName": "./node_modules/lodash/_assocIndexOf.js", + "type": "cjs require", + "userRequest": "./eq", + "loc": "1:9-24" + }, + { + "moduleId": 234, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_assignValue.js", + "module": "./node_modules/lodash/_assignValue.js", + "moduleName": "./node_modules/lodash/_assignValue.js", + "type": "cjs require", + "userRequest": "./eq", + "loc": "2:9-24" + }, + { + "moduleId": 539, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isIterateeCall.js", + "module": "./node_modules/lodash/_isIterateeCall.js", + "moduleName": "./node_modules/lodash/_isIterateeCall.js", + "type": "cjs require", + "userRequest": "./eq", + "loc": "1:9-24" + }, + { + "moduleId": 581, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalByTag.js", + "module": "./node_modules/lodash/_equalByTag.js", + "moduleName": "./node_modules/lodash/_equalByTag.js", + "type": "cjs require", + "userRequest": "./eq", + "loc": "3:9-24" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || value !== value && other !== other;\n}\n\nmodule.exports = eq;" + }, + { + "id": 85, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isArrayLike.js", + "name": "./node_modules/lodash/isArrayLike.js", + "index": 571, + "index2": 555, + "size": 829, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "issuerId": 525, + "issuerName": "./node_modules/lodash/assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 144, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/keys.js", + "module": "./node_modules/lodash/keys.js", + "moduleName": "./node_modules/lodash/keys.js", + "type": "cjs require", + "userRequest": "./isArrayLike", + "loc": "3:18-42" + }, + { + "moduleId": 525, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "module": "./node_modules/lodash/assign.js", + "moduleName": "./node_modules/lodash/assign.js", + "type": "cjs require", + "userRequest": "./isArrayLike", + "loc": "4:18-42" + }, + { + "moduleId": 539, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isIterateeCall.js", + "module": "./node_modules/lodash/_isIterateeCall.js", + "moduleName": "./node_modules/lodash/_isIterateeCall.js", + "type": "cjs require", + "userRequest": "./isArrayLike", + "loc": "2:18-42" + }, + { + "moduleId": 604, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_createBaseEach.js", + "module": "./node_modules/lodash/_createBaseEach.js", + "moduleName": "./node_modules/lodash/_createBaseEach.js", + "type": "cjs require", + "userRequest": "./isArrayLike", + "loc": "1:18-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;" + }, + { + "id": 86, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "name": "./node_modules/lodash/_ListCache.js", + "index": 594, + "index2": 582, + "size": 886, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "issuerId": 553, + "issuerName": "./node_modules/lodash/_Stack.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 553, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "module": "./node_modules/lodash/_Stack.js", + "moduleName": "./node_modules/lodash/_Stack.js", + "type": "cjs require", + "userRequest": "./_ListCache", + "loc": "1:16-39" + }, + { + "moduleId": 559, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_stackClear.js", + "module": "./node_modules/lodash/_stackClear.js", + "moduleName": "./node_modules/lodash/_stackClear.js", + "type": "cjs require", + "userRequest": "./_ListCache", + "loc": "1:16-39" + }, + { + "moduleId": 563, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_stackSet.js", + "module": "./node_modules/lodash/_stackSet.js", + "moduleName": "./node_modules/lodash/_stackSet.js", + "type": "cjs require", + "userRequest": "./_ListCache", + "loc": "1:16-39" + }, + { + "moduleId": 564, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheClear.js", + "module": "./node_modules/lodash/_mapCacheClear.js", + "moduleName": "./node_modules/lodash/_mapCacheClear.js", + "type": "cjs require", + "userRequest": "./_ListCache", + "loc": "2:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;" + }, + { + "id": 87, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_assocIndexOf.js", + "name": "./node_modules/lodash/_assocIndexOf.js", + "index": 597, + "index2": 577, + "size": 486, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_listCacheDelete.js", + "issuerId": 555, + "issuerName": "./node_modules/lodash/_listCacheDelete.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 555, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_listCacheDelete.js", + "module": "./node_modules/lodash/_listCacheDelete.js", + "moduleName": "./node_modules/lodash/_listCacheDelete.js", + "type": "cjs require", + "userRequest": "./_assocIndexOf", + "loc": "1:19-45" + }, + { + "moduleId": 556, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_listCacheGet.js", + "module": "./node_modules/lodash/_listCacheGet.js", + "moduleName": "./node_modules/lodash/_listCacheGet.js", + "type": "cjs require", + "userRequest": "./_assocIndexOf", + "loc": "1:19-45" + }, + { + "moduleId": 557, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_listCacheHas.js", + "module": "./node_modules/lodash/_listCacheHas.js", + "moduleName": "./node_modules/lodash/_listCacheHas.js", + "type": "cjs require", + "userRequest": "./_assocIndexOf", + "loc": "1:19-45" + }, + { + "moduleId": 558, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_listCacheSet.js", + "module": "./node_modules/lodash/_listCacheSet.js", + "moduleName": "./node_modules/lodash/_listCacheSet.js", + "type": "cjs require", + "userRequest": "./_assocIndexOf", + "loc": "1:19-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;" + }, + { + "id": 88, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_nativeCreate.js", + "name": "./node_modules/lodash/_nativeCreate.js", + "index": 611, + "index2": 588, + "size": 186, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_hashClear.js", + "issuerId": 566, + "issuerName": "./node_modules/lodash/_hashClear.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 566, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_hashClear.js", + "module": "./node_modules/lodash/_hashClear.js", + "moduleName": "./node_modules/lodash/_hashClear.js", + "type": "cjs require", + "userRequest": "./_nativeCreate", + "loc": "1:19-45" + }, + { + "moduleId": 568, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_hashGet.js", + "module": "./node_modules/lodash/_hashGet.js", + "moduleName": "./node_modules/lodash/_hashGet.js", + "type": "cjs require", + "userRequest": "./_nativeCreate", + "loc": "1:19-45" + }, + { + "moduleId": 569, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_hashHas.js", + "module": "./node_modules/lodash/_hashHas.js", + "moduleName": "./node_modules/lodash/_hashHas.js", + "type": "cjs require", + "userRequest": "./_nativeCreate", + "loc": "1:19-45" + }, + { + "moduleId": 570, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_hashSet.js", + "module": "./node_modules/lodash/_hashSet.js", + "moduleName": "./node_modules/lodash/_hashSet.js", + "type": "cjs require", + "userRequest": "./_nativeCreate", + "loc": "1:19-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 15, + "source": "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;" + }, + { + "id": 89, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getMapData.js", + "name": "./node_modules/lodash/_getMapData.js", + "index": 617, + "index2": 597, + "size": 391, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheDelete.js", + "issuerId": 571, + "issuerName": "./node_modules/lodash/_mapCacheDelete.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 571, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheDelete.js", + "module": "./node_modules/lodash/_mapCacheDelete.js", + "moduleName": "./node_modules/lodash/_mapCacheDelete.js", + "type": "cjs require", + "userRequest": "./_getMapData", + "loc": "1:17-41" + }, + { + "moduleId": 573, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheGet.js", + "module": "./node_modules/lodash/_mapCacheGet.js", + "moduleName": "./node_modules/lodash/_mapCacheGet.js", + "type": "cjs require", + "userRequest": "./_getMapData", + "loc": "1:17-41" + }, + { + "moduleId": 574, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheHas.js", + "module": "./node_modules/lodash/_mapCacheHas.js", + "moduleName": "./node_modules/lodash/_mapCacheHas.js", + "type": "cjs require", + "userRequest": "./_getMapData", + "loc": "1:17-41" + }, + { + "moduleId": 575, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheSet.js", + "module": "./node_modules/lodash/_mapCacheSet.js", + "moduleName": "./node_modules/lodash/_mapCacheSet.js", + "type": "cjs require", + "userRequest": "./_getMapData", + "loc": "1:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 13, + "source": "var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;\n}\n\nmodule.exports = getMapData;" + }, + { + "id": 90, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/ready.js", + "name": "./app/javascript/mastodon/ready.js", + "index": 759, + "index2": 758, + "size": 196, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "issuerId": 656, + "issuerName": "./app/javascript/packs/share.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 319, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/about.js", + "module": "./app/javascript/packs/about.js", + "moduleName": "./app/javascript/packs/about.js", + "type": "cjs require", + "userRequest": "../mastodon/ready", + "loc": "18:14-42" + }, + { + "moduleId": 624, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/main.js", + "module": "./app/javascript/mastodon/main.js", + "moduleName": "./app/javascript/mastodon/main.js", + "type": "harmony import", + "userRequest": "./ready", + "loc": "5:0-28" + }, + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "harmony import", + "userRequest": "../mastodon/ready", + "loc": "3:0-38" + }, + { + "moduleId": 656, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "module": "./app/javascript/packs/share.js", + "moduleName": "./app/javascript/packs/share.js", + "type": "cjs require", + "userRequest": "../mastodon/ready", + "loc": "18:14-42" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 1, + "source": "export default function ready(loaded) {\n if (['interactive', 'complete'].includes(document.readyState)) {\n loaded();\n } else {\n document.addEventListener('DOMContentLoaded', loaded);\n }\n}" + }, + { + "id": 91, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/scroll.js", + "name": "./app/javascript/mastodon/scroll.js", + "index": 538, + "index2": 528, + "size": 857, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column.js", + "issuerId": 99, + "issuerName": "./app/javascript/mastodon/components/column.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 99, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column.js", + "module": "./app/javascript/mastodon/components/column.js", + "moduleName": "./app/javascript/mastodon/components/column.js", + "type": "harmony import", + "userRequest": "../scroll", + "loc": "7:0-52" + }, + { + "moduleId": 259, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column.js", + "module": "./app/javascript/mastodon/features/ui/components/column.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column.js", + "type": "harmony import", + "userRequest": "../../../scroll", + "loc": "9:0-58" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "../../../scroll", + "loc": "24:0-46" + } + ], + "usedExports": [ + "scrollRight", + "scrollTop" + ], + "providedExports": [ + "scrollRight", + "scrollTop" + ], + "optimizationBailout": [], + "depth": 4, + "source": "var easingOutQuint = function easingOutQuint(x, t, b, c, d) {\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n};\n\nvar scroll = function scroll(node, key, target) {\n var startTime = Date.now();\n var offset = node[key];\n var gap = target - offset;\n var duration = 1000;\n var interrupt = false;\n\n var step = function step() {\n var elapsed = Date.now() - startTime;\n var percentage = elapsed / duration;\n\n if (percentage > 1 || interrupt) {\n return;\n }\n\n node[key] = easingOutQuint(0, elapsed, offset, gap, duration);\n requestAnimationFrame(step);\n };\n\n step();\n\n return function () {\n interrupt = true;\n };\n};\n\nexport var scrollRight = function scrollRight(node, position) {\n return scroll(node, 'scrollLeft', position);\n};\nexport var scrollTop = function scrollTop(node) {\n return scroll(node, 'scrollTop', 0);\n};" + }, + { + "id": 94, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/throttle.js", + "name": "./node_modules/lodash/throttle.js", + "index": 267, + "index2": 273, + "size": 2708, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "issuerId": 108, + "issuerName": "./app/javascript/mastodon/features/video/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 15, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/compose.js", + "module": "./app/javascript/mastodon/actions/compose.js", + "moduleName": "./app/javascript/mastodon/actions/compose.js", + "type": "harmony import", + "userRequest": "lodash/throttle", + "loc": "2:0-40" + }, + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "lodash/throttle", + "loc": "5:0-40" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "lodash/throttle", + "loc": "5:0-40" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;" + }, + { + "id": 95, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/height_cache.js", + "name": "./app/javascript/mastodon/actions/height_cache.js", + "index": 340, + "index2": 335, + "size": 322, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 263, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/intersection_observer_article_container.js", + "module": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "moduleName": "./app/javascript/mastodon/containers/intersection_observer_article_container.js", + "type": "harmony import", + "userRequest": "../actions/height_cache", + "loc": "3:0-52" + }, + { + "moduleId": 455, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/height_cache.js", + "module": "./app/javascript/mastodon/reducers/height_cache.js", + "moduleName": "./app/javascript/mastodon/reducers/height_cache.js", + "type": "harmony import", + "userRequest": "../actions/height_cache", + "loc": "2:0-79" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "../../actions/height_cache", + "loc": "22:0-57" + } + ], + "usedExports": [ + "HEIGHT_CACHE_CLEAR", + "HEIGHT_CACHE_SET", + "clearHeight", + "setHeight" + ], + "providedExports": [ + "HEIGHT_CACHE_SET", + "HEIGHT_CACHE_CLEAR", + "setHeight", + "clearHeight" + ], + "optimizationBailout": [], + "depth": 4, + "source": "export var HEIGHT_CACHE_SET = 'HEIGHT_CACHE_SET';\nexport var HEIGHT_CACHE_CLEAR = 'HEIGHT_CACHE_CLEAR';\n\nexport function setHeight(key, id, height) {\n return {\n type: HEIGHT_CACHE_SET,\n key: key,\n id: id,\n height: height\n };\n};\n\nexport function clearHeight() {\n return {\n type: HEIGHT_CACHE_CLEAR\n };\n};" + }, + { + "id": 96, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/reselect/lib/index.js", + "name": "./node_modules/reselect/lib/index.js", + "index": 465, + "index2": 452, + "size": 4136, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "issuerId": 158, + "issuerName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 69, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/selectors/index.js", + "module": "./app/javascript/mastodon/selectors/index.js", + "moduleName": "./app/javascript/mastodon/selectors/index.js", + "type": "harmony import", + "userRequest": "reselect", + "loc": "1:0-42" + }, + { + "moduleId": 158, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/status_list_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/status_list_container.js", + "type": "harmony import", + "userRequest": "reselect", + "loc": "6:0-42" + }, + { + "moduleId": 303, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "type": "harmony import", + "userRequest": "reselect", + "loc": "4:0-42" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "reselect", + "loc": "19:0-42" + } + ], + "usedExports": [ + "createSelector" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nexports.__esModule = true;\nexports.defaultMemoize = defaultMemoize;\nexports.createSelectorCreator = createSelectorCreator;\nexports.createStructuredSelector = createStructuredSelector;\nfunction defaultEqualityCheck(a, b) {\n return a === b;\n}\n\nfunction areArgumentsShallowlyEqual(equalityCheck, prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n\n // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n var length = prev.length;\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction defaultMemoize(func) {\n var equalityCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultEqualityCheck;\n\n var lastArgs = null;\n var lastResult = null;\n // we reference arguments instead of spreading them for performance reasons\n return function () {\n if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {\n // apply arguments instead of spreading for performance.\n lastResult = func.apply(null, arguments);\n }\n\n lastArgs = arguments;\n return lastResult;\n };\n}\n\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep;\n }).join(', ');\n throw new Error('Selector creators expect all input-selectors to be functions, ' + ('instead received the following types: [' + dependencyTypes + ']'));\n }\n\n return dependencies;\n}\n\nfunction createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptions = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptions[_key - 1] = arguments[_key];\n }\n\n return function () {\n for (var _len2 = arguments.length, funcs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n\n var recomputations = 0;\n var resultFunc = funcs.pop();\n var dependencies = getDependencies(funcs);\n\n var memoizedResultFunc = memoize.apply(undefined, [function () {\n recomputations++;\n // apply arguments instead of spreading for performance.\n return resultFunc.apply(null, arguments);\n }].concat(memoizeOptions));\n\n // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n var selector = defaultMemoize(function () {\n var params = [];\n var length = dependencies.length;\n\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n params.push(dependencies[i].apply(null, arguments));\n }\n\n // apply arguments instead of spreading for performance.\n return memoizedResultFunc.apply(null, params);\n });\n\n selector.resultFunc = resultFunc;\n selector.recomputations = function () {\n return recomputations;\n };\n selector.resetRecomputations = function () {\n return recomputations = 0;\n };\n return selector;\n };\n}\n\nvar createSelector = exports.createSelector = createSelectorCreator(defaultMemoize);\n\nfunction createStructuredSelector(selectors) {\n var selectorCreator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : createSelector;\n\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + ('where each property is a selector, instead received a ' + typeof selectors));\n }\n var objectKeys = Object.keys(selectors);\n return selectorCreator(objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n}" + }, + { + "id": 97, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "name": "./node_modules/react-overlays/lib/Overlay.js", + "index": 382, + "index2": 413, + "size": 7200, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "issuerId": 304, + "issuerName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 301, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/privacy_dropdown.js", + "type": "harmony import", + "userRequest": "react-overlays/lib/Overlay", + "loc": "12:0-49" + }, + { + "moduleId": 304, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "module": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js", + "type": "harmony import", + "userRequest": "react-overlays/lib/Overlay", + "loc": "12:0-49" + }, + { + "moduleId": 475, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "module": "./app/javascript/mastodon/components/dropdown_menu.js", + "moduleName": "./app/javascript/mastodon/components/dropdown_menu.js", + "type": "harmony import", + "userRequest": "react-overlays/lib/Overlay", + "loc": "12:0-49" + }, + { + "moduleId": 803, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/search.js", + "module": "./app/javascript/mastodon/features/compose/components/search.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/search.js", + "type": "harmony import", + "userRequest": "react-overlays/lib/Overlay", + "loc": "11:0-49" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _elementType = require('prop-types-extra/lib/elementType');\n\nvar _elementType2 = _interopRequireDefault(_elementType);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _Position = require('./Position');\n\nvar _Position2 = _interopRequireDefault(_Position);\n\nvar _RootCloseWrapper = require('./RootCloseWrapper');\n\nvar _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\n/**\n * Built on top of `` and ``, the overlay component is great for custom tooltip overlays.\n */\nvar Overlay = function (_React$Component) {\n _inherits(Overlay, _React$Component);\n\n function Overlay(props, context) {\n _classCallCheck(this, Overlay);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleHidden = function () {\n _this.setState({ exited: true });\n\n if (_this.props.onExited) {\n var _this$props;\n\n (_this$props = _this.props).onExited.apply(_this$props, arguments);\n }\n };\n\n _this.state = { exited: !props.show };\n _this.onHiddenListener = _this.handleHidden.bind(_this);\n return _this;\n }\n\n Overlay.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.show) {\n this.setState({ exited: false });\n } else if (!nextProps.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({ exited: true });\n }\n };\n\n Overlay.prototype.render = function render() {\n var _props = this.props,\n container = _props.container,\n containerPadding = _props.containerPadding,\n target = _props.target,\n placement = _props.placement,\n shouldUpdatePosition = _props.shouldUpdatePosition,\n rootClose = _props.rootClose,\n children = _props.children,\n Transition = _props.transition,\n props = _objectWithoutProperties(_props, ['container', 'containerPadding', 'target', 'placement', 'shouldUpdatePosition', 'rootClose', 'children', 'transition']);\n\n // Don't un-render the overlay while it's transitioning out.\n\n\n var mountOverlay = props.show || Transition && !this.state.exited;\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n\n var child = children;\n\n // Position is be inner-most because it adds inline styles into the child,\n // which the other wrappers don't forward correctly.\n child = _react2.default.createElement(_Position2.default, { container: container, containerPadding: containerPadding, target: target, placement: placement, shouldUpdatePosition: shouldUpdatePosition }, child);\n\n if (Transition) {\n var onExit = props.onExit,\n onExiting = props.onExiting,\n onEnter = props.onEnter,\n onEntering = props.onEntering,\n onEntered = props.onEntered;\n\n // This animates the child node by injecting props, so it must precede\n // anything that adds a wrapping div.\n\n child = _react2.default.createElement(Transition, {\n 'in': props.show,\n appear: true,\n onExit: onExit,\n onExiting: onExiting,\n onExited: this.onHiddenListener,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n }, child);\n }\n\n // This goes after everything else because it adds a wrapping div.\n if (rootClose) {\n child = _react2.default.createElement(_RootCloseWrapper2.default, { onRootClose: props.onHide }, child);\n }\n\n return _react2.default.createElement(_Portal2.default, { container: container }, child);\n };\n\n return Overlay;\n}(_react2.default.Component);\n\nOverlay.propTypes = _extends({}, _Portal2.default.propTypes, _Position2.default.propTypes, {\n\n /**\n * Set the visibility of the Overlay\n */\n show: _propTypes2.default.bool,\n\n /**\n * Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay\n */\n rootClose: _propTypes2.default.bool,\n\n /**\n * A Callback fired by the Overlay when it wishes to be hidden.\n *\n * __required__ when `rootClose` is `true`.\n *\n * @type func\n */\n onHide: function onHide(props) {\n var propType = _propTypes2.default.func;\n if (props.rootClose) {\n propType = propType.isRequired;\n }\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return propType.apply(undefined, [props].concat(args));\n },\n\n /**\n * A `react-transition-group@2.0.0` `` component\n * used to animate the overlay as it changes visibility.\n */\n transition: _elementType2.default,\n\n /**\n * Callback fired before the Overlay transitions in\n */\n onEnter: _propTypes2.default.func,\n\n /**\n * Callback fired as the Overlay begins to transition in\n */\n onEntering: _propTypes2.default.func,\n\n /**\n * Callback fired after the Overlay finishes transitioning in\n */\n onEntered: _propTypes2.default.func,\n\n /**\n * Callback fired right before the Overlay transitions out\n */\n onExit: _propTypes2.default.func,\n\n /**\n * Callback fired as the Overlay begins to transition out\n */\n onExiting: _propTypes2.default.func,\n\n /**\n * Callback fired after the Overlay finishes transitioning out\n */\n onExited: _propTypes2.default.func\n});\n\nexports.default = Overlay;\nmodule.exports = exports['default'];" + }, + { + "id": 98, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column_header.js", + "name": "./app/javascript/mastodon/components/column_header.js", + "index": 539, + "index2": 530, + "size": 6866, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "issuerId": 460, + "issuerName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 257, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "type": "harmony import", + "userRequest": "../../../components/column_header", + "loc": "12:0-61" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../../components/column_header", + "loc": "14:0-61" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../../components/column_header", + "loc": "14:0-61" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/column_header", + "loc": "13:0-58" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_header", + "loc": "14:0-58" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_header", + "loc": "13:0-58" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_header", + "loc": "13:0-58" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column_header", + "loc": "13:0-58" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../components/column_header", + "loc": "14:0-58" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FormattedMessage, injectIntl, defineMessages } from 'react-intl';\n\nvar messages = defineMessages({\n show: {\n 'id': 'column_header.show_settings',\n 'defaultMessage': 'Show settings'\n },\n hide: {\n 'id': 'column_header.hide_settings',\n 'defaultMessage': 'Hide settings'\n },\n moveLeft: {\n 'id': 'column_header.moveLeft_settings',\n 'defaultMessage': 'Move column to the left'\n },\n moveRight: {\n 'id': 'column_header.moveRight_settings',\n 'defaultMessage': 'Move column to the right'\n }\n});\n\nvar ColumnHeader = injectIntl(_class = (_temp2 = _class2 = function (_React$PureComponent) {\n _inherits(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n collapsed: true,\n animating: false\n }, _this.handleToggleClick = function (e) {\n e.stopPropagation();\n _this.setState({ collapsed: !_this.state.collapsed, animating: true });\n }, _this.handleTitleClick = function () {\n _this.props.onClick();\n }, _this.handleMoveLeft = function () {\n _this.props.onMove(-1);\n }, _this.handleMoveRight = function () {\n _this.props.onMove(1);\n }, _this.handleBackClick = function () {\n if (window.history && window.history.length === 1) _this.context.router.history.push('/');else _this.context.router.history.goBack();\n }, _this.handleTransitionEnd = function () {\n _this.setState({ animating: false });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n title = _props.title,\n icon = _props.icon,\n active = _props.active,\n children = _props.children,\n pinned = _props.pinned,\n onPin = _props.onPin,\n multiColumn = _props.multiColumn,\n focusable = _props.focusable,\n showBackButton = _props.showBackButton,\n formatMessage = _props.intl.formatMessage;\n var _state = this.state,\n collapsed = _state.collapsed,\n animating = _state.animating;\n\n\n var wrapperClassName = classNames('column-header__wrapper', {\n 'active': active\n });\n\n var buttonClassName = classNames('column-header', {\n 'active': active\n });\n\n var collapsibleClassName = classNames('column-header__collapsible', {\n 'collapsed': collapsed,\n 'animating': animating\n });\n\n var collapsibleButtonClassName = classNames('column-header__button', {\n 'active': !collapsed\n });\n\n var extraContent = void 0,\n pinButton = void 0,\n moveButtons = void 0,\n backButton = void 0,\n collapseButton = void 0;\n\n if (children) {\n extraContent = _jsx('div', {\n className: 'column-header__collapsible__extra'\n }, 'extra-content', children);\n }\n\n if (multiColumn && pinned) {\n pinButton = _jsx('button', {\n className: 'text-btn column-header__setting-btn',\n onClick: onPin\n }, 'pin-button', _jsx('i', {\n className: 'fa fa fa-times'\n }), ' ', _jsx(FormattedMessage, {\n id: 'column_header.unpin',\n defaultMessage: 'Unpin'\n }));\n\n moveButtons = _jsx('div', {\n className: 'column-header__setting-arrows'\n }, 'move-buttons', _jsx('button', {\n title: formatMessage(messages.moveLeft),\n 'aria-label': formatMessage(messages.moveLeft),\n className: 'text-btn column-header__setting-btn',\n onClick: this.handleMoveLeft\n }, void 0, _jsx('i', {\n className: 'fa fa-chevron-left'\n })), _jsx('button', {\n title: formatMessage(messages.moveRight),\n 'aria-label': formatMessage(messages.moveRight),\n className: 'text-btn column-header__setting-btn',\n onClick: this.handleMoveRight\n }, void 0, _jsx('i', {\n className: 'fa fa-chevron-right'\n })));\n } else if (multiColumn) {\n pinButton = _jsx('button', {\n className: 'text-btn column-header__setting-btn',\n onClick: onPin\n }, 'pin-button', _jsx('i', {\n className: 'fa fa fa-plus'\n }), ' ', _jsx(FormattedMessage, {\n id: 'column_header.pin',\n defaultMessage: 'Pin'\n }));\n }\n\n if (!pinned && (multiColumn || showBackButton)) {\n backButton = _jsx('button', {\n onClick: this.handleBackClick,\n className: 'column-header__back-button'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), _jsx(FormattedMessage, {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n }));\n }\n\n var collapsedContent = [extraContent];\n\n if (multiColumn) {\n collapsedContent.push(moveButtons);\n collapsedContent.push(pinButton);\n }\n\n if (children || multiColumn) {\n collapseButton = _jsx('button', {\n className: collapsibleButtonClassName,\n 'aria-label': formatMessage(collapsed ? messages.show : messages.hide),\n 'aria-pressed': collapsed ? 'false' : 'true',\n onClick: this.handleToggleClick\n }, void 0, _jsx('i', {\n className: 'fa fa-sliders'\n }));\n }\n\n return _jsx('div', {\n className: wrapperClassName\n }, void 0, _jsx('h1', {\n tabIndex: focusable ? 0 : null,\n role: 'button',\n className: buttonClassName,\n 'aria-label': title,\n onClick: this.handleTitleClick\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-' + icon + ' column-header__icon'\n }), _jsx('span', {\n className: 'column-header__title'\n }, void 0, title), _jsx('div', {\n className: 'column-header__buttons'\n }, void 0, backButton, collapseButton)), _jsx('div', {\n className: collapsibleClassName,\n tabIndex: collapsed ? -1 : null,\n onTransitionEnd: this.handleTransitionEnd\n }, void 0, _jsx('div', {\n className: 'column-header__collapsible-inner'\n }, void 0, (!collapsed || animating) && collapsedContent)));\n };\n\n return ColumnHeader;\n}(React.PureComponent), _class2.contextTypes = {\n router: PropTypes.object\n}, _class2.defaultProps = {\n focusable: true\n}, _temp2)) || _class;\n\nexport { ColumnHeader as default };" + }, + { + "id": 99, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/column.js", + "name": "./app/javascript/mastodon/components/column.js", + "index": 537, + "index2": 529, + "size": 1971, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "issuerId": 460, + "issuerName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 257, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/column_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/column_loading.js", + "type": "harmony import", + "userRequest": "../../../components/column", + "loc": "11:0-48" + }, + { + "moduleId": 460, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../../components/column", + "loc": "13:0-48" + }, + { + "moduleId": 621, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../../components/column", + "loc": "13:0-48" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../components/column", + "loc": "12:0-45" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column", + "loc": "13:0-45" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column", + "loc": "12:0-45" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column", + "loc": "12:0-45" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/column", + "loc": "12:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport detectPassiveEvents from 'detect-passive-events';\nimport { scrollTop as _scrollTop } from '../scroll';\n\nvar Column = function (_React$PureComponent) {\n _inherits(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleWheel = function () {\n if (typeof _this._interruptScrollAnimation !== 'function') {\n return;\n }\n\n _this._interruptScrollAnimation();\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = _scrollTop(scrollable);\n };\n\n Column.prototype.componentDidMount = function componentDidMount() {\n this.node.addEventListener('wheel', this.handleWheel, detectPassiveEvents.hasSupport ? { passive: true } : false);\n };\n\n Column.prototype.componentWillUnmount = function componentWillUnmount() {\n this.node.removeEventListener('wheel', this.handleWheel);\n };\n\n Column.prototype.render = function render() {\n var children = this.props.children;\n\n\n return React.createElement(\n 'div',\n { role: 'region', className: 'column', ref: this.setRef },\n children\n );\n };\n\n return Column;\n}(React.PureComponent);\n\nexport { Column as default };" + }, + { + "id": 100, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/stringz/dist/index.js", + "name": "./node_modules/stringz/dist/index.js", + "index": 460, + "index2": 449, + "size": 3752, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "issuerId": 652, + "issuerName": "./app/javascript/packs/public.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "stringz", + "loc": "26:0-33" + }, + { + "moduleId": 287, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/character_counter.js", + "module": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/character_counter.js", + "type": "harmony import", + "userRequest": "stringz", + "loc": "7:0-33" + }, + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "cjs require", + "userRequest": "stringz", + "loc": "22:17-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.length = length;\nexports.substring = substring;\nexports.substr = substr;\nexports.limit = limit;\n\nvar _string = require('./string');\n\n/**\n * Returns the length of a string\n *\n * @export\n * @param {string} str\n * @returns {number}\n */\nfunction length(str) {\n // Check for input\n if (typeof str !== 'string') {\n throw new Error('Input must be a string');\n }\n\n var match = str.match(_string.astralRange);\n return match === null ? 0 : match.length;\n}\n\n/**\n * Returns a substring by providing start and end position\n *\n * @export\n * @param {string} str\n * @param {number} [begin=0] Starting position\n * @param {number} end End position\n * @returns {string}\n */\nfunction substring(str) {\n var begin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var end = arguments[2];\n\n // Check for input\n if (typeof str !== 'string') {\n throw new Error('Input must be a string');\n }\n\n // Even though negative numbers work here, theyre not in the spec\n if (typeof begin !== 'number' || begin < 0) {\n begin = 0;\n }\n\n if (typeof end === 'number' && end < 0) {\n end = 0;\n }\n\n return str.match(_string.astralRange).slice(begin, end).join('');\n}\n\n/**\n * Returns a substring by providing start position and length\n *\n * @export\n * @param {string} str\n * @param {number} [begin=0] Starting position\n * @param {number} len Desired length\n * @returns {string}\n */\nfunction substr(str) {\n var begin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var len = arguments[2];\n\n // Check for input\n if (typeof str !== 'string') {\n throw new Error('Input must be a string');\n }\n\n var strLength = length(str);\n\n // Fix type\n if (typeof begin !== 'number') {\n begin = parseInt(begin, 10);\n }\n\n // Return zero-length string if got oversize number.\n if (begin >= strLength) {\n return '';\n }\n\n // Calculating postive version of negative value.\n if (begin < 0) {\n begin += strLength;\n }\n\n var end = void 0;\n\n if (typeof len === 'undefined') {\n end = strLength;\n } else {\n // Fix type\n if (typeof len !== 'number') {\n len = parseInt(len, 10);\n }\n\n end = len >= 0 ? len + begin : begin;\n }\n\n return str.match(_string.astralRange).slice(begin, end).join('');\n}\n\n/**\n * Enforces a string to be a certain length by\n * adding or removing characters\n *\n * @export\n * @param {string} str\n * @param {number} [limit=16] Limit\n * @param {string} [padString='#'] The Pad String\n * @param {string} [padPosition='right'] The Pad Position\n * @returns {string}\n */\nfunction limit(str) {\n var limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16;\n var padString = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '#';\n var padPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'right';\n\n // Input should be a string, limit should be a number\n if (typeof str !== 'string' || typeof limit !== 'number') {\n throw new Error('Invalid arguments specified');\n }\n\n // Pad position should be either left or right\n if (['left', 'right'].indexOf(padPosition) === -1) {\n throw new Error('Pad position should be either left or right');\n }\n\n // Pad string can be anything, we convert it to string\n if (typeof padString !== 'string') {\n padString = String(padString);\n }\n\n // Calculate string length considering astral code points\n var strLength = length(str);\n\n if (strLength > limit) {\n return substring(str, 0, limit);\n } else if (strLength < limit) {\n var padRepeats = padString.repeat(limit - strLength);\n return padPosition === 'left' ? padRepeats + str : str + padRepeats;\n }\n\n return str;\n}" + }, + { + "id": 101, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/button.js", + "name": "./app/javascript/mastodon/components/button.js", + "index": 462, + "index2": 451, + "size": 1884, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "issuerId": 286, + "issuerName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 286, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/compose_form.js", + "module": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/compose_form.js", + "type": "harmony import", + "userRequest": "../../../components/button", + "loc": "10:0-48" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "../../../components/button", + "loc": "12:0-48" + }, + { + "moduleId": 641, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "type": "harmony import", + "userRequest": "../../../components/button", + "loc": "11:0-48" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "../../../components/button", + "loc": "19:0-48" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\n\nimport classNames from 'classnames';\n\nvar Button = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(Button, _React$PureComponent);\n\n function Button() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Button);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n if (!_this.props.disabled) {\n _this.props.onClick(e);\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Button.prototype.focus = function focus() {\n this.node.focus();\n };\n\n Button.prototype.render = function render() {\n var style = Object.assign({\n padding: '0 ' + this.props.size / 2.25 + 'px',\n height: this.props.size + 'px',\n lineHeight: this.props.size + 'px'\n }, this.props.style);\n\n var className = classNames('button', this.props.className, {\n 'button-secondary': this.props.secondary,\n 'button--block': this.props.block\n });\n\n return React.createElement(\n 'button',\n {\n className: className,\n disabled: this.props.disabled,\n onClick: this.handleClick,\n ref: this.setRef,\n style: style\n },\n this.props.text || this.props.children\n );\n };\n\n return Button;\n}(React.PureComponent), _class.defaultProps = {\n size: 36\n}, _temp2);\nexport { Button as default };" + }, + { + "id": 102, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/emojis.js", + "name": "./app/javascript/mastodon/actions/emojis.js", + "index": 285, + "index2": 280, + "size": 249, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/compose.js", + "issuerId": 15, + "issuerName": "./app/javascript/mastodon/actions/compose.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 15, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/compose.js", + "module": "./app/javascript/mastodon/actions/compose.js", + "moduleName": "./app/javascript/mastodon/actions/compose.js", + "type": "harmony import", + "userRequest": "./emojis", + "loc": "6:0-36" + }, + { + "moduleId": 303, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "module": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "moduleName": "./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js", + "type": "harmony import", + "userRequest": "../../../actions/emojis", + "loc": "6:0-51" + }, + { + "moduleId": 445, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/settings.js", + "module": "./app/javascript/mastodon/reducers/settings.js", + "moduleName": "./app/javascript/mastodon/reducers/settings.js", + "type": "harmony import", + "userRequest": "../actions/emojis", + "loc": "4:0-46" + } + ], + "usedExports": [ + "EMOJI_USE", + "useEmoji" + ], + "providedExports": [ + "EMOJI_USE", + "useEmoji" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { saveSettings } from './settings';\n\nexport var EMOJI_USE = 'EMOJI_USE';\n\nexport function useEmoji(emoji) {\n return function (dispatch) {\n dispatch({\n type: EMOJI_USE,\n emoji: emoji\n });\n\n dispatch(saveSettings());\n };\n};" + }, + { + "id": 103, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/object-assign/index.js", + "name": "./node_modules/object-assign/index.js", + "index": 56, + "index2": 53, + "size": 2103, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "issuerId": 749, + "issuerName": "./app/javascript/mastodon/base_polyfills.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 353, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/cjs/react.production.min.js", + "module": "./node_modules/react/cjs/react.production.min.js", + "moduleName": "./node_modules/react/cjs/react.production.min.js", + "type": "cjs require", + "userRequest": "object-assign", + "loc": "11:8-32" + }, + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "object-assign", + "loc": "13:8-32" + }, + { + "moduleId": 524, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/create-react-class/factory.js", + "module": "./node_modules/create-react-class/factory.js", + "moduleName": "./node_modules/create-react-class/factory.js", + "type": "cjs require", + "userRequest": "object-assign", + "loc": "11:14-38" + }, + { + "moduleId": 749, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/base_polyfills.js", + "module": "./app/javascript/mastodon/base_polyfills.js", + "moduleName": "./app/javascript/mastodon/base_polyfills.js", + "type": "harmony import", + "userRequest": "object-assign", + "loc": "5:0-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};" + }, + { + "id": 104, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-object.js", + "name": "./node_modules/core-js/library/modules/_to-object.js", + "index": 144, + "index2": 135, + "size": 131, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-assign.js", + "issuerId": 463, + "issuerName": "./node_modules/core-js/library/modules/_object-assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 188, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gpo.js", + "module": "./node_modules/core-js/library/modules/_object-gpo.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gpo.js", + "type": "cjs require", + "userRequest": "./_to-object", + "loc": "3:15-38" + }, + { + "moduleId": 463, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-assign.js", + "module": "./node_modules/core-js/library/modules/_object-assign.js", + "moduleName": "./node_modules/core-js/library/modules/_object-assign.js", + "type": "cjs require", + "userRequest": "./_to-object", + "loc": "7:15-38" + }, + { + "moduleId": 612, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "module": "./node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "type": "cjs require", + "userRequest": "./_to-object", + "loc": "2:15-38" + }, + { + "moduleId": 870, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.keys.js", + "module": "./node_modules/core-js/library/modules/es6.object.keys.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.keys.js", + "type": "cjs require", + "userRequest": "./_to-object", + "loc": "2:15-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};" + }, + { + "id": 105, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/blocks.js", + "name": "./app/javascript/mastodon/actions/blocks.js", + "index": 263, + "index2": 258, + "size": 2351, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "issuerId": 442, + "issuerName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 415, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/user_lists.js", + "module": "./app/javascript/mastodon/reducers/user_lists.js", + "moduleName": "./app/javascript/mastodon/reducers/user_lists.js", + "type": "harmony import", + "userRequest": "../actions/blocks", + "loc": "3:0-80" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/blocks", + "loc": "2:0-80" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/blocks", + "loc": "2:0-80" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../actions/blocks", + "loc": "17:0-65" + } + ], + "usedExports": [ + "BLOCKS_EXPAND_SUCCESS", + "BLOCKS_FETCH_SUCCESS", + "expandBlocks", + "fetchBlocks" + ], + "providedExports": [ + "BLOCKS_FETCH_REQUEST", + "BLOCKS_FETCH_SUCCESS", + "BLOCKS_FETCH_FAIL", + "BLOCKS_EXPAND_REQUEST", + "BLOCKS_EXPAND_SUCCESS", + "BLOCKS_EXPAND_FAIL", + "fetchBlocks", + "fetchBlocksRequest", + "fetchBlocksSuccess", + "fetchBlocksFail", + "expandBlocks", + "expandBlocksRequest", + "expandBlocksSuccess", + "expandBlocksFail" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import api, { getLinks } from '../api';\nimport { fetchRelationships } from './accounts';\n\nexport var BLOCKS_FETCH_REQUEST = 'BLOCKS_FETCH_REQUEST';\nexport var BLOCKS_FETCH_SUCCESS = 'BLOCKS_FETCH_SUCCESS';\nexport var BLOCKS_FETCH_FAIL = 'BLOCKS_FETCH_FAIL';\n\nexport var BLOCKS_EXPAND_REQUEST = 'BLOCKS_EXPAND_REQUEST';\nexport var BLOCKS_EXPAND_SUCCESS = 'BLOCKS_EXPAND_SUCCESS';\nexport var BLOCKS_EXPAND_FAIL = 'BLOCKS_EXPAND_FAIL';\n\nexport function fetchBlocks() {\n return function (dispatch, getState) {\n dispatch(fetchBlocksRequest());\n\n api(getState).get('/api/v1/blocks').then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(fetchBlocksSuccess(response.data, next ? next.uri : null));\n dispatch(fetchRelationships(response.data.map(function (item) {\n return item.id;\n })));\n }).catch(function (error) {\n return dispatch(fetchBlocksFail(error));\n });\n };\n};\n\nexport function fetchBlocksRequest() {\n return {\n type: BLOCKS_FETCH_REQUEST\n };\n};\n\nexport function fetchBlocksSuccess(accounts, next) {\n return {\n type: BLOCKS_FETCH_SUCCESS,\n accounts: accounts,\n next: next\n };\n};\n\nexport function fetchBlocksFail(error) {\n return {\n type: BLOCKS_FETCH_FAIL,\n error: error\n };\n};\n\nexport function expandBlocks() {\n return function (dispatch, getState) {\n var url = getState().getIn(['user_lists', 'blocks', 'next']);\n\n if (url === null) {\n return;\n }\n\n dispatch(expandBlocksRequest());\n\n api(getState).get(url).then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(expandBlocksSuccess(response.data, next ? next.uri : null));\n dispatch(fetchRelationships(response.data.map(function (item) {\n return item.id;\n })));\n }).catch(function (error) {\n return dispatch(expandBlocksFail(error));\n });\n };\n};\n\nexport function expandBlocksRequest() {\n return {\n type: BLOCKS_EXPAND_REQUEST\n };\n};\n\nexport function expandBlocksSuccess(accounts, next) {\n return {\n type: BLOCKS_EXPAND_SUCCESS,\n accounts: accounts,\n next: next\n };\n};\n\nexport function expandBlocksFail(error) {\n return {\n type: BLOCKS_EXPAND_FAIL,\n error: error\n };\n};" + }, + { + "id": 106, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/mutes.js", + "name": "./app/javascript/mastodon/actions/mutes.js", + "index": 264, + "index2": 259, + "size": 2317, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "issuerId": 442, + "issuerName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 415, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/user_lists.js", + "module": "./app/javascript/mastodon/reducers/user_lists.js", + "moduleName": "./app/javascript/mastodon/reducers/user_lists.js", + "type": "harmony import", + "userRequest": "../actions/mutes", + "loc": "4:0-77" + }, + { + "moduleId": 416, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "module": "./app/javascript/mastodon/reducers/accounts.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts.js", + "type": "harmony import", + "userRequest": "../actions/mutes", + "loc": "3:0-77" + }, + { + "moduleId": 442, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "module": "./app/javascript/mastodon/reducers/accounts_counters.js", + "moduleName": "./app/javascript/mastodon/reducers/accounts_counters.js", + "type": "harmony import", + "userRequest": "../actions/mutes", + "loc": "3:0-77" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../actions/mutes", + "loc": "17:0-62" + } + ], + "usedExports": [ + "MUTES_EXPAND_SUCCESS", + "MUTES_FETCH_SUCCESS", + "expandMutes", + "fetchMutes" + ], + "providedExports": [ + "MUTES_FETCH_REQUEST", + "MUTES_FETCH_SUCCESS", + "MUTES_FETCH_FAIL", + "MUTES_EXPAND_REQUEST", + "MUTES_EXPAND_SUCCESS", + "MUTES_EXPAND_FAIL", + "fetchMutes", + "fetchMutesRequest", + "fetchMutesSuccess", + "fetchMutesFail", + "expandMutes", + "expandMutesRequest", + "expandMutesSuccess", + "expandMutesFail" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import api, { getLinks } from '../api';\nimport { fetchRelationships } from './accounts';\n\nexport var MUTES_FETCH_REQUEST = 'MUTES_FETCH_REQUEST';\nexport var MUTES_FETCH_SUCCESS = 'MUTES_FETCH_SUCCESS';\nexport var MUTES_FETCH_FAIL = 'MUTES_FETCH_FAIL';\n\nexport var MUTES_EXPAND_REQUEST = 'MUTES_EXPAND_REQUEST';\nexport var MUTES_EXPAND_SUCCESS = 'MUTES_EXPAND_SUCCESS';\nexport var MUTES_EXPAND_FAIL = 'MUTES_EXPAND_FAIL';\n\nexport function fetchMutes() {\n return function (dispatch, getState) {\n dispatch(fetchMutesRequest());\n\n api(getState).get('/api/v1/mutes').then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(fetchMutesSuccess(response.data, next ? next.uri : null));\n dispatch(fetchRelationships(response.data.map(function (item) {\n return item.id;\n })));\n }).catch(function (error) {\n return dispatch(fetchMutesFail(error));\n });\n };\n};\n\nexport function fetchMutesRequest() {\n return {\n type: MUTES_FETCH_REQUEST\n };\n};\n\nexport function fetchMutesSuccess(accounts, next) {\n return {\n type: MUTES_FETCH_SUCCESS,\n accounts: accounts,\n next: next\n };\n};\n\nexport function fetchMutesFail(error) {\n return {\n type: MUTES_FETCH_FAIL,\n error: error\n };\n};\n\nexport function expandMutes() {\n return function (dispatch, getState) {\n var url = getState().getIn(['user_lists', 'mutes', 'next']);\n\n if (url === null) {\n return;\n }\n\n dispatch(expandMutesRequest());\n\n api(getState).get(url).then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(expandMutesSuccess(response.data, next ? next.uri : null));\n dispatch(fetchRelationships(response.data.map(function (item) {\n return item.id;\n })));\n }).catch(function (error) {\n return dispatch(expandMutesFail(error));\n });\n };\n};\n\nexport function expandMutesRequest() {\n return {\n type: MUTES_EXPAND_REQUEST\n };\n};\n\nexport function expandMutesSuccess(accounts, next) {\n return {\n type: MUTES_EXPAND_SUCCESS,\n accounts: accounts,\n next: next\n };\n};\n\nexport function expandMutesFail(error) {\n return {\n type: MUTES_EXPAND_FAIL,\n error: error\n };\n};" + }, + { + "id": 107, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "name": "./app/javascript/mastodon/components/status_content.js", + "index": 362, + "index2": 358, + "size": 7270, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "issuerId": 153, + "issuerName": "./app/javascript/mastodon/components/status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "./status_content", + "loc": "18:0-45" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "../../../components/status_content", + "loc": "12:0-63" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "../../../components/status_content", + "loc": "13:0-63" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "../../../components/status_content", + "loc": "13:0-63" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { isRtl } from '../rtl';\nimport { FormattedMessage } from 'react-intl';\nimport Permalink from './permalink';\nimport classnames from 'classnames';\n\nvar StatusContent = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(StatusContent, _React$PureComponent);\n\n function StatusContent() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StatusContent);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n hidden: true\n }, _this.onMentionClick = function (mention, e) {\n if (_this.context.router && e.button === 0) {\n e.preventDefault();\n _this.context.router.history.push('/accounts/' + mention.get('id'));\n }\n }, _this.onHashtagClick = function (hashtag, e) {\n hashtag = hashtag.replace(/^#/, '').toLowerCase();\n\n if (_this.context.router && e.button === 0) {\n e.preventDefault();\n _this.context.router.history.push('/timelines/tag/' + hashtag);\n }\n }, _this.handleMouseDown = function (e) {\n _this.startXY = [e.clientX, e.clientY];\n }, _this.handleMouseUp = function (e) {\n if (!_this.startXY) {\n return;\n }\n\n var _this$startXY = _this.startXY,\n startX = _this$startXY[0],\n startY = _this$startXY[1];\n var _ref = [Math.abs(e.clientX - startX), Math.abs(e.clientY - startY)],\n deltaX = _ref[0],\n deltaY = _ref[1];\n\n\n if (e.target.localName === 'button' || e.target.localName === 'a' || e.target.parentNode && (e.target.parentNode.localName === 'button' || e.target.parentNode.localName === 'a')) {\n return;\n }\n\n if (deltaX + deltaY < 5 && e.button === 0 && _this.props.onClick) {\n _this.props.onClick();\n }\n\n _this.startXY = null;\n }, _this.handleSpoilerClick = function (e) {\n e.preventDefault();\n\n if (_this.props.onExpandedToggle) {\n // The parent manages the state\n _this.props.onExpandedToggle();\n } else {\n _this.setState({ hidden: !_this.state.hidden });\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StatusContent.prototype._updateStatusLinks = function _updateStatusLinks() {\n var _this2 = this;\n\n var node = this.node;\n var links = node.querySelectorAll('a');\n\n var _loop = function _loop() {\n var link = links[i];\n if (link.classList.contains('status-link')) {\n return 'continue';\n }\n link.classList.add('status-link');\n\n var mention = _this2.props.status.get('mentions').find(function (item) {\n return link.href === item.get('url');\n });\n\n if (mention) {\n link.addEventListener('click', _this2.onMentionClick.bind(_this2, mention), false);\n link.setAttribute('title', mention.get('acct'));\n } else if (link.textContent[0] === '#' || link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#') {\n link.addEventListener('click', _this2.onHashtagClick.bind(_this2, link.text), false);\n } else {\n link.setAttribute('title', link.href);\n }\n\n link.setAttribute('target', '_blank');\n link.setAttribute('rel', 'noopener');\n };\n\n for (var i = 0; i < links.length; ++i) {\n var _ret2 = _loop();\n\n if (_ret2 === 'continue') continue;\n }\n };\n\n StatusContent.prototype.componentDidMount = function componentDidMount() {\n this._updateStatusLinks();\n };\n\n StatusContent.prototype.componentDidUpdate = function componentDidUpdate() {\n this._updateStatusLinks();\n };\n\n StatusContent.prototype.render = function render() {\n var status = this.props.status;\n\n\n var hidden = this.props.onExpandedToggle ? !this.props.expanded : this.state.hidden;\n\n var content = { __html: status.get('contentHtml') };\n var spoilerContent = { __html: status.get('spoilerHtml') };\n var directionStyle = { direction: 'ltr' };\n var classNames = classnames('status__content', {\n 'status__content--with-action': this.props.onClick && this.context.router,\n 'status__content--with-spoiler': status.get('spoiler_text').length > 0\n });\n\n if (isRtl(status.get('search_index'))) {\n directionStyle.direction = 'rtl';\n }\n\n if (status.get('spoiler_text').length > 0) {\n var mentionsPlaceholder = '';\n\n var mentionLinks = status.get('mentions').map(function (item) {\n return _jsx(Permalink, {\n to: '/accounts/' + item.get('id'),\n href: item.get('url'),\n className: 'mention'\n }, item.get('id'), '@', _jsx('span', {}, void 0, item.get('username')));\n }).reduce(function (aggregate, item) {\n return [].concat(aggregate, [item, ' ']);\n }, []);\n\n var toggleText = hidden ? _jsx(FormattedMessage, {\n id: 'status.show_more',\n defaultMessage: 'Show more'\n }) : _jsx(FormattedMessage, {\n id: 'status.show_less',\n defaultMessage: 'Show less'\n });\n\n if (hidden) {\n mentionsPlaceholder = _jsx('div', {}, void 0, mentionLinks);\n }\n\n return React.createElement(\n 'div',\n { className: classNames, ref: this.setRef, tabIndex: '0', onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp },\n _jsx('p', {\n style: { marginBottom: hidden && status.get('mentions').isEmpty() ? '0px' : null }\n }, void 0, _jsx('span', {\n dangerouslySetInnerHTML: spoilerContent\n }), ' ', _jsx('button', {\n tabIndex: '0',\n className: 'status__content__spoiler-link',\n onClick: this.handleSpoilerClick\n }, void 0, toggleText)),\n mentionsPlaceholder,\n _jsx('div', {\n tabIndex: !hidden ? 0 : null,\n className: 'status__content__text ' + (!hidden ? 'status__content__text--visible' : ''),\n style: directionStyle,\n dangerouslySetInnerHTML: content\n })\n );\n } else if (this.props.onClick) {\n return React.createElement('div', {\n ref: this.setRef,\n tabIndex: '0',\n className: classNames,\n style: directionStyle,\n onMouseDown: this.handleMouseDown,\n onMouseUp: this.handleMouseUp,\n dangerouslySetInnerHTML: content\n });\n } else {\n return React.createElement('div', {\n tabIndex: '0',\n ref: this.setRef,\n className: 'status__content',\n style: directionStyle,\n dangerouslySetInnerHTML: content\n });\n }\n };\n\n return StatusContent;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { StatusContent as default };" + }, + { + "id": 108, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "name": "./app/javascript/mastodon/features/video/index.js", + "index": 708, + "index2": 698, + "size": 11841, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "issuerId": 653, + "issuerName": "./app/javascript/mastodon/containers/video_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 61, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/async-components.js", + "module": "./app/javascript/mastodon/features/ui/util/async-components.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/async-components.js", + "type": "import()", + "userRequest": "../../video", + "loc": "98:9-71" + }, + { + "moduleId": 639, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/video_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "type": "harmony import", + "userRequest": "../../video", + "loc": "11:0-32" + }, + { + "moduleId": 653, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/video_container.js", + "module": "./app/javascript/mastodon/containers/video_container.js", + "moduleName": "./app/javascript/mastodon/containers/video_container.js", + "type": "harmony import", + "userRequest": "../features/video", + "loc": "10:0-38" + }, + { + "moduleId": 892, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/detailed_status.js", + "module": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "moduleName": "./app/javascript/mastodon/features/status/components/detailed_status.js", + "type": "harmony import", + "userRequest": "../../video", + "loc": "20:0-32" + } + ], + "usedExports": true, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _throttle from 'lodash/throttle';\n\nvar _class;\n\nimport React from 'react';\n\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\n\nimport classNames from 'classnames';\nimport { isFullscreen, requestFullscreen, exitFullscreen } from '../ui/util/fullscreen';\n\nvar messages = defineMessages({\n play: {\n 'id': 'video.play',\n 'defaultMessage': 'Play'\n },\n pause: {\n 'id': 'video.pause',\n 'defaultMessage': 'Pause'\n },\n mute: {\n 'id': 'video.mute',\n 'defaultMessage': 'Mute sound'\n },\n unmute: {\n 'id': 'video.unmute',\n 'defaultMessage': 'Unmute sound'\n },\n hide: {\n 'id': 'video.hide',\n 'defaultMessage': 'Hide video'\n },\n expand: {\n 'id': 'video.expand',\n 'defaultMessage': 'Expand video'\n },\n close: {\n 'id': 'video.close',\n 'defaultMessage': 'Close video'\n },\n fullscreen: {\n 'id': 'video.fullscreen',\n 'defaultMessage': 'Full screen'\n },\n exit_fullscreen: {\n 'id': 'video.exit_fullscreen',\n 'defaultMessage': 'Exit full screen'\n }\n});\n\nvar findElementPosition = function findElementPosition(el) {\n var box = void 0;\n\n if (el.getBoundingClientRect && el.parentNode) {\n box = el.getBoundingClientRect();\n }\n\n if (!box) {\n return {\n left: 0,\n top: 0\n };\n }\n\n var docEl = document.documentElement;\n var body = document.body;\n\n var clientLeft = docEl.clientLeft || body.clientLeft || 0;\n var scrollLeft = window.pageXOffset || body.scrollLeft;\n var left = box.left + scrollLeft - clientLeft;\n\n var clientTop = docEl.clientTop || body.clientTop || 0;\n var scrollTop = window.pageYOffset || body.scrollTop;\n var top = box.top + scrollTop - clientTop;\n\n return {\n left: Math.round(left),\n top: Math.round(top)\n };\n};\n\nvar getPointerPosition = function getPointerPosition(el, event) {\n var position = {};\n var box = findElementPosition(el);\n var boxW = el.offsetWidth;\n var boxH = el.offsetHeight;\n var boxY = box.top;\n var boxX = box.left;\n\n var pageY = event.pageY;\n var pageX = event.pageX;\n\n if (event.changedTouches) {\n pageX = event.changedTouches[0].pageX;\n pageY = event.changedTouches[0].pageY;\n }\n\n position.y = Math.max(0, Math.min(1, (boxY - pageY + boxH) / boxH));\n position.x = Math.max(0, Math.min(1, (pageX - boxX) / boxW));\n\n return position;\n};\n\nvar Video = injectIntl(_class = function (_React$PureComponent) {\n _inherits(Video, _React$PureComponent);\n\n function Video() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Video);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n progress: 0,\n paused: true,\n dragging: false,\n fullscreen: false,\n hovered: false,\n muted: false,\n revealed: !_this.props.sensitive\n }, _this.setPlayerRef = function (c) {\n _this.player = c;\n }, _this.setVideoRef = function (c) {\n _this.video = c;\n }, _this.setSeekRef = function (c) {\n _this.seek = c;\n }, _this.handlePlay = function () {\n _this.setState({ paused: false });\n }, _this.handlePause = function () {\n _this.setState({ paused: true });\n }, _this.handleTimeUpdate = function () {\n _this.setState({ progress: 100 * (_this.video.currentTime / _this.video.duration) });\n }, _this.handleMouseDown = function (e) {\n document.addEventListener('mousemove', _this.handleMouseMove, true);\n document.addEventListener('mouseup', _this.handleMouseUp, true);\n document.addEventListener('touchmove', _this.handleMouseMove, true);\n document.addEventListener('touchend', _this.handleMouseUp, true);\n\n _this.setState({ dragging: true });\n _this.video.pause();\n _this.handleMouseMove(e);\n }, _this.handleMouseUp = function () {\n document.removeEventListener('mousemove', _this.handleMouseMove, true);\n document.removeEventListener('mouseup', _this.handleMouseUp, true);\n document.removeEventListener('touchmove', _this.handleMouseMove, true);\n document.removeEventListener('touchend', _this.handleMouseUp, true);\n\n _this.setState({ dragging: false });\n _this.video.play();\n }, _this.handleMouseMove = _throttle(function (e) {\n var _getPointerPosition = getPointerPosition(_this.seek, e),\n x = _getPointerPosition.x;\n\n _this.video.currentTime = _this.video.duration * x;\n _this.setState({ progress: x * 100 });\n }, 60), _this.togglePlay = function () {\n if (_this.state.paused) {\n _this.video.play();\n } else {\n _this.video.pause();\n }\n }, _this.toggleFullscreen = function () {\n if (isFullscreen()) {\n exitFullscreen();\n } else {\n requestFullscreen(_this.player);\n }\n }, _this.handleFullscreenChange = function () {\n _this.setState({ fullscreen: isFullscreen() });\n }, _this.handleMouseEnter = function () {\n _this.setState({ hovered: true });\n }, _this.handleMouseLeave = function () {\n _this.setState({ hovered: false });\n }, _this.toggleMute = function () {\n _this.video.muted = !_this.video.muted;\n _this.setState({ muted: _this.video.muted });\n }, _this.toggleReveal = function () {\n if (_this.state.revealed) {\n _this.video.pause();\n }\n\n _this.setState({ revealed: !_this.state.revealed });\n }, _this.handleLoadedData = function () {\n if (_this.props.startTime) {\n _this.video.currentTime = _this.props.startTime;\n _this.video.play();\n }\n }, _this.handleProgress = function () {\n if (_this.video.buffered.length > 0) {\n _this.setState({ buffer: _this.video.buffered.end(0) / _this.video.duration * 100 });\n }\n }, _this.handleOpenVideo = function () {\n _this.video.pause();\n _this.props.onOpenVideo(_this.video.currentTime);\n }, _this.handleCloseVideo = function () {\n _this.video.pause();\n _this.props.onCloseVideo();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Video.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('fullscreenchange', this.handleFullscreenChange, true);\n document.addEventListener('webkitfullscreenchange', this.handleFullscreenChange, true);\n document.addEventListener('mozfullscreenchange', this.handleFullscreenChange, true);\n document.addEventListener('MSFullscreenChange', this.handleFullscreenChange, true);\n };\n\n Video.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('fullscreenchange', this.handleFullscreenChange, true);\n document.removeEventListener('webkitfullscreenchange', this.handleFullscreenChange, true);\n document.removeEventListener('mozfullscreenchange', this.handleFullscreenChange, true);\n document.removeEventListener('MSFullscreenChange', this.handleFullscreenChange, true);\n };\n\n Video.prototype.render = function render() {\n var _props = this.props,\n preview = _props.preview,\n src = _props.src,\n width = _props.width,\n height = _props.height,\n startTime = _props.startTime,\n onOpenVideo = _props.onOpenVideo,\n onCloseVideo = _props.onCloseVideo,\n intl = _props.intl,\n alt = _props.alt;\n var _state = this.state,\n progress = _state.progress,\n buffer = _state.buffer,\n dragging = _state.dragging,\n paused = _state.paused,\n fullscreen = _state.fullscreen,\n hovered = _state.hovered,\n muted = _state.muted,\n revealed = _state.revealed;\n\n\n return React.createElement(\n 'div',\n { className: classNames('video-player', { inactive: !revealed, inline: width && height && !fullscreen, fullscreen: fullscreen }), style: { width: width, height: height }, ref: this.setPlayerRef, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave },\n React.createElement('video', {\n ref: this.setVideoRef,\n src: src,\n poster: preview,\n preload: startTime ? 'auto' : 'none',\n loop: true,\n role: 'button',\n tabIndex: '0',\n 'aria-label': alt,\n width: width,\n height: height,\n onClick: this.togglePlay,\n onPlay: this.handlePlay,\n onPause: this.handlePause,\n onTimeUpdate: this.handleTimeUpdate,\n onLoadedData: this.handleLoadedData,\n onProgress: this.handleProgress\n }),\n _jsx('button', {\n className: classNames('video-player__spoiler', { active: !revealed }),\n onClick: this.toggleReveal\n }, void 0, _jsx('span', {\n className: 'video-player__spoiler__title'\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.sensitive_warning',\n defaultMessage: 'Sensitive content'\n })), _jsx('span', {\n className: 'video-player__spoiler__subtitle'\n }, void 0, _jsx(FormattedMessage, {\n id: 'status.sensitive_toggle',\n defaultMessage: 'Click to view'\n }))),\n _jsx('div', {\n className: classNames('video-player__controls', { active: paused || hovered })\n }, void 0, React.createElement(\n 'div',\n { className: 'video-player__seek', onMouseDown: this.handleMouseDown, ref: this.setSeekRef },\n _jsx('div', {\n className: 'video-player__seek__buffer',\n style: { width: buffer + '%' }\n }),\n _jsx('div', {\n className: 'video-player__seek__progress',\n style: { width: progress + '%' }\n }),\n _jsx('span', {\n className: classNames('video-player__seek__handle', { active: dragging }),\n tabIndex: '0',\n style: { left: progress + '%' }\n })\n ), _jsx('div', {\n className: 'video-player__buttons left'\n }, void 0, _jsx('button', {\n 'aria-label': intl.formatMessage(paused ? messages.play : messages.pause),\n onClick: this.togglePlay\n }, void 0, _jsx('i', {\n className: classNames('fa fa-fw', { 'fa-play': paused, 'fa-pause': !paused })\n })), _jsx('button', {\n 'aria-label': intl.formatMessage(muted ? messages.unmute : messages.mute),\n onClick: this.toggleMute\n }, void 0, _jsx('i', {\n className: classNames('fa fa-fw', { 'fa-volume-off': muted, 'fa-volume-up': !muted })\n })), !onCloseVideo && _jsx('button', {\n 'aria-label': intl.formatMessage(messages.hide),\n onClick: this.toggleReveal\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-eye'\n }))), _jsx('div', {\n className: 'video-player__buttons right'\n }, void 0, !fullscreen && onOpenVideo && _jsx('button', {\n 'aria-label': intl.formatMessage(messages.expand),\n onClick: this.handleOpenVideo\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-expand'\n })), onCloseVideo && _jsx('button', {\n 'aria-label': intl.formatMessage(messages.close),\n onClick: this.handleCloseVideo\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-times'\n })), _jsx('button', {\n 'aria-label': intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen),\n onClick: this.toggleFullscreen\n }, void 0, _jsx('i', {\n className: classNames('fa fa-fw', { 'fa-arrows-alt': !fullscreen, 'fa-compress': fullscreen })\n }))))\n );\n };\n\n return Video;\n}(React.PureComponent)) || _class;\n\nexport { Video as default };" + }, + { + "id": 109, + "identifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "name": "./app/javascript/images ^\\.\\/.*$", + "index": 65, + "index2": 74, + "size": 578, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/common.js", + "issuerId": 649, + "issuerName": "./app/javascript/packs/common.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 319, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/about.js", + "module": "./app/javascript/packs/about.js", + "moduleName": "./app/javascript/packs/about.js", + "type": "require.context", + "userRequest": "../images/", + "loc": "3:0-35" + }, + { + "moduleId": 649, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/common.js", + "module": "./app/javascript/packs/common.js", + "moduleName": "./app/javascript/packs/common.js", + "type": "require.context", + "userRequest": "../images/", + "loc": "4:0-35" + }, + { + "moduleId": 656, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/share.js", + "module": "./app/javascript/packs/share.js", + "moduleName": "./app/javascript/packs/share.js", + "type": "require.context", + "userRequest": "../images/", + "loc": "3:0-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 1 + }, + { + "id": 110, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-primitive.js", + "name": "./node_modules/core-js/library/modules/_to-primitive.js", + "index": 95, + "index2": 86, + "size": 654, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 39, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-dp.js", + "module": "./node_modules/core-js/library/modules/_object-dp.js", + "moduleName": "./node_modules/core-js/library/modules/_object-dp.js", + "type": "cjs require", + "userRequest": "./_to-primitive", + "loc": "3:18-44" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_to-primitive", + "loc": "21:18-44" + }, + { + "moduleId": 185, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopd.js", + "module": "./node_modules/core-js/library/modules/_object-gopd.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopd.js", + "type": "cjs require", + "userRequest": "./_to-primitive", + "loc": "4:18-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};" + }, + { + "id": 111, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_shared.js", + "name": "./node_modules/core-js/library/modules/_shared.js", + "index": 100, + "index2": 94, + "size": 201, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 49, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks.js", + "module": "./node_modules/core-js/library/modules/_wks.js", + "moduleName": "./node_modules/core-js/library/modules/_wks.js", + "type": "cjs require", + "userRequest": "./_shared", + "loc": "1:12-32" + }, + { + "moduleId": 118, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_shared-key.js", + "module": "./node_modules/core-js/library/modules/_shared-key.js", + "moduleName": "./node_modules/core-js/library/modules/_shared-key.js", + "type": "cjs require", + "userRequest": "./_shared", + "loc": "1:13-33" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_shared", + "loc": "11:13-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};" + }, + { + "id": 112, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_set-to-string-tag.js", + "name": "./node_modules/core-js/library/modules/_set-to-string-tag.js", + "index": 101, + "index2": 96, + "size": 261, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_set-to-string-tag", + "loc": "12:21-52" + }, + { + "moduleId": 187, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "module": "./node_modules/core-js/library/modules/_iter-define.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-define.js", + "type": "cjs require", + "userRequest": "./_set-to-string-tag", + "loc": "10:21-52" + }, + { + "moduleId": 341, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-create.js", + "module": "./node_modules/core-js/library/modules/_iter-create.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-create.js", + "type": "cjs require", + "userRequest": "./_set-to-string-tag", + "loc": "5:21-52" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};" + }, + { + "id": 113, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks-ext.js", + "name": "./node_modules/core-js/library/modules/_wks-ext.js", + "index": 103, + "index2": 97, + "size": 30, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/iterator.js", + "issuerId": 338, + "issuerName": "./node_modules/core-js/library/fn/symbol/iterator.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 114, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks-define.js", + "module": "./node_modules/core-js/library/modules/_wks-define.js", + "moduleName": "./node_modules/core-js/library/modules/_wks-define.js", + "type": "cjs require", + "userRequest": "./_wks-ext", + "loc": "4:13-34" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_wks-ext", + "loc": "15:13-34" + }, + { + "moduleId": 338, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/iterator.js", + "module": "./node_modules/core-js/library/fn/symbol/iterator.js", + "moduleName": "./node_modules/core-js/library/fn/symbol/iterator.js", + "type": "cjs require", + "userRequest": "../../modules/_wks-ext", + "loc": "3:17-50" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "exports.f = require('./_wks');" + }, + { + "id": 114, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks-define.js", + "name": "./node_modules/core-js/library/modules/_wks-define.js", + "index": 104, + "index2": 99, + "size": 416, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_wks-define", + "loc": "16:16-40" + }, + { + "moduleId": 335, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es7.symbol.async-iterator.js", + "module": "./node_modules/core-js/library/modules/es7.symbol.async-iterator.js", + "moduleName": "./node_modules/core-js/library/modules/es7.symbol.async-iterator.js", + "type": "cjs require", + "userRequest": "./_wks-define", + "loc": "1:0-24" + }, + { + "moduleId": 336, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es7.symbol.observable.js", + "module": "./node_modules/core-js/library/modules/es7.symbol.observable.js", + "moduleName": "./node_modules/core-js/library/modules/es7.symbol.observable.js", + "type": "cjs require", + "userRequest": "./_wks-define", + "loc": "1:0-24" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};" + }, + { + "id": 115, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_library.js", + "name": "./node_modules/core-js/library/modules/_library.js", + "index": 105, + "index2": 98, + "size": 22, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 114, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_wks-define.js", + "module": "./node_modules/core-js/library/modules/_wks-define.js", + "moduleName": "./node_modules/core-js/library/modules/_wks-define.js", + "type": "cjs require", + "userRequest": "./_library", + "loc": "3:14-35" + }, + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_library", + "loc": "156:22-43" + }, + { + "moduleId": 187, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "module": "./node_modules/core-js/library/modules/_iter-define.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-define.js", + "type": "cjs require", + "userRequest": "./_library", + "loc": "3:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "module.exports = true;" + }, + { + "id": 116, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_defined.js", + "name": "./node_modules/core-js/library/modules/_defined.js", + "index": 112, + "index2": 102, + "size": 161, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-iobject.js", + "issuerId": 50, + "issuerName": "./node_modules/core-js/library/modules/_to-iobject.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 50, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-iobject.js", + "module": "./node_modules/core-js/library/modules/_to-iobject.js", + "moduleName": "./node_modules/core-js/library/modules/_to-iobject.js", + "type": "cjs require", + "userRequest": "./_defined", + "loc": "3:14-35" + }, + { + "moduleId": 104, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-object.js", + "module": "./node_modules/core-js/library/modules/_to-object.js", + "moduleName": "./node_modules/core-js/library/modules/_to-object.js", + "type": "cjs require", + "userRequest": "./_defined", + "loc": "2:14-35" + }, + { + "moduleId": 340, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_string-at.js", + "module": "./node_modules/core-js/library/modules/_string-at.js", + "moduleName": "./node_modules/core-js/library/modules/_string-at.js", + "type": "cjs require", + "userRequest": "./_defined", + "loc": "2:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};" + }, + { + "id": 117, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-integer.js", + "name": "./node_modules/core-js/library/modules/_to-integer.js", + "index": 115, + "index2": 104, + "size": 160, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_string-at.js", + "issuerId": 340, + "issuerName": "./node_modules/core-js/library/modules/_string-at.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 327, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-length.js", + "module": "./node_modules/core-js/library/modules/_to-length.js", + "moduleName": "./node_modules/core-js/library/modules/_to-length.js", + "type": "cjs require", + "userRequest": "./_to-integer", + "loc": "2:16-40" + }, + { + "moduleId": 328, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-absolute-index.js", + "module": "./node_modules/core-js/library/modules/_to-absolute-index.js", + "moduleName": "./node_modules/core-js/library/modules/_to-absolute-index.js", + "type": "cjs require", + "userRequest": "./_to-integer", + "loc": "1:16-40" + }, + { + "moduleId": 340, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_string-at.js", + "module": "./node_modules/core-js/library/modules/_string-at.js", + "moduleName": "./node_modules/core-js/library/modules/_string-at.js", + "type": "cjs require", + "userRequest": "./_to-integer", + "loc": "1:16-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};" + }, + { + "id": 118, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_shared-key.js", + "name": "./node_modules/core-js/library/modules/_shared-key.js", + "index": 117, + "index2": 108, + "size": 158, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "issuerId": 121, + "issuerName": "./node_modules/core-js/library/modules/_object-create.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 121, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "module": "./node_modules/core-js/library/modules/_object-create.js", + "moduleName": "./node_modules/core-js/library/modules/_object-create.js", + "type": "cjs require", + "userRequest": "./_shared-key", + "loc": "5:15-39" + }, + { + "moduleId": 181, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys-internal.js", + "module": "./node_modules/core-js/library/modules/_object-keys-internal.js", + "moduleName": "./node_modules/core-js/library/modules/_object-keys-internal.js", + "type": "cjs require", + "userRequest": "./_shared-key", + "loc": "4:15-39" + }, + { + "moduleId": 188, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gpo.js", + "module": "./node_modules/core-js/library/modules/_object-gpo.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gpo.js", + "type": "cjs require", + "userRequest": "./_shared-key", + "loc": "4:15-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};" + }, + { + "id": 119, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_enum-bug-keys.js", + "name": "./node_modules/core-js/library/modules/_enum-bug-keys.js", + "index": 118, + "index2": 110, + "size": 153, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys.js", + "issuerId": 70, + "issuerName": "./node_modules/core-js/library/modules/_object-keys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 70, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys.js", + "module": "./node_modules/core-js/library/modules/_object-keys.js", + "moduleName": "./node_modules/core-js/library/modules/_object-keys.js", + "type": "cjs require", + "userRequest": "./_enum-bug-keys", + "loc": "3:18-45" + }, + { + "moduleId": 121, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "module": "./node_modules/core-js/library/modules/_object-create.js", + "moduleName": "./node_modules/core-js/library/modules/_object-create.js", + "type": "cjs require", + "userRequest": "./_enum-bug-keys", + "loc": "4:18-45" + }, + { + "moduleId": 184, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopn.js", + "module": "./node_modules/core-js/library/modules/_object-gopn.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopn.js", + "type": "cjs require", + "userRequest": "./_enum-bug-keys", + "loc": "3:17-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// IE 8- don't enum bug keys\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');" + }, + { + "id": 120, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gops.js", + "name": "./node_modules/core-js/library/modules/_object-gops.js", + "index": 119, + "index2": 112, + "size": 41, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_object-gops", + "loc": "154:2-27" + }, + { + "moduleId": 325, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_enum-keys.js", + "module": "./node_modules/core-js/library/modules/_enum-keys.js", + "moduleName": "./node_modules/core-js/library/modules/_enum-keys.js", + "type": "cjs require", + "userRequest": "./_object-gops", + "loc": "3:11-36" + }, + { + "moduleId": 463, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-assign.js", + "module": "./node_modules/core-js/library/modules/_object-assign.js", + "moduleName": "./node_modules/core-js/library/modules/_object-assign.js", + "type": "cjs require", + "userRequest": "./_object-gops", + "loc": "5:11-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "exports.f = Object.getOwnPropertySymbols;" + }, + { + "id": 121, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "name": "./node_modules/core-js/library/modules/_object-create.js", + "index": 122, + "index2": 118, + "size": 1502, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.create.js", + "issuerId": 352, + "issuerName": "./node_modules/core-js/library/modules/es6.object.create.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_object-create", + "loc": "23:14-41" + }, + { + "moduleId": 341, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-create.js", + "module": "./node_modules/core-js/library/modules/_iter-create.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-create.js", + "type": "cjs require", + "userRequest": "./_object-create", + "loc": "3:13-40" + }, + { + "moduleId": 352, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.create.js", + "module": "./node_modules/core-js/library/modules/es6.object.create.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.create.js", + "type": "cjs require", + "userRequest": "./_object-create", + "loc": "3:39-66" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () {/* empty */};\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};" + }, + { + "id": 122, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iterators.js", + "name": "./node_modules/core-js/library/modules/_iterators.js", + "index": 141, + "index2": 133, + "size": 20, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/web.dom.iterable.js", + "issuerId": 342, + "issuerName": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 187, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "module": "./node_modules/core-js/library/modules/_iter-define.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-define.js", + "type": "cjs require", + "userRequest": "./_iterators", + "loc": "8:16-39" + }, + { + "moduleId": 342, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/web.dom.iterable.js", + "module": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "moduleName": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "type": "cjs require", + "userRequest": "./_iterators", + "loc": "4:16-39" + }, + { + "moduleId": 343, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.array.iterator.js", + "module": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "moduleName": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "type": "cjs require", + "userRequest": "./_iterators", + "loc": "5:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "module.exports = {};" + }, + { + "id": 123, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/emptyObject.js", + "name": "./node_modules/fbjs/lib/emptyObject.js", + "index": 159, + "index2": 155, + "size": 332, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/cjs/react.production.min.js", + "issuerId": 353, + "issuerName": "./node_modules/react/cjs/react.production.min.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 353, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/cjs/react.production.min.js", + "module": "./node_modules/react/cjs/react.production.min.js", + "moduleName": "./node_modules/react/cjs/react.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/emptyObject", + "loc": "12:8-39" + }, + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/emptyObject", + "loc": "16:9-40" + }, + { + "moduleId": 524, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/create-react-class/factory.js", + "module": "./node_modules/create-react-class/factory.js", + "moduleName": "./node_modules/create-react-class/factory.js", + "type": "cjs require", + "userRequest": "fbjs/lib/emptyObject", + "loc": "13:18-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;" + }, + { + "id": 124, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/utils/warning.js", + "name": "./node_modules/react-redux/es/utils/warning.js", + "index": 168, + "index2": 164, + "size": 637, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/Provider.js", + "issuerId": 354, + "issuerName": "./node_modules/react-redux/es/components/Provider.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 198, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/utils/verifyPlainObject.js", + "module": "./node_modules/react-redux/es/utils/verifyPlainObject.js", + "moduleName": "./node_modules/react-redux/es/utils/verifyPlainObject.js", + "type": "harmony import", + "userRequest": "./warning", + "loc": "2:0-32" + }, + { + "moduleId": 354, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/Provider.js", + "module": "./node_modules/react-redux/es/components/Provider.js", + "moduleName": "./node_modules/react-redux/es/components/Provider.js", + "type": "harmony import", + "userRequest": "../utils/warning", + "loc": "22:0-39" + }, + { + "moduleId": 378, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/verifySubselectors.js", + "module": "./node_modules/react-redux/es/connect/verifySubselectors.js", + "moduleName": "./node_modules/react-redux/es/connect/verifySubselectors.js", + "type": "harmony import", + "userRequest": "../utils/warning", + "loc": "1:0-39" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}" + }, + { + "id": 125, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/isPlainObject.js", + "name": "./node_modules/lodash-es/isPlainObject.js", + "index": 178, + "index2": 180, + "size": 1643, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/combineReducers.js", + "issuerId": 372, + "issuerName": "./node_modules/redux/es/combineReducers.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 193, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/createStore.js", + "module": "./node_modules/redux/es/createStore.js", + "moduleName": "./node_modules/redux/es/createStore.js", + "type": "harmony import", + "userRequest": "lodash-es/isPlainObject", + "loc": "1:0-52" + }, + { + "moduleId": 198, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/utils/verifyPlainObject.js", + "module": "./node_modules/react-redux/es/utils/verifyPlainObject.js", + "moduleName": "./node_modules/react-redux/es/utils/verifyPlainObject.js", + "type": "harmony import", + "userRequest": "lodash-es/isPlainObject", + "loc": "1:0-52" + }, + { + "moduleId": 372, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/combineReducers.js", + "module": "./node_modules/redux/es/combineReducers.js", + "moduleName": "./node_modules/redux/es/combineReducers.js", + "type": "harmony import", + "userRequest": "lodash-es/isPlainObject", + "loc": "2:0-52" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;" + }, + { + "id": 126, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "name": "./app/javascript/mastodon/store/configureStore.js", + "index": 203, + "index2": 342, + "size": 624, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "../store/configureStore", + "loc": "8:0-53" + }, + { + "moduleId": 320, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/timeline_container.js", + "module": "./app/javascript/mastodon/containers/timeline_container.js", + "moduleName": "./app/javascript/mastodon/containers/timeline_container.js", + "type": "harmony import", + "userRequest": "../store/configureStore", + "loc": "8:0-53" + }, + { + "moduleId": 657, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/compose_container.js", + "module": "./app/javascript/mastodon/containers/compose_container.js", + "moduleName": "./app/javascript/mastodon/containers/compose_container.js", + "type": "harmony import", + "userRequest": "../store/configureStore", + "loc": "8:0-53" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 2, + "source": "import { createStore, applyMiddleware, compose } from 'redux';\nimport thunk from 'redux-thunk';\nimport appReducer from '../reducers';\nimport loadingBarMiddleware from '../middleware/loading_bar';\nimport errorsMiddleware from '../middleware/errors';\nimport soundsMiddleware from '../middleware/sounds';\n\nexport default function configureStore() {\n return createStore(appReducer, compose(applyMiddleware(thunk, loadingBarMiddleware({ promiseTypeSuffixes: ['REQUEST', 'SUCCESS', 'FAIL'] }), errorsMiddleware(), soundsMiddleware()), window.devToolsExtension ? window.devToolsExtension() : function (f) {\n return f;\n }));\n};" + }, + { + "id": 127, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/defaults.js", + "name": "./node_modules/axios/lib/defaults.js", + "index": 222, + "index2": 223, + "size": 2278, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "issuerId": 387, + "issuerName": "./node_modules/axios/lib/axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 387, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "module": "./node_modules/axios/lib/axios.js", + "moduleName": "./node_modules/axios/lib/axios.js", + "type": "cjs require", + "userRequest": "./defaults", + "loc": "6:15-36" + }, + { + "moduleId": 389, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "module": "./node_modules/axios/lib/core/Axios.js", + "moduleName": "./node_modules/axios/lib/core/Axios.js", + "type": "cjs require", + "userRequest": "./../defaults", + "loc": "3:15-39" + }, + { + "moduleId": 399, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/dispatchRequest.js", + "module": "./node_modules/axios/lib/core/dispatchRequest.js", + "moduleName": "./node_modules/axios/lib/core/dispatchRequest.js", + "type": "cjs require", + "userRequest": "../defaults", + "loc": "6:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {/* Ignore */}\n }\n return data;\n }],\n\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;" + }, + { + "id": 128, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/alerts.js", + "name": "./app/javascript/mastodon/actions/alerts.js", + "index": 253, + "index2": 248, + "size": 419, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/middleware/errors.js", + "issuerId": 458, + "issuerName": "./app/javascript/mastodon/middleware/errors.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 251, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/notifications_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "type": "harmony import", + "userRequest": "../../../actions/alerts", + "loc": "3:0-55" + }, + { + "moduleId": 411, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/alerts.js", + "module": "./app/javascript/mastodon/reducers/alerts.js", + "moduleName": "./app/javascript/mastodon/reducers/alerts.js", + "type": "harmony import", + "userRequest": "../actions/alerts", + "loc": "1:0-75" + }, + { + "moduleId": 458, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/middleware/errors.js", + "module": "./app/javascript/mastodon/middleware/errors.js", + "moduleName": "./app/javascript/mastodon/middleware/errors.js", + "type": "harmony import", + "userRequest": "../actions/alerts", + "loc": "1:0-46" + } + ], + "usedExports": [ + "ALERT_CLEAR", + "ALERT_DISMISS", + "ALERT_SHOW", + "dismissAlert", + "showAlert" + ], + "providedExports": [ + "ALERT_SHOW", + "ALERT_DISMISS", + "ALERT_CLEAR", + "dismissAlert", + "clearAlert", + "showAlert" + ], + "optimizationBailout": [], + "depth": 4, + "source": "export var ALERT_SHOW = 'ALERT_SHOW';\nexport var ALERT_DISMISS = 'ALERT_DISMISS';\nexport var ALERT_CLEAR = 'ALERT_CLEAR';\n\nexport function dismissAlert(alert) {\n return {\n type: ALERT_DISMISS,\n alert: alert\n };\n};\n\nexport function clearAlert() {\n return {\n type: ALERT_CLEAR\n };\n};\n\nexport function showAlert(title, message) {\n return {\n type: ALERT_SHOW,\n title: title,\n message: message\n };\n};" + }, + { + "id": 129, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/index.js", + "name": "./node_modules/react-redux-loading-bar/build/index.js", + "index": 254, + "index2": 254, + "size": 1209, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/middleware/loading_bar.js", + "issuerId": 457, + "issuerName": "./app/javascript/mastodon/middleware/loading_bar.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 254, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/loading_bar_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/loading_bar_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/loading_bar_container.js", + "type": "harmony import", + "userRequest": "react-redux-loading-bar", + "loc": "2:0-49" + }, + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "react-redux-loading-bar", + "loc": "5:0-60" + }, + { + "moduleId": 457, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/middleware/loading_bar.js", + "module": "./app/javascript/mastodon/middleware/loading_bar.js", + "moduleName": "./app/javascript/mastodon/middleware/loading_bar.js", + "type": "harmony import", + "userRequest": "react-redux-loading-bar", + "loc": "1:0-67" + } + ], + "usedExports": [ + "default", + "hideLoading", + "loadingBarReducer", + "showLoading" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.showLoading = exports.resetLoading = exports.loadingBarReducer = exports.loadingBarMiddleware = exports.LoadingBar = exports.ImmutableLoadingBar = exports.hideLoading = undefined;\n\nvar _loading_bar = require('./loading_bar');\n\nvar _loading_bar2 = _interopRequireDefault(_loading_bar);\n\nvar _loading_bar_middleware = require('./loading_bar_middleware');\n\nvar _loading_bar_middleware2 = _interopRequireDefault(_loading_bar_middleware);\n\nvar _loading_bar_ducks = require('./loading_bar_ducks');\n\nvar _immutable = require('./immutable');\n\nvar _immutable2 = _interopRequireDefault(_immutable);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.hideLoading = _loading_bar_ducks.hideLoading;\nexports.ImmutableLoadingBar = _immutable2.default;\nexports.LoadingBar = _loading_bar.LoadingBar;\nexports.loadingBarMiddleware = _loading_bar_middleware2.default;\nexports.loadingBarReducer = _loading_bar_ducks.loadingBarReducer;\nexports.resetLoading = _loading_bar_ducks.resetLoading;\nexports.showLoading = _loading_bar_ducks.showLoading;\nexports.default = _loading_bar2.default;" + }, + { + "id": 130, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Symbol.js", + "name": "./node_modules/lodash/_Symbol.js", + "index": 276, + "index2": 265, + "size": 117, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetTag.js", + "issuerId": 51, + "issuerName": "./node_modules/lodash/_baseGetTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 51, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetTag.js", + "module": "./node_modules/lodash/_baseGetTag.js", + "moduleName": "./node_modules/lodash/_baseGetTag.js", + "type": "cjs require", + "userRequest": "./_Symbol", + "loc": "1:13-33" + }, + { + "moduleId": 420, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getRawTag.js", + "module": "./node_modules/lodash/_getRawTag.js", + "moduleName": "./node_modules/lodash/_getRawTag.js", + "type": "cjs require", + "userRequest": "./_Symbol", + "loc": "1:13-33" + }, + { + "moduleId": 581, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalByTag.js", + "module": "./node_modules/lodash/_equalByTag.js", + "moduleName": "./node_modules/lodash/_equalByTag.js", + "type": "cjs require", + "userRequest": "./_Symbol", + "loc": "1:13-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;" + }, + { + "id": 131, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/relative_timestamp.js", + "name": "./app/javascript/mastodon/components/relative_timestamp.js", + "index": 360, + "index2": 353, + "size": 5237, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "issuerId": 153, + "issuerName": "./app/javascript/mastodon/components/status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "./relative_timestamp", + "loc": "16:0-53" + }, + { + "moduleId": 635, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "type": "harmony import", + "userRequest": "../../../components/relative_timestamp", + "loc": "14:0-71" + }, + { + "moduleId": 640, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "type": "harmony import", + "userRequest": "../../../components/relative_timestamp", + "loc": "15:0-71" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\nimport { injectIntl, defineMessages } from 'react-intl';\n\n\nvar messages = defineMessages({\n just_now: {\n 'id': 'relative_time.just_now',\n 'defaultMessage': 'now'\n },\n seconds: {\n 'id': 'relative_time.seconds',\n 'defaultMessage': '{number}s'\n },\n minutes: {\n 'id': 'relative_time.minutes',\n 'defaultMessage': '{number}m'\n },\n hours: {\n 'id': 'relative_time.hours',\n 'defaultMessage': '{number}h'\n },\n days: {\n 'id': 'relative_time.days',\n 'defaultMessage': '{number}d'\n }\n});\n\nvar dateFormatOptions = {\n hour12: false,\n year: 'numeric',\n month: 'short',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit'\n};\n\nvar shortDateFormatOptions = {\n month: 'numeric',\n day: 'numeric'\n};\n\nvar SECOND = 1000;\nvar MINUTE = 1000 * 60;\nvar HOUR = 1000 * 60 * 60;\nvar DAY = 1000 * 60 * 60 * 24;\n\nvar MAX_DELAY = 2147483647;\n\nvar selectUnits = function selectUnits(delta) {\n var absDelta = Math.abs(delta);\n\n if (absDelta < MINUTE) {\n return 'second';\n } else if (absDelta < HOUR) {\n return 'minute';\n } else if (absDelta < DAY) {\n return 'hour';\n }\n\n return 'day';\n};\n\nvar getUnitDelay = function getUnitDelay(units) {\n switch (units) {\n case 'second':\n return SECOND;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n case 'day':\n return DAY;\n default:\n return MAX_DELAY;\n }\n};\n\nvar RelativeTimestamp = injectIntl(_class = function (_React$Component) {\n _inherits(RelativeTimestamp, _React$Component);\n\n function RelativeTimestamp() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, RelativeTimestamp);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n now: _this.props.intl.now()\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n RelativeTimestamp.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n // As of right now the locale doesn't change without a new page load,\n // but we might as well check in case that ever changes.\n return this.props.timestamp !== nextProps.timestamp || this.props.intl.locale !== nextProps.intl.locale || this.state.now !== nextState.now;\n };\n\n RelativeTimestamp.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.timestamp !== nextProps.timestamp) {\n this.setState({ now: this.props.intl.now() });\n }\n };\n\n RelativeTimestamp.prototype.componentDidMount = function componentDidMount() {\n this._scheduleNextUpdate(this.props, this.state);\n };\n\n RelativeTimestamp.prototype.componentWillUpdate = function componentWillUpdate(nextProps, nextState) {\n this._scheduleNextUpdate(nextProps, nextState);\n };\n\n RelativeTimestamp.prototype.componentWillUnmount = function componentWillUnmount() {\n clearTimeout(this._timer);\n };\n\n RelativeTimestamp.prototype._scheduleNextUpdate = function _scheduleNextUpdate(props, state) {\n var _this2 = this;\n\n clearTimeout(this._timer);\n\n var timestamp = props.timestamp;\n\n var delta = new Date(timestamp).getTime() - state.now;\n var unitDelay = getUnitDelay(selectUnits(delta));\n var unitRemainder = Math.abs(delta % unitDelay);\n var updateInterval = 1000 * 10;\n var delay = delta < 0 ? Math.max(updateInterval, unitDelay - unitRemainder) : Math.max(updateInterval, unitRemainder);\n\n this._timer = setTimeout(function () {\n _this2.setState({ now: _this2.props.intl.now() });\n }, delay);\n };\n\n RelativeTimestamp.prototype.render = function render() {\n var _props = this.props,\n timestamp = _props.timestamp,\n intl = _props.intl;\n\n\n var date = new Date(timestamp);\n var delta = this.state.now - date.getTime();\n\n var relativeTime = void 0;\n\n if (delta < 10 * SECOND) {\n relativeTime = intl.formatMessage(messages.just_now);\n } else if (delta < 3 * DAY) {\n if (delta < MINUTE) {\n relativeTime = intl.formatMessage(messages.seconds, { number: Math.floor(delta / SECOND) });\n } else if (delta < HOUR) {\n relativeTime = intl.formatMessage(messages.minutes, { number: Math.floor(delta / MINUTE) });\n } else if (delta < DAY) {\n relativeTime = intl.formatMessage(messages.hours, { number: Math.floor(delta / HOUR) });\n } else {\n relativeTime = intl.formatMessage(messages.days, { number: Math.floor(delta / DAY) });\n }\n } else {\n relativeTime = intl.formatDate(date, shortDateFormatOptions);\n }\n\n return _jsx('time', {\n dateTime: timestamp,\n title: intl.formatDate(date, dateFormatOptions)\n }, void 0, relativeTime);\n };\n\n return RelativeTimestamp;\n}(React.Component)) || _class;\n\nexport { RelativeTimestamp as default };" + }, + { + "id": 132, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types-extra/lib/componentOrElement.js", + "name": "./node_modules/prop-types-extra/lib/componentOrElement.js", + "index": 386, + "index2": 374, + "size": 1677, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Portal.js", + "issuerId": 477, + "issuerName": "./node_modules/react-overlays/lib/Portal.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 477, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Portal.js", + "module": "./node_modules/react-overlays/lib/Portal.js", + "moduleName": "./node_modules/react-overlays/lib/Portal.js", + "type": "cjs require", + "userRequest": "prop-types-extra/lib/componentOrElement", + "loc": "9:26-76" + }, + { + "moduleId": 487, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/LegacyPortal.js", + "module": "./node_modules/react-overlays/lib/LegacyPortal.js", + "moduleName": "./node_modules/react-overlays/lib/LegacyPortal.js", + "type": "cjs require", + "userRequest": "prop-types-extra/lib/componentOrElement", + "loc": "9:26-76" + }, + { + "moduleId": 488, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "module": "./node_modules/react-overlays/lib/Position.js", + "moduleName": "./node_modules/react-overlays/lib/Position.js", + "type": "cjs require", + "userRequest": "prop-types-extra/lib/componentOrElement", + "loc": "23:26-76" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);\n\n if (_react2.default.isValidElement(propValue)) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');\n }\n\n if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');\n }\n\n return null;\n}\n\nexports.default = (0, _createChainableTypeChecker2.default)(validate);\nmodule.exports = exports['default'];" + }, + { + "id": 133, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/getContainer.js", + "name": "./node_modules/react-overlays/lib/utils/getContainer.js", + "index": 397, + "index2": 385, + "size": 502, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "issuerId": 488, + "issuerName": "./node_modules/react-overlays/lib/Position.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 477, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Portal.js", + "module": "./node_modules/react-overlays/lib/Portal.js", + "moduleName": "./node_modules/react-overlays/lib/Portal.js", + "type": "cjs require", + "userRequest": "./utils/getContainer", + "loc": "21:20-51" + }, + { + "moduleId": 487, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/LegacyPortal.js", + "module": "./node_modules/react-overlays/lib/LegacyPortal.js", + "moduleName": "./node_modules/react-overlays/lib/LegacyPortal.js", + "type": "cjs require", + "userRequest": "./utils/getContainer", + "loc": "21:20-51" + }, + { + "moduleId": 488, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "module": "./node_modules/react-overlays/lib/Position.js", + "moduleName": "./node_modules/react-overlays/lib/Position.js", + "type": "cjs require", + "userRequest": "./utils/getContainer", + "loc": "39:20-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nexports.__esModule = true;\nexports.default = getContainer;\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom2.default.findDOMNode(container) || defaultContainer;\n}\nmodule.exports = exports['default'];" + }, + { + "id": 134, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/ownerDocument.js", + "name": "./node_modules/dom-helpers/ownerDocument.js", + "index": 399, + "index2": 386, + "size": 231, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/ownerDocument.js", + "issuerId": 65, + "issuerName": "./node_modules/react-overlays/lib/utils/ownerDocument.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 65, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/ownerDocument.js", + "module": "./node_modules/react-overlays/lib/utils/ownerDocument.js", + "moduleName": "./node_modules/react-overlays/lib/utils/ownerDocument.js", + "type": "cjs require", + "userRequest": "dom-helpers/ownerDocument", + "loc": "13:21-57" + }, + { + "moduleId": 219, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/offset.js", + "module": "./node_modules/dom-helpers/query/offset.js", + "moduleName": "./node_modules/dom-helpers/query/offset.js", + "type": "cjs require", + "userRequest": "../ownerDocument", + "loc": "16:21-48" + }, + { + "moduleId": 491, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/offsetParent.js", + "module": "./node_modules/dom-helpers/query/offsetParent.js", + "moduleName": "./node_modules/dom-helpers/query/offsetParent.js", + "type": "cjs require", + "userRequest": "../ownerDocument", + "loc": "8:21-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ownerDocument;\nfunction ownerDocument(node) {\n return node && node.ownerDocument || document;\n}\nmodule.exports = exports[\"default\"];" + }, + { + "id": 135, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/isWindow.js", + "name": "./node_modules/dom-helpers/query/isWindow.js", + "index": 406, + "index2": 392, + "size": 282, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/scrollTop.js", + "issuerId": 136, + "issuerName": "./node_modules/dom-helpers/query/scrollTop.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 136, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/scrollTop.js", + "module": "./node_modules/dom-helpers/query/scrollTop.js", + "moduleName": "./node_modules/dom-helpers/query/scrollTop.js", + "type": "cjs require", + "userRequest": "./isWindow", + "loc": "8:16-37" + }, + { + "moduleId": 219, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/offset.js", + "module": "./node_modules/dom-helpers/query/offset.js", + "moduleName": "./node_modules/dom-helpers/query/offset.js", + "type": "cjs require", + "userRequest": "./isWindow", + "loc": "12:16-37" + }, + { + "moduleId": 224, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/scrollLeft.js", + "module": "./node_modules/dom-helpers/query/scrollLeft.js", + "moduleName": "./node_modules/dom-helpers/query/scrollLeft.js", + "type": "cjs require", + "userRequest": "./isWindow", + "loc": "8:16-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getWindow;\nfunction getWindow(node) {\n return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;\n}\nmodule.exports = exports[\"default\"];" + }, + { + "id": 136, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/scrollTop.js", + "name": "./node_modules/dom-helpers/query/scrollTop.js", + "index": 418, + "index2": 404, + "size": 691, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "issuerId": 607, + "issuerName": "./node_modules/scroll-behavior/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 489, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/calculatePosition.js", + "module": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "moduleName": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "type": "cjs require", + "userRequest": "dom-helpers/query/scrollTop", + "loc": "14:17-55" + }, + { + "moduleId": 490, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/position.js", + "module": "./node_modules/dom-helpers/query/position.js", + "moduleName": "./node_modules/dom-helpers/query/position.js", + "type": "cjs require", + "userRequest": "./scrollTop", + "loc": "27:17-39" + }, + { + "moduleId": 607, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "module": "./node_modules/scroll-behavior/lib/index.js", + "moduleName": "./node_modules/scroll-behavior/lib/index.js", + "type": "cjs require", + "userRequest": "dom-helpers/query/scrollTop", + "loc": "17:17-55" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scrollTop;\n\nvar _isWindow = require('./isWindow');\n\nvar _isWindow2 = _interopRequireDefault(_isWindow);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction scrollTop(node, val) {\n var win = (0, _isWindow2.default)(node);\n\n if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;\n\n if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;\n}\nmodule.exports = exports['default'];" + }, + { + "id": 137, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/events/on.js", + "name": "./node_modules/dom-helpers/events/on.js", + "index": 422, + "index2": 409, + "size": 871, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "issuerId": 607, + "issuerName": "./node_modules/scroll-behavior/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 499, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/addEventListener.js", + "module": "./node_modules/react-overlays/lib/utils/addEventListener.js", + "moduleName": "./node_modules/react-overlays/lib/utils/addEventListener.js", + "type": "cjs require", + "userRequest": "dom-helpers/events/on", + "loc": "15:10-42" + }, + { + "moduleId": 607, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "module": "./node_modules/scroll-behavior/lib/index.js", + "moduleName": "./node_modules/scroll-behavior/lib/index.js", + "type": "cjs require", + "userRequest": "dom-helpers/events/on", + "loc": "9:10-42" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "dom-helpers/events/on", + "loc": "58:10-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inDOM = require('../util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nvar on = function on() {};\nif (_inDOM2.default) {\n on = function () {\n\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.addEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.attachEvent('on' + eventName, function (e) {\n e = e || window.event;\n e.target = e.target || e.srcElement;\n e.currentTarget = node;\n handler.call(node, e);\n });\n };\n }();\n}\n\nexports.default = on;\nmodule.exports = exports['default'];" + }, + { + "id": 138, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/events/off.js", + "name": "./node_modules/dom-helpers/events/off.js", + "index": 423, + "index2": 410, + "size": 723, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "issuerId": 607, + "issuerName": "./node_modules/scroll-behavior/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 499, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/addEventListener.js", + "module": "./node_modules/react-overlays/lib/utils/addEventListener.js", + "moduleName": "./node_modules/react-overlays/lib/utils/addEventListener.js", + "type": "cjs require", + "userRequest": "dom-helpers/events/off", + "loc": "19:11-44" + }, + { + "moduleId": 607, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "module": "./node_modules/scroll-behavior/lib/index.js", + "moduleName": "./node_modules/scroll-behavior/lib/index.js", + "type": "cjs require", + "userRequest": "dom-helpers/events/off", + "loc": "5:11-44" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "dom-helpers/events/off", + "loc": "62:11-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inDOM = require('../util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nvar off = function off() {};\nif (_inDOM2.default) {\n off = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.removeEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.detachEvent('on' + eventName, handler);\n };\n }();\n}\n\nexports.default = off;\nmodule.exports = exports['default'];" + }, + { + "id": 139, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createTransitionManager.js", + "name": "./node_modules/history/es/createTransitionManager.js", + "index": 502, + "index2": 490, + "size": 2133, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "issuerId": 227, + "issuerName": "./node_modules/history/es/createHashHistory.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 225, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createBrowserHistory.js", + "module": "./node_modules/history/es/createBrowserHistory.js", + "moduleName": "./node_modules/history/es/createBrowserHistory.js", + "type": "harmony import", + "userRequest": "./createTransitionManager", + "loc": "21:0-64" + }, + { + "moduleId": 227, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "module": "./node_modules/history/es/createHashHistory.js", + "moduleName": "./node_modules/history/es/createHashHistory.js", + "type": "harmony import", + "userRequest": "./createTransitionManager", + "loc": "15:0-64" + }, + { + "moduleId": 229, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createMemoryHistory.js", + "module": "./node_modules/history/es/createMemoryHistory.js", + "moduleName": "./node_modules/history/es/createMemoryHistory.js", + "type": "harmony import", + "userRequest": "./createTransitionManager", + "loc": "20:0-64" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import warning from 'warning';\n\nvar createTransitionManager = function createTransitionManager() {\n var prompt = null;\n\n var setPrompt = function setPrompt(nextPrompt) {\n warning(prompt == null, 'A history supports only one prompt at a time');\n\n prompt = nextPrompt;\n\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message');\n\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n };\n\n var listeners = [];\n\n var appendListener = function appendListener(fn) {\n var isActive = true;\n\n var listener = function listener() {\n if (isActive) fn.apply(undefined, arguments);\n };\n\n listeners.push(listener);\n\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var notifyListeners = function notifyListeners() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(undefined, args);\n });\n };\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n};\n\nexport default createTransitionManager;" + }, + { + "id": 140, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Router.js", + "name": "./node_modules/react-router-dom/es/Router.js", + "index": 504, + "index2": 494, + "size": 131, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./Router", + "loc": "17:0-31" + }, + { + "moduleId": 501, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/BrowserRouter.js", + "module": "./node_modules/react-router-dom/es/BrowserRouter.js", + "moduleName": "./node_modules/react-router-dom/es/BrowserRouter.js", + "type": "harmony import", + "userRequest": "./Router", + "loc": "23:0-30" + }, + { + "moduleId": 504, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/HashRouter.js", + "module": "./node_modules/react-router-dom/es/HashRouter.js", + "moduleName": "./node_modules/react-router-dom/es/HashRouter.js", + "type": "harmony import", + "userRequest": "./Router", + "loc": "23:0-30" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "// Written in this round about way for babel-transform-imports\nimport Router from 'react-router/es/Router';\n\nexport default Router;" + }, + { + "id": 141, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Router.js", + "name": "./node_modules/react-router/es/Router.js", + "index": 505, + "index2": 493, + "size": 3853, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Router.js", + "issuerId": 140, + "issuerName": "./node_modules/react-router-dom/es/Router.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 140, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Router.js", + "module": "./node_modules/react-router-dom/es/Router.js", + "moduleName": "./node_modules/react-router-dom/es/Router.js", + "type": "harmony import", + "userRequest": "react-router/es/Router", + "loc": "2:0-44" + }, + { + "moduleId": 506, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/MemoryRouter.js", + "module": "./node_modules/react-router/es/MemoryRouter.js", + "moduleName": "./node_modules/react-router/es/MemoryRouter.js", + "type": "harmony import", + "userRequest": "./Router", + "loc": "23:0-30" + }, + { + "moduleId": 516, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/StaticRouter.js", + "module": "./node_modules/react-router/es/StaticRouter.js", + "moduleName": "./node_modules/react-router/es/StaticRouter.js", + "type": "harmony import", + "userRequest": "./Router", + "loc": "40:0-30" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = function (_React$Component) {\n _inherits(Router, _React$Component);\n\n function Router() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Router);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n match: _this.computeMatch(_this.props.history.location.pathname)\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Router.prototype.getChildContext = function getChildContext() {\n return {\n router: _extends({}, this.context.router, {\n history: this.props.history,\n route: {\n location: this.props.history.location,\n match: this.state.match\n }\n })\n };\n };\n\n Router.prototype.computeMatch = function computeMatch(pathname) {\n return {\n path: '/',\n url: '/',\n params: {},\n isExact: pathname === '/'\n };\n };\n\n Router.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n history = _props.history;\n\n invariant(children == null || React.Children.count(children) === 1, 'A may have only one child element');\n\n // Do this here so we can setState when a changes the\n // location in componentWillMount. This happens e.g. when doing\n // server rendering using a .\n this.unlisten = history.listen(function () {\n _this2.setState({\n match: _this2.computeMatch(history.location.pathname)\n });\n });\n };\n\n Router.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n warning(this.props.history === nextProps.history, 'You cannot change ');\n };\n\n Router.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unlisten();\n };\n\n Router.prototype.render = function render() {\n var children = this.props.children;\n\n return children ? React.Children.only(children) : null;\n };\n\n return Router;\n}(React.Component);\n\nRouter.propTypes = {\n history: PropTypes.object.isRequired,\n children: PropTypes.node\n};\nRouter.contextTypes = {\n router: PropTypes.object\n};\nRouter.childContextTypes = {\n router: PropTypes.object.isRequired\n};\n\nexport default Router;" + }, + { + "id": 142, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/matchPath.js", + "name": "./node_modules/react-router/es/matchPath.js", + "index": 515, + "index2": 504, + "size": 2051, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Route.js", + "issuerId": 231, + "issuerName": "./node_modules/react-router/es/Route.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 231, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Route.js", + "module": "./node_modules/react-router/es/Route.js", + "moduleName": "./node_modules/react-router/es/Route.js", + "type": "harmony import", + "userRequest": "./matchPath", + "loc": "33:0-36" + }, + { + "moduleId": 518, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Switch.js", + "module": "./node_modules/react-router/es/Switch.js", + "moduleName": "./node_modules/react-router/es/Switch.js", + "type": "harmony import", + "userRequest": "./matchPath", + "loc": "23:0-36" + }, + { + "moduleId": 519, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/matchPath.js", + "module": "./node_modules/react-router-dom/es/matchPath.js", + "moduleName": "./node_modules/react-router-dom/es/matchPath.js", + "type": "harmony import", + "userRequest": "react-router/es/matchPath", + "loc": "2:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import pathToRegexp from 'path-to-regexp';\n\nvar patternCache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nvar compilePath = function compilePath(pattern, options) {\n var cacheKey = '' + options.end + options.strict + options.sensitive;\n var cache = patternCache[cacheKey] || (patternCache[cacheKey] = {});\n\n if (cache[pattern]) return cache[pattern];\n\n var keys = [];\n var re = pathToRegexp(pattern, keys, options);\n var compiledPattern = { re: re, keys: keys };\n\n if (cacheCount < cacheLimit) {\n cache[pattern] = compiledPattern;\n cacheCount++;\n }\n\n return compiledPattern;\n};\n\n/**\n * Public API for matching a URL pathname to a path pattern.\n */\nvar matchPath = function matchPath(pathname) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (typeof options === 'string') options = { path: options };\n\n var _options = options,\n _options$path = _options.path,\n path = _options$path === undefined ? '/' : _options$path,\n _options$exact = _options.exact,\n exact = _options$exact === undefined ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === undefined ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === undefined ? false : _options$sensitive;\n\n var _compilePath = compilePath(path, { end: exact, strict: strict, sensitive: sensitive }),\n re = _compilePath.re,\n keys = _compilePath.keys;\n\n var match = re.exec(pathname);\n\n if (!match) return null;\n\n var url = match[0],\n values = match.slice(1);\n\n var isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path: path, // the path pattern used to match\n url: path === '/' && url === '' ? '/' : url, // the matched portion of the URL\n isExact: isExact, // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n};\n\nexport default matchPath;" + }, + { + "id": 143, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/identity.js", + "name": "./node_modules/lodash/identity.js", + "index": 563, + "index2": 546, + "size": 369, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_castFunction.js", + "issuerId": 605, + "issuerName": "./node_modules/lodash/_castFunction.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 532, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseRest.js", + "module": "./node_modules/lodash/_baseRest.js", + "moduleName": "./node_modules/lodash/_baseRest.js", + "type": "cjs require", + "userRequest": "./identity", + "loc": "1:15-36" + }, + { + "moduleId": 536, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseSetToString.js", + "module": "./node_modules/lodash/_baseSetToString.js", + "moduleName": "./node_modules/lodash/_baseSetToString.js", + "type": "cjs require", + "userRequest": "./identity", + "loc": "3:15-36" + }, + { + "moduleId": 605, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_castFunction.js", + "module": "./node_modules/lodash/_castFunction.js", + "moduleName": "./node_modules/lodash/_castFunction.js", + "type": "cjs require", + "userRequest": "./identity", + "loc": "1:15-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;" + }, + { + "id": 144, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/keys.js", + "name": "./node_modules/lodash/keys.js", + "index": 575, + "index2": 574, + "size": 883, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "issuerId": 525, + "issuerName": "./node_modules/lodash/assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 525, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "module": "./node_modules/lodash/assign.js", + "moduleName": "./node_modules/lodash/assign.js", + "type": "cjs require", + "userRequest": "./keys", + "loc": "6:11-28" + }, + { + "moduleId": 586, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getAllKeys.js", + "module": "./node_modules/lodash/_getAllKeys.js", + "moduleName": "./node_modules/lodash/_getAllKeys.js", + "type": "cjs require", + "userRequest": "./keys", + "loc": "3:11-28" + }, + { + "moduleId": 601, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseForOwn.js", + "module": "./node_modules/lodash/_baseForOwn.js", + "moduleName": "./node_modules/lodash/_baseForOwn.js", + "type": "cjs require", + "userRequest": "./keys", + "loc": "2:11-28" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;" + }, + { + "id": 145, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Map.js", + "name": "./node_modules/lodash/_Map.js", + "index": 606, + "index2": 587, + "size": 194, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "issuerId": 592, + "issuerName": "./node_modules/lodash/_getTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 563, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_stackSet.js", + "module": "./node_modules/lodash/_stackSet.js", + "moduleName": "./node_modules/lodash/_stackSet.js", + "type": "cjs require", + "userRequest": "./_Map", + "loc": "2:10-27" + }, + { + "moduleId": 564, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheClear.js", + "module": "./node_modules/lodash/_mapCacheClear.js", + "moduleName": "./node_modules/lodash/_mapCacheClear.js", + "type": "cjs require", + "userRequest": "./_Map", + "loc": "3:10-27" + }, + { + "moduleId": 592, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "module": "./node_modules/lodash/_getTag.js", + "moduleName": "./node_modules/lodash/_getTag.js", + "type": "cjs require", + "userRequest": "./_Map", + "loc": "2:10-27" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;" + }, + { + "id": 146, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/rails-ujs/lib/assets/compiled/rails-ujs.js", + "name": "./node_modules/rails-ujs/lib/assets/compiled/rails-ujs.js", + "index": 761, + "index2": 760, + "size": 26077, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/admin.js", + "issuerId": 622, + "issuerName": "./app/javascript/packs/admin.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 622, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/admin.js", + "module": "./app/javascript/packs/admin.js", + "moduleName": "./app/javascript/packs/admin.js", + "type": "harmony import", + "userRequest": "rails-ujs", + "loc": "1:0-37" + }, + { + "moduleId": 649, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/common.js", + "module": "./app/javascript/packs/common.js", + "moduleName": "./app/javascript/packs/common.js", + "type": "harmony import", + "userRequest": "rails-ujs", + "loc": "1:0-34" + }, + { + "moduleId": 652, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/public.js", + "module": "./app/javascript/packs/public.js", + "moduleName": "./app/javascript/packs/public.js", + "type": "cjs require", + "userRequest": "rails-ujs", + "loc": "27:18-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/master/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n\n(function () {\n var context = this;\n\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form',\n formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n\n var Rails = context.Rails;\n\n (function () {\n (function () {\n var expando, m;\n\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches;\n\n matches = Rails.matches;\n\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function (event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n CustomEvent.prototype = window.Event.prototype;\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, fire, prepareOptions, processResponse;\n\n CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var response;\n response = processResponse(xhr.response, xhr.getResponseHeader('Content-Type'));\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n if (typeof options.beforeSend === \"function\") {\n options.beforeSend(xhr, options);\n }\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n } else {\n return fire(document, 'ajaxStop');\n }\n };\n\n prepareOptions = function (options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n options.accept = AcceptHeaders[options.dataType];\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n return options;\n };\n\n createXHR = function (options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n CSRFProtection(xhr);\n xhr.withCredentials = !!options.withCredentials;\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n return xhr;\n };\n\n processResponse = function (response, type) {\n var parser, script;\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n\n matches = Rails.matches;\n\n toArray = function (e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n params = [];\n inputs.forEach(function (input) {\n if (!input.name) {\n return;\n }\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n if (additionalParam) {\n params.push(additionalParam);\n }\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n allowAction = function (element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n if (!message) {\n return true;\n }\n answer = false;\n if (fire(element, 'confirm')) {\n try {\n answer = confirm(message);\n } catch (error) {}\n callback = fire(element, 'confirm:complete', [answer]);\n }\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, matches, setData, stopEverything;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function (element) {\n var replacement;\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function (element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function (form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function (element) {\n var replacement;\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function (form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function (element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n setData(element, 'ujs:enable-with', null);\n }\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n }).call(this);\n (function () {\n var stopEverything;\n\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n if (!method) {\n return;\n }\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function (element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n if (!isRemote(element)) {\n return true;\n }\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function (xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return xhr.abort();\n }\n },\n success: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n if (!form) {\n return;\n }\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.handleMetaClick = function (e) {\n var data, link, metaClick, method;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n if (metaClick && method === 'GET' && !data) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMetaClick, handleMethod, handleRemote, refreshCSRFTokens;\n\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMetaClick = Rails.handleMetaClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null && !jQuery.rails) {\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', handleMetaClick);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if (typeof module === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);" + }, + { + "id": 147, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/bundle_container.js", + "name": "./app/javascript/mastodon/features/ui/containers/bundle_container.js", + "index": 778, + "index2": 772, + "size": 592, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "issuerId": 642, + "issuerName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "../containers/bundle_container", + "loc": "8:0-61" + }, + { + "moduleId": 642, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "module": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/react_router_helpers.js", + "type": "harmony import", + "userRequest": "../containers/bundle_container", + "loc": "13:0-61" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "../containers/bundle_container", + "loc": "17:0-61" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { connect } from 'react-redux';\n\nimport Bundle from '../components/bundle';\n\nimport { fetchBundleRequest, fetchBundleSuccess, fetchBundleFail } from '../../../actions/bundles';\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onFetch: function onFetch() {\n dispatch(fetchBundleRequest());\n },\n onFetchSuccess: function onFetchSuccess() {\n dispatch(fetchBundleSuccess());\n },\n onFetchFail: function onFetchFail(error) {\n dispatch(fetchBundleFail(error));\n }\n };\n};\n\nexport default connect(null, mapDispatchToProps)(Bundle);" + }, + { + "id": 151, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/reports.js", + "name": "./app/javascript/mastodon/actions/reports.js", + "index": 333, + "index2": 328, + "size": 1910, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/reports.js", + "issuerId": 449, + "issuerName": "./app/javascript/mastodon/reducers/reports.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "../actions/reports", + "loc": "10:0-48" + }, + { + "moduleId": 449, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/reports.js", + "module": "./app/javascript/mastodon/reducers/reports.js", + "moduleName": "./app/javascript/mastodon/reducers/reports.js", + "type": "harmony import", + "userRequest": "../actions/reports", + "loc": "1:0-175" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../actions/reports", + "loc": "21:0-51" + }, + { + "moduleId": 773, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/report_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/report_modal.js", + "type": "harmony import", + "userRequest": "../../../actions/reports", + "loc": "10:0-77" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../../../actions/reports", + "loc": "8:0-54" + }, + { + "moduleId": 901, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "module": "./app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "moduleName": "./app/javascript/mastodon/features/report/containers/status_check_box_container.js", + "type": "harmony import", + "userRequest": "../../../actions/reports", + "loc": "3:0-62" + } + ], + "usedExports": [ + "REPORT_CANCEL", + "REPORT_COMMENT_CHANGE", + "REPORT_INIT", + "REPORT_STATUS_TOGGLE", + "REPORT_SUBMIT_FAIL", + "REPORT_SUBMIT_REQUEST", + "REPORT_SUBMIT_SUCCESS", + "changeReportComment", + "initReport", + "submitReport", + "toggleStatusReport" + ], + "providedExports": [ + "REPORT_INIT", + "REPORT_CANCEL", + "REPORT_SUBMIT_REQUEST", + "REPORT_SUBMIT_SUCCESS", + "REPORT_SUBMIT_FAIL", + "REPORT_STATUS_TOGGLE", + "REPORT_COMMENT_CHANGE", + "initReport", + "cancelReport", + "toggleStatusReport", + "submitReport", + "submitReportRequest", + "submitReportSuccess", + "submitReportFail", + "changeReportComment" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import api from '../api';\nimport { openModal, closeModal } from './modal';\n\nexport var REPORT_INIT = 'REPORT_INIT';\nexport var REPORT_CANCEL = 'REPORT_CANCEL';\n\nexport var REPORT_SUBMIT_REQUEST = 'REPORT_SUBMIT_REQUEST';\nexport var REPORT_SUBMIT_SUCCESS = 'REPORT_SUBMIT_SUCCESS';\nexport var REPORT_SUBMIT_FAIL = 'REPORT_SUBMIT_FAIL';\n\nexport var REPORT_STATUS_TOGGLE = 'REPORT_STATUS_TOGGLE';\nexport var REPORT_COMMENT_CHANGE = 'REPORT_COMMENT_CHANGE';\n\nexport function initReport(account, status) {\n return function (dispatch) {\n dispatch({\n type: REPORT_INIT,\n account: account,\n status: status\n });\n\n dispatch(openModal('REPORT'));\n };\n};\n\nexport function cancelReport() {\n return {\n type: REPORT_CANCEL\n };\n};\n\nexport function toggleStatusReport(statusId, checked) {\n return {\n type: REPORT_STATUS_TOGGLE,\n statusId: statusId,\n checked: checked\n };\n};\n\nexport function submitReport() {\n return function (dispatch, getState) {\n dispatch(submitReportRequest());\n\n api(getState).post('/api/v1/reports', {\n account_id: getState().getIn(['reports', 'new', 'account_id']),\n status_ids: getState().getIn(['reports', 'new', 'status_ids']),\n comment: getState().getIn(['reports', 'new', 'comment'])\n }).then(function (response) {\n dispatch(closeModal());\n dispatch(submitReportSuccess(response.data));\n }).catch(function (error) {\n return dispatch(submitReportFail(error));\n });\n };\n};\n\nexport function submitReportRequest() {\n return {\n type: REPORT_SUBMIT_REQUEST\n };\n};\n\nexport function submitReportSuccess(report) {\n return {\n type: REPORT_SUBMIT_SUCCESS,\n report: report\n };\n};\n\nexport function submitReportFail(error) {\n return {\n type: REPORT_SUBMIT_FAIL,\n error: error\n };\n};\n\nexport function changeReportComment(comment) {\n return {\n type: REPORT_COMMENT_CHANGE,\n comment: comment\n };\n};" + }, + { + "id": 152, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "name": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "index": 663, + "index2": 655, + "size": 11053, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "issuerId": 250, + "issuerName": "./app/javascript/mastodon/containers/mastodon.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 250, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/mastodon.js", + "module": "./app/javascript/mastodon/containers/mastodon.js", + "moduleName": "./app/javascript/mastodon/containers/mastodon.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "11:0-54" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "10:0-56" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "23:0-56" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "22:0-56" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "14:0-56" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "14:0-56" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "14:0-56" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "14:0-56" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "13:0-56" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "13:0-56" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "react-router-scroll-4", + "loc": "13:0-56" + } + ], + "usedExports": [ + "ScrollContainer", + "ScrollContext" + ], + "providedExports": [ + "ScrollContainer", + "ScrollContext" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport { withRouter } from 'react-router-dom';\nimport ScrollBehavior from 'scroll-behavior';\n\nvar asyncGenerator = function () {\n function AwaitValue(value) {\n this.value = value;\n }\n\n function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg);\n var value = result.value;\n\n if (value instanceof AwaitValue) {\n Promise.resolve(value.value).then(function (arg) {\n resume(\"next\", arg);\n }, function (arg) {\n resume(\"throw\", arg);\n });\n } else {\n settle(result.done ? \"return\" : \"normal\", result.value);\n }\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({\n value: value,\n done: true\n });\n break;\n\n case \"throw\":\n front.reject(value);\n break;\n\n default:\n front.resolve({\n value: value,\n done: false\n });\n break;\n }\n\n front = front.next;\n\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n if (typeof gen.return !== \"function\") {\n this.return = undefined;\n }\n }\n\n if (typeof Symbol === \"function\" && Symbol.asyncIterator) {\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () {\n return this;\n };\n }\n\n AsyncGenerator.prototype.next = function (arg) {\n return this._invoke(\"next\", arg);\n };\n\n AsyncGenerator.prototype.throw = function (arg) {\n return this._invoke(\"throw\", arg);\n };\n\n AsyncGenerator.prototype.return = function (arg) {\n return this._invoke(\"return\", arg);\n };\n\n return {\n wrap: function (fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n },\n await: function (value) {\n return new AwaitValue(value);\n }\n };\n}();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function 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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar DEV = process.env.NODE_ENV !== 'production';\n\nvar propTypes = {\n scrollKey: PropTypes.string.isRequired,\n shouldUpdateScroll: PropTypes.func,\n children: PropTypes.element.isRequired\n};\n\nvar contextTypes = {\n // This is necessary when rendering on the client. However, when rendering on\n // the server, this container will do nothing, and thus does not require the\n // scroll behavior context.\n scrollBehavior: PropTypes.object\n};\n\nvar ScrollContainer = function (_React$Component) {\n inherits(ScrollContainer, _React$Component);\n\n function ScrollContainer(props, context) {\n classCallCheck(this, ScrollContainer);\n\n // We don't re-register if the scroll key changes, so make sure we\n // unregister with the initial scroll key just in case the user changes it.\n var _this = possibleConstructorReturn(this, (ScrollContainer.__proto__ || Object.getPrototypeOf(ScrollContainer)).call(this, props, context));\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing scrollBehavior._stateStorage.\n return shouldUpdateScroll.call(_this.context.scrollBehavior.scrollBehavior, prevRouterProps, routerProps);\n };\n\n _this.scrollKey = props.scrollKey;\n return _this;\n }\n\n createClass(ScrollContainer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.context.scrollBehavior.registerElement(this.props.scrollKey, ReactDOM.findDOMNode(this), this.shouldUpdateScroll);\n\n // Only keep around the current DOM node in development, as this is only\n // for emitting the appropriate warning.\n if (DEV) {\n this.domNode = ReactDOM.findDOMNode(this);\n }\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n process.env.NODE_ENV !== 'production' ? warning(nextProps.scrollKey === this.props.scrollKey, ' does not support changing scrollKey.') : void 0;\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (DEV) {\n var prevDomNode = this.domNode;\n this.domNode = ReactDOM.findDOMNode(this);\n\n process.env.NODE_ENV !== 'production' ? warning(this.domNode === prevDomNode, ' does not support changing DOM node.') : void 0;\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.context.scrollBehavior.unregisterElement(this.scrollKey);\n }\n }, {\n key: 'render',\n value: function render() {\n return React.Children.only(this.props.children);\n }\n }]);\n return ScrollContainer;\n}(React.Component);\n\nScrollContainer.propTypes = propTypes;\nScrollContainer.contextTypes = contextTypes;\n\nvar STATE_KEY_PREFIX = '@@scroll|';\n\nvar SessionStorage = function () {\n function SessionStorage() {\n classCallCheck(this, SessionStorage);\n }\n\n createClass(SessionStorage, [{\n key: 'read',\n value: function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n var value = sessionStorage.getItem(stateKey);\n return JSON.parse(value);\n }\n }, {\n key: 'save',\n value: function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n sessionStorage.setItem(stateKey, storedValue);\n }\n }, {\n key: 'getStateKey',\n value: function getStateKey(location, key) {\n var locationKey = location.key;\n var stateKeyBase = '' + STATE_KEY_PREFIX + locationKey;\n return key == null ? stateKeyBase : stateKeyBase + '|' + key;\n }\n }]);\n return SessionStorage;\n}();\n\nvar propTypes$1 = {\n shouldUpdateScroll: PropTypes.func,\n children: PropTypes.element.isRequired,\n location: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nvar childContextTypes = {\n scrollBehavior: PropTypes.object.isRequired\n};\n\nvar ScrollContext = function (_React$Component) {\n inherits(ScrollContext, _React$Component);\n\n function ScrollContext(props, context) {\n classCallCheck(this, ScrollContext);\n\n var _this = possibleConstructorReturn(this, (ScrollContext.__proto__ || Object.getPrototypeOf(ScrollContext)).call(this, props, context));\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing scrollBehavior._stateStorage.\n return shouldUpdateScroll.call(_this.scrollBehavior, prevRouterProps, routerProps);\n };\n\n _this.registerElement = function (key, element, shouldUpdateScroll) {\n _this.scrollBehavior.registerElement(key, element, shouldUpdateScroll, _this.getRouterProps());\n };\n\n _this.unregisterElement = function (key) {\n _this.scrollBehavior.unregisterElement(key);\n };\n\n var history = props.history;\n\n _this.scrollBehavior = new ScrollBehavior({\n addTransitionHook: history.listen,\n stateStorage: new SessionStorage(),\n getCurrentLocation: function getCurrentLocation() {\n return _this.props.location;\n },\n shouldUpdateScroll: _this.shouldUpdateScroll\n });\n\n _this.scrollBehavior.updateScroll(null, _this.getRouterProps());\n return _this;\n }\n\n createClass(ScrollContext, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n scrollBehavior: this\n };\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var _props = this.props,\n location = _props.location,\n history = _props.history;\n\n var prevLocation = prevProps.location;\n\n if (location === prevLocation) {\n return;\n }\n\n var prevRouterProps = {\n history: prevProps.history,\n location: prevProps.location\n };\n\n this.scrollBehavior.updateScroll(prevRouterProps, { history: history, location: location });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.scrollBehavior.stop();\n }\n }, {\n key: 'getRouterProps',\n value: function getRouterProps() {\n var _props2 = this.props,\n history = _props2.history,\n location = _props2.location;\n\n return { history: history, location: location };\n }\n }, {\n key: 'render',\n value: function render() {\n return React.Children.only(this.props.children);\n }\n }]);\n return ScrollContext;\n}(React.Component);\n\nScrollContext.propTypes = propTypes$1;\nScrollContext.childContextTypes = childContextTypes;\n\nvar ScrollBehaviorContext = withRouter(ScrollContext);\n\nexport { ScrollContainer, ScrollBehaviorContext as ScrollContext };" + }, + { + "id": 153, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "name": "./app/javascript/mastodon/components/status.js", + "index": 357, + "index2": 751, + "size": 10166, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 261, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/status_container.js", + "module": "./app/javascript/mastodon/containers/status_container.js", + "moduleName": "./app/javascript/mastodon/containers/status_container.js", + "type": "harmony import", + "userRequest": "../components/status", + "loc": "4:0-42" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "../../components/status", + "loc": "33:0-33" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport AvatarOverlay from './avatar_overlay';\nimport RelativeTimestamp from './relative_timestamp';\nimport DisplayName from './display_name';\nimport StatusContent from './status_content';\nimport StatusActionBar from './status_action_bar';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { MediaGallery, Video } from '../features/ui/util/async-components';\nimport { HotKeys } from 'react-hotkeys';\nimport classNames from 'classnames';\n\n// We use the component (and not the container) since we do not want\n// to use the progress bar to show download progress\nimport Bundle from '../features/ui/components/bundle';\n\nvar Status = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(Status, _ImmutablePureCompone);\n\n function Status() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Status);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n isExpanded: false\n\n // Avoid checking props that are functions (and whose equality will always\n // evaluate to false. See react-immutable-pure-component for usage.\n }, _this.updateOnProps = ['status', 'account', 'muted', 'hidden'], _this.updateOnStates = ['isExpanded'], _this.handleClick = function () {\n if (!_this.context.router) {\n return;\n }\n\n var status = _this.props.status;\n\n _this.context.router.history.push('/statuses/' + status.getIn(['reblog', 'id'], status.get('id')));\n }, _this.handleAccountClick = function (e) {\n if (_this.context.router && e.button === 0) {\n var id = e.currentTarget.getAttribute('data-id');\n e.preventDefault();\n _this.context.router.history.push('/accounts/' + id);\n }\n }, _this.handleExpandedToggle = function () {\n _this.setState({ isExpanded: !_this.state.isExpanded });\n }, _this.handleOpenVideo = function (startTime) {\n _this.props.onOpenVideo(_this._properStatus().getIn(['media_attachments', 0]), startTime);\n }, _this.handleHotkeyReply = function (e) {\n e.preventDefault();\n _this.props.onReply(_this._properStatus(), _this.context.router.history);\n }, _this.handleHotkeyFavourite = function () {\n _this.props.onFavourite(_this._properStatus());\n }, _this.handleHotkeyBoost = function (e) {\n _this.props.onReblog(_this._properStatus(), e);\n }, _this.handleHotkeyMention = function (e) {\n e.preventDefault();\n _this.props.onMention(_this._properStatus().get('account'), _this.context.router.history);\n }, _this.handleHotkeyOpen = function () {\n _this.context.router.history.push('/statuses/' + _this._properStatus().get('id'));\n }, _this.handleHotkeyOpenProfile = function () {\n _this.context.router.history.push('/accounts/' + _this._properStatus().getIn(['account', 'id']));\n }, _this.handleHotkeyMoveUp = function () {\n _this.props.onMoveUp(_this.props.status.get('id'));\n }, _this.handleHotkeyMoveDown = function () {\n _this.props.onMoveDown(_this.props.status.get('id'));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Status.prototype.renderLoadingMediaGallery = function renderLoadingMediaGallery() {\n return _jsx('div', {\n className: 'media_gallery',\n style: { height: '110px' }\n });\n };\n\n Status.prototype.renderLoadingVideoPlayer = function renderLoadingVideoPlayer() {\n return _jsx('div', {\n className: 'media-spoiler-video',\n style: { height: '110px' }\n });\n };\n\n Status.prototype._properStatus = function _properStatus() {\n var status = this.props.status;\n\n\n if (status.get('reblog', null) !== null && _typeof(status.get('reblog')) === 'object') {\n return status.get('reblog');\n } else {\n return status;\n }\n };\n\n Status.prototype.render = function render() {\n var _this2 = this;\n\n var media = null;\n var statusAvatar = void 0,\n prepend = void 0;\n\n var hidden = this.props.hidden;\n var isExpanded = this.state.isExpanded;\n\n var _props = this.props,\n status = _props.status,\n account = _props.account,\n other = _objectWithoutProperties(_props, ['status', 'account']);\n\n if (status === null) {\n return null;\n }\n\n if (hidden) {\n return _jsx('div', {}, void 0, status.getIn(['account', 'display_name']) || status.getIn(['account', 'username']), status.get('content'));\n }\n\n if (status.get('reblog', null) !== null && _typeof(status.get('reblog')) === 'object') {\n var display_name_html = { __html: status.getIn(['account', 'display_name_html']) };\n\n prepend = _jsx('div', {\n className: 'status__prepend'\n }, void 0, _jsx('div', {\n className: 'status__prepend-icon-wrapper'\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-retweet status__prepend-icon'\n })), _jsx(FormattedMessage, {\n id: 'status.reblogged_by',\n defaultMessage: '{name} boosted',\n values: { name: _jsx('a', {\n onClick: this.handleAccountClick,\n 'data-id': status.getIn(['account', 'id']),\n href: status.getIn(['account', 'url']),\n className: 'status__display-name muted'\n }, void 0, _jsx('strong', {\n dangerouslySetInnerHTML: display_name_html\n })) }\n }));\n\n account = status.get('account');\n status = status.get('reblog');\n }\n\n if (status.get('media_attachments').size > 0 && !this.props.muted) {\n if (status.get('media_attachments').some(function (item) {\n return item.get('type') === 'unknown';\n })) {} else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n var video = status.getIn(['media_attachments', 0]);\n\n media = _jsx(Bundle, {\n fetchComponent: Video,\n loading: this.renderLoadingVideoPlayer\n }, void 0, function (Component) {\n return _jsx(Component, {\n preview: video.get('preview_url'),\n src: video.get('url'),\n width: 239,\n height: 110,\n sensitive: status.get('sensitive'),\n onOpenVideo: _this2.handleOpenVideo\n });\n });\n } else {\n media = _jsx(Bundle, {\n fetchComponent: MediaGallery,\n loading: this.renderLoadingMediaGallery\n }, void 0, function (Component) {\n return _jsx(Component, {\n media: status.get('media_attachments'),\n sensitive: status.get('sensitive'),\n height: 110,\n onOpenMedia: _this2.props.onOpenMedia\n });\n });\n }\n }\n\n if (account === undefined || account === null) {\n statusAvatar = _jsx(Avatar, {\n account: status.get('account'),\n size: 48\n });\n } else {\n statusAvatar = _jsx(AvatarOverlay, {\n account: status.get('account'),\n friend: account\n });\n }\n\n var handlers = this.props.muted ? {} : {\n reply: this.handleHotkeyReply,\n favourite: this.handleHotkeyFavourite,\n boost: this.handleHotkeyBoost,\n mention: this.handleHotkeyMention,\n open: this.handleHotkeyOpen,\n openProfile: this.handleHotkeyOpenProfile,\n moveUp: this.handleHotkeyMoveUp,\n moveDown: this.handleHotkeyMoveDown\n };\n\n return _jsx(HotKeys, {\n handlers: handlers\n }, void 0, _jsx('div', {\n className: classNames('status__wrapper', 'status__wrapper-' + status.get('visibility'), { focusable: !this.props.muted }),\n tabIndex: this.props.muted ? null : 0\n }, void 0, prepend, _jsx('div', {\n className: classNames('status', 'status-' + status.get('visibility'), { muted: this.props.muted }),\n 'data-id': status.get('id')\n }, void 0, _jsx('div', {\n className: 'status__info'\n }, void 0, _jsx('a', {\n href: status.get('url'),\n className: 'status__relative-time',\n target: '_blank',\n rel: 'noopener'\n }, void 0, _jsx(RelativeTimestamp, {\n timestamp: status.get('created_at')\n })), _jsx('a', {\n onClick: this.handleAccountClick,\n target: '_blank',\n 'data-id': status.getIn(['account', 'id']),\n href: status.getIn(['account', 'url']),\n title: status.getIn(['account', 'acct']),\n className: 'status__display-name'\n }, void 0, _jsx('div', {\n className: 'status__avatar'\n }, void 0, statusAvatar), _jsx(DisplayName, {\n account: status.get('account')\n }))), _jsx(StatusContent, {\n status: status,\n onClick: this.handleClick,\n expanded: isExpanded,\n onExpandedToggle: this.handleExpandedToggle\n }), media, React.createElement(StatusActionBar, _extends({ status: status, account: account }, other)))));\n };\n\n return Status;\n}(ImmutablePureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.propTypes = {\n status: ImmutablePropTypes.map,\n account: ImmutablePropTypes.map,\n onReply: PropTypes.func,\n onFavourite: PropTypes.func,\n onReblog: PropTypes.func,\n onDelete: PropTypes.func,\n onPin: PropTypes.func,\n onOpenMedia: PropTypes.func,\n onOpenVideo: PropTypes.func,\n onBlock: PropTypes.func,\n onEmbed: PropTypes.func,\n onHeightChange: PropTypes.func,\n muted: PropTypes.bool,\n hidden: PropTypes.bool,\n onMoveUp: PropTypes.func,\n onMoveDown: PropTypes.func\n}, _temp2);\nexport { Status as default };" + }, + { + "id": 154, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/fullscreen.js", + "name": "./app/javascript/mastodon/features/ui/util/fullscreen.js", + "index": 673, + "index2": 663, + "size": 1728, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "issuerId": 108, + "issuerName": "./app/javascript/mastodon/features/video/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 108, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/video/index.js", + "module": "./app/javascript/mastodon/features/video/index.js", + "moduleName": "./app/javascript/mastodon/features/video/index.js", + "type": "harmony import", + "userRequest": "../ui/util/fullscreen", + "loc": "14:0-88" + }, + { + "moduleId": 262, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/scrollable_list.js", + "module": "./app/javascript/mastodon/components/scrollable_list.js", + "moduleName": "./app/javascript/mastodon/components/scrollable_list.js", + "type": "harmony import", + "userRequest": "../features/ui/util/fullscreen", + "loc": "18:0-114" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "../../features/ui/util/fullscreen", + "loc": "31:0-117" + } + ], + "usedExports": [ + "attachFullscreenListener", + "detachFullscreenListener", + "exitFullscreen", + "isFullscreen", + "requestFullscreen" + ], + "providedExports": [ + "isFullscreen", + "exitFullscreen", + "requestFullscreen", + "attachFullscreenListener", + "detachFullscreenListener" + ], + "optimizationBailout": [], + "depth": 3, + "source": "// APIs for normalizing fullscreen operations. Note that Edge uses\n// the WebKit-prefixed APIs currently (as of Edge 16).\n\nexport var isFullscreen = function isFullscreen() {\n return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement;\n};\n\nexport var exitFullscreen = function exitFullscreen() {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n }\n};\n\nexport var requestFullscreen = function requestFullscreen(el) {\n if (el.requestFullscreen) {\n el.requestFullscreen();\n } else if (el.webkitRequestFullscreen) {\n el.webkitRequestFullscreen();\n } else if (el.mozRequestFullScreen) {\n el.mozRequestFullScreen();\n }\n};\n\nexport var attachFullscreenListener = function attachFullscreenListener(listener) {\n if ('onfullscreenchange' in document) {\n document.addEventListener('fullscreenchange', listener);\n } else if ('onwebkitfullscreenchange' in document) {\n document.addEventListener('webkitfullscreenchange', listener);\n } else if ('onmozfullscreenchange' in document) {\n document.addEventListener('mozfullscreenchange', listener);\n }\n};\n\nexport var detachFullscreenListener = function detachFullscreenListener(listener) {\n if ('onfullscreenchange' in document) {\n document.removeEventListener('fullscreenchange', listener);\n } else if ('onwebkitfullscreenchange' in document) {\n document.removeEventListener('webkitfullscreenchange', listener);\n } else if ('onmozfullscreenchange' in document) {\n document.removeEventListener('mozfullscreenchange', listener);\n }\n};" + }, + { + "id": 160, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "name": "./app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "index": 316, + "index2": 311, + "size": 1376, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji.js", + "issuerId": 60, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 60, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji.js", + "module": "./app/javascript/mastodon/features/emoji/emoji.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji.js", + "type": "harmony import", + "userRequest": "./emoji_unicode_mapping_light", + "loc": "2:0-59" + }, + { + "moduleId": 293, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_emoji.js", + "module": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_emoji.js", + "type": "harmony import", + "userRequest": "../features/emoji/emoji_unicode_mapping_light", + "loc": "7:0-75" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "// A mapping of unicode strings to an object containing the filename\n// (i.e. the svg filename) and a shortCode intended to be shown\nvar _require = require('./emoji_compressed'),\n shortCodesToEmojiData = _require[0],\n skins = _require[1],\n // eslint-disable-line no-unused-vars\ncategories = _require[2],\n // eslint-disable-line no-unused-vars\nshort_names = _require[3],\n // eslint-disable-line no-unused-vars\nemojisWithoutShortCodes = _require[4];\n\nvar _require2 = require('./unicode_to_filename'),\n unicodeToFilename = _require2.unicodeToFilename;\n\n// decompress\n\n\nvar unicodeMapping = {};\n\nfunction processEmojiMapData(emojiMapData, shortCode) {\n var native = emojiMapData[0],\n filename = emojiMapData[1];\n\n if (!filename) {\n // filename name can be derived from unicodeToFilename\n filename = unicodeToFilename(native);\n }\n unicodeMapping[native] = {\n shortCode: shortCode,\n filename: filename\n };\n}\n\nObject.keys(shortCodesToEmojiData).forEach(function (shortCode) {\n var _shortCodesToEmojiDat = shortCodesToEmojiData[shortCode],\n filenameData = _shortCodesToEmojiDat[0];\n\n filenameData.forEach(function (emojiMapData) {\n return processEmojiMapData(emojiMapData, shortCode);\n });\n});\nemojisWithoutShortCodes.forEach(function (emojiMapData) {\n return processEmojiMapData(emojiMapData);\n});\n\nmodule.exports = unicodeMapping;" + }, + { + "id": 161, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/rtl.js", + "name": "./app/javascript/mastodon/rtl.js", + "index": 363, + "index2": 355, + "size": 884, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "issuerId": 107, + "issuerName": "./app/javascript/mastodon/components/status_content.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "../rtl", + "loc": "11:0-31" + }, + { + "moduleId": 290, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/autosuggest_textarea.js", + "module": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "moduleName": "./app/javascript/mastodon/components/autosuggest_textarea.js", + "type": "harmony import", + "userRequest": "../rtl", + "loc": "14:0-31" + } + ], + "usedExports": [ + "isRtl" + ], + "providedExports": [ + "isRtl" + ], + "optimizationBailout": [], + "depth": 6, + "source": "// U+0590 to U+05FF - Hebrew\n// U+0600 to U+06FF - Arabic\n// U+0700 to U+074F - Syriac\n// U+0750 to U+077F - Arabic Supplement\n// U+0780 to U+07BF - Thaana\n// U+07C0 to U+07FF - N'Ko\n// U+0800 to U+083F - Samaritan\n// U+08A0 to U+08FF - Arabic Extended-A\n// U+FB1D to U+FB4F - Hebrew presentation forms\n// U+FB50 to U+FDFF - Arabic presentation forms A\n// U+FE70 to U+FEFF - Arabic presentation forms B\n\nvar rtlChars = /[\\u0590-\\u083F]|[\\u08A0-\\u08FF]|[\\uFB1D-\\uFDFF]|[\\uFE70-\\uFEFF]/mg;\n\nexport function isRtl(text) {\n if (text.length === 0) {\n return false;\n }\n\n text = text.replace(/(?:^|[^\\/\\w])@([a-z0-9_]+(@[a-z0-9\\.\\-]+)?)/ig, '');\n text = text.replace(/(?:^|[^\\/\\w])#([\\S]+)/ig, '');\n text = text.replace(/\\s+/g, '');\n\n var matches = text.match(rtlChars);\n\n if (!matches) {\n return false;\n }\n\n return matches.length / text.length > 0.3;\n};" + }, + { + "id": 162, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/index.js", + "name": "./node_modules/react-hotkeys/lib/index.js", + "index": 542, + "index2": 642, + "size": 778, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "react-hotkeys", + "loc": "23:0-40" + }, + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "react-hotkeys", + "loc": "27:0-40" + }, + { + "moduleId": 758, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/index.js", + "module": "./app/javascript/mastodon/features/status/index.js", + "moduleName": "./app/javascript/mastodon/features/status/index.js", + "type": "harmony import", + "userRequest": "react-hotkeys", + "loc": "29:0-40" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "react-hotkeys", + "loc": "16:0-40" + } + ], + "usedExports": [ + "HotKeys" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _HotKeys = require('./HotKeys');\n\nObject.defineProperty(exports, 'HotKeys', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_HotKeys).default;\n }\n});\n\nvar _FocusTrap = require('./FocusTrap');\n\nObject.defineProperty(exports, 'FocusTrap', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_FocusTrap).default;\n }\n});\n\nvar _HotKeyMapMixin = require('./HotKeyMapMixin');\n\nObject.defineProperty(exports, 'HotKeyMapMixin', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_HotKeyMapMixin).default;\n }\n});\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}" + }, + { + "id": 163, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/pin_statuses.js", + "name": "./app/javascript/mastodon/actions/pin_statuses.js", + "index": 322, + "index2": 317, + "size": 1087, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/status_lists.js", + "issuerId": 447, + "issuerName": "./app/javascript/mastodon/reducers/status_lists.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 443, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "module": "./app/javascript/mastodon/reducers/statuses.js", + "moduleName": "./app/javascript/mastodon/reducers/statuses.js", + "type": "harmony import", + "userRequest": "../actions/pin_statuses", + "loc": "7:0-72" + }, + { + "moduleId": 447, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/status_lists.js", + "module": "./app/javascript/mastodon/reducers/status_lists.js", + "moduleName": "./app/javascript/mastodon/reducers/status_lists.js", + "type": "harmony import", + "userRequest": "../actions/pin_statuses", + "loc": "2:0-72" + }, + { + "moduleId": 760, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/pinned_statuses/index.js", + "module": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/pinned_statuses/index.js", + "type": "harmony import", + "userRequest": "../../actions/pin_statuses", + "loc": "12:0-65" + } + ], + "usedExports": [ + "PINNED_STATUSES_FETCH_SUCCESS", + "fetchPinnedStatuses" + ], + "providedExports": [ + "PINNED_STATUSES_FETCH_REQUEST", + "PINNED_STATUSES_FETCH_SUCCESS", + "PINNED_STATUSES_FETCH_FAIL", + "fetchPinnedStatuses", + "fetchPinnedStatusesRequest", + "fetchPinnedStatusesSuccess", + "fetchPinnedStatusesFail" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import api from '../api';\n\nexport var PINNED_STATUSES_FETCH_REQUEST = 'PINNED_STATUSES_FETCH_REQUEST';\nexport var PINNED_STATUSES_FETCH_SUCCESS = 'PINNED_STATUSES_FETCH_SUCCESS';\nexport var PINNED_STATUSES_FETCH_FAIL = 'PINNED_STATUSES_FETCH_FAIL';\n\nimport { me } from '../initial_state';\n\nexport function fetchPinnedStatuses() {\n return function (dispatch, getState) {\n dispatch(fetchPinnedStatusesRequest());\n\n api(getState).get('/api/v1/accounts/' + me + '/statuses', { params: { pinned: true } }).then(function (response) {\n dispatch(fetchPinnedStatusesSuccess(response.data, null));\n }).catch(function (error) {\n dispatch(fetchPinnedStatusesFail(error));\n });\n };\n};\n\nexport function fetchPinnedStatusesRequest() {\n return {\n type: PINNED_STATUSES_FETCH_REQUEST\n };\n};\n\nexport function fetchPinnedStatusesSuccess(statuses, next) {\n return {\n type: PINNED_STATUSES_FETCH_SUCCESS,\n statuses: statuses,\n next: next\n };\n};\n\nexport function fetchPinnedStatusesFail(error) {\n return {\n type: PINNED_STATUSES_FETCH_FAIL,\n error: error\n };\n};" + }, + { + "id": 164, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/push_notifications.js", + "name": "./app/javascript/mastodon/actions/push_notifications.js", + "index": 329, + "index2": 324, + "size": 1171, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/web_push_subscription.js", + "issuerId": 625, + "issuerName": "./app/javascript/mastodon/web_push_subscription.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 446, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/push_notifications.js", + "module": "./app/javascript/mastodon/reducers/push_notifications.js", + "moduleName": "./app/javascript/mastodon/reducers/push_notifications.js", + "type": "harmony import", + "userRequest": "../actions/push_notifications", + "loc": "2:0-121" + }, + { + "moduleId": 625, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/web_push_subscription.js", + "module": "./app/javascript/mastodon/web_push_subscription.js", + "moduleName": "./app/javascript/mastodon/web_push_subscription.js", + "type": "harmony import", + "userRequest": "./actions/push_notifications", + "loc": "3:0-101" + }, + { + "moduleId": 885, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "module": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "moduleName": "./app/javascript/mastodon/features/notifications/containers/column_settings_container.js", + "type": "harmony import", + "userRequest": "../../../actions/push_notifications", + "loc": "6:0-140" + } + ], + "usedExports": [ + "ALERTS_CHANGE", + "CLEAR_SUBSCRIPTION", + "SET_BROWSER_SUPPORT", + "SET_SUBSCRIPTION", + "changeAlerts", + "clearSubscription", + "saveSettings", + "setBrowserSupport", + "setSubscription" + ], + "providedExports": [ + "SET_BROWSER_SUPPORT", + "SET_SUBSCRIPTION", + "CLEAR_SUBSCRIPTION", + "ALERTS_CHANGE", + "setBrowserSupport", + "setSubscription", + "clearSubscription", + "changeAlerts", + "saveSettings" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import axios from 'axios';\n\nexport var SET_BROWSER_SUPPORT = 'PUSH_NOTIFICATIONS_SET_BROWSER_SUPPORT';\nexport var SET_SUBSCRIPTION = 'PUSH_NOTIFICATIONS_SET_SUBSCRIPTION';\nexport var CLEAR_SUBSCRIPTION = 'PUSH_NOTIFICATIONS_CLEAR_SUBSCRIPTION';\nexport var ALERTS_CHANGE = 'PUSH_NOTIFICATIONS_ALERTS_CHANGE';\n\nexport function setBrowserSupport(value) {\n return {\n type: SET_BROWSER_SUPPORT,\n value: value\n };\n}\n\nexport function setSubscription(subscription) {\n return {\n type: SET_SUBSCRIPTION,\n subscription: subscription\n };\n}\n\nexport function clearSubscription() {\n return {\n type: CLEAR_SUBSCRIPTION\n };\n}\n\nexport function changeAlerts(key, value) {\n return function (dispatch) {\n dispatch({\n type: ALERTS_CHANGE,\n key: key,\n value: value\n });\n\n dispatch(saveSettings());\n };\n}\n\nexport function saveSettings() {\n return function (_, getState) {\n var state = getState().get('push_notifications');\n var subscription = state.get('subscription');\n var alerts = state.get('alerts');\n\n axios.put('/api/web/push_subscriptions/' + subscription.get('id'), {\n data: {\n alerts: alerts\n }\n });\n };\n}" + }, + { + "id": 165, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/index.js", + "name": "./node_modules/react-swipeable-views/lib/index.js", + "index": 738, + "index2": 743, + "size": 349, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "issuerId": 645, + "issuerName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "react-swipeable-views", + "loc": "9:0-56" + }, + { + "moduleId": 645, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/columns_area.js", + "module": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/columns_area.js", + "type": "harmony import", + "userRequest": "react-swipeable-views", + "loc": "14:0-56" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "react-swipeable-views", + "loc": "12:0-56" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _SwipeableViews = require('./SwipeableViews');\n\nvar _SwipeableViews2 = _interopRequireDefault(_SwipeableViews);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = _SwipeableViews2.default; // weak" + }, + { + "id": 166, + "identifier": "/home/lambda/repos/mastodon/node_modules/file-loader/index.js??ref--0-0!/home/lambda/repos/mastodon/app/javascript/images/elephant-fren.png", + "name": "./app/javascript/images/elephant-fren.png", + "index": 66, + "index2": 64, + "size": 96, + "cacheable": true, + "built": true, + "optional": true, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [ + "elephant-fren-d16fd77f9a9387e7d146b5f9d4dc1e7f.png" + ], + "issuer": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "issuerId": 109, + "issuerName": "./app/javascript/images ^\\.\\/.*$", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./elephant-fren.png", + "loc": "./elephant-fren.png" + }, + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./elephant-fren", + "loc": "./elephant-fren" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = __webpack_public_path__ + \"elephant-fren-d16fd77f9a9387e7d146b5f9d4dc1e7f.png\";" + }, + { + "id": 167, + "identifier": "/home/lambda/repos/mastodon/node_modules/file-loader/index.js??ref--0-0!/home/lambda/repos/mastodon/app/javascript/images/elephant-friend.png", + "name": "./app/javascript/images/elephant-friend.png", + "index": 67, + "index2": 65, + "size": 98, + "cacheable": true, + "built": true, + "optional": true, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [ + "elephant-friend-df0b9c6af525e0dea9f1f9c044d9a903.png" + ], + "issuer": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "issuerId": 109, + "issuerName": "./app/javascript/images ^\\.\\/.*$", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./elephant-friend.png", + "loc": "./elephant-friend.png" + }, + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./elephant-friend", + "loc": "./elephant-friend" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = __webpack_public_path__ + \"elephant-friend-df0b9c6af525e0dea9f1f9c044d9a903.png\";" + }, + { + "id": 168, + "identifier": "/home/lambda/repos/mastodon/node_modules/file-loader/index.js??ref--0-0!/home/lambda/repos/mastodon/app/javascript/images/elephant-friend-1.png", + "name": "./app/javascript/images/elephant-friend-1.png", + "index": 68, + "index2": 66, + "size": 100, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [ + "elephant-friend-1-18bbe5bf56bcd2f550f26ae91be00dfb.png" + ], + "issuer": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "issuerId": 109, + "issuerName": "./app/javascript/images ^\\.\\/.*$", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./elephant-friend-1.png", + "loc": "./elephant-friend-1.png" + }, + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./elephant-friend-1", + "loc": "./elephant-friend-1" + }, + { + "moduleId": 910, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/css-loader/index.js?{\"minimize\":true}!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js?{\"sourceMap\":true}!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/app/javascript/styles/application.scss", + "module": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/styles/application.scss", + "moduleName": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/styles/application.scss", + "type": "cjs require", + "userRequest": "../images/elephant-friend-1.png", + "loc": "6:112072-112114" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = __webpack_public_path__ + \"elephant-friend-1-18bbe5bf56bcd2f550f26ae91be00dfb.png\";" + }, + { + "id": 169, + "identifier": "/home/lambda/repos/mastodon/node_modules/file-loader/index.js??ref--0-0!/home/lambda/repos/mastodon/app/javascript/images/logo.svg", + "name": "./app/javascript/images/logo.svg", + "index": 69, + "index2": 67, + "size": 87, + "cacheable": true, + "built": true, + "optional": true, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [ + "logo-fe5141d38a25f50068b4c69b77ca1ec8.svg" + ], + "issuer": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "issuerId": 109, + "issuerName": "./app/javascript/images ^\\.\\/.*$", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./logo.svg", + "loc": "./logo.svg" + }, + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./logo", + "loc": "./logo" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = __webpack_public_path__ + \"logo-fe5141d38a25f50068b4c69b77ca1ec8.svg\";" + }, + { + "id": 170, + "identifier": "/home/lambda/repos/mastodon/node_modules/file-loader/index.js??ref--0-0!/home/lambda/repos/mastodon/app/javascript/images/logo_alt.svg", + "name": "./app/javascript/images/logo_alt.svg", + "index": 70, + "index2": 68, + "size": 91, + "cacheable": true, + "built": true, + "optional": true, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [ + "logo_alt-6090911445f54a587465e41da77a6969.svg" + ], + "issuer": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "issuerId": 109, + "issuerName": "./app/javascript/images ^\\.\\/.*$", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./logo_alt.svg", + "loc": "./logo_alt.svg" + }, + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./logo_alt", + "loc": "./logo_alt" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = __webpack_public_path__ + \"logo_alt-6090911445f54a587465e41da77a6969.svg\";" + }, + { + "id": 171, + "identifier": "/home/lambda/repos/mastodon/node_modules/file-loader/index.js??ref--0-0!/home/lambda/repos/mastodon/app/javascript/images/logo_full.svg", + "name": "./app/javascript/images/logo_full.svg", + "index": 71, + "index2": 69, + "size": 92, + "cacheable": true, + "built": true, + "optional": true, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [ + "logo_full-96e7a97fe469f75a23a74852b2478fa3.svg" + ], + "issuer": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "issuerId": 109, + "issuerName": "./app/javascript/images ^\\.\\/.*$", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./logo_full.svg", + "loc": "./logo_full.svg" + }, + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./logo_full", + "loc": "./logo_full" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = __webpack_public_path__ + \"logo_full-96e7a97fe469f75a23a74852b2478fa3.svg\";" + }, + { + "id": 172, + "identifier": "/home/lambda/repos/mastodon/node_modules/file-loader/index.js??ref--0-0!/home/lambda/repos/mastodon/app/javascript/images/mastodon-getting-started.png", + "name": "./app/javascript/images/mastodon-getting-started.png", + "index": 72, + "index2": 70, + "size": 107, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [ + "mastodon-getting-started-758db9bb72f30f65b07bb7b64f24ea83.png" + ], + "issuer": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "issuerId": 109, + "issuerName": "./app/javascript/images ^\\.\\/.*$", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./mastodon-getting-started.png", + "loc": "./mastodon-getting-started.png" + }, + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./mastodon-getting-started", + "loc": "./mastodon-getting-started" + }, + { + "moduleId": 910, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/css-loader/index.js?{\"minimize\":true}!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js?{\"sourceMap\":true}!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/app/javascript/styles/application.scss", + "module": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/styles/application.scss", + "moduleName": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/styles/application.scss", + "type": "cjs require", + "userRequest": "../images/mastodon-getting-started.png", + "loc": "6:69780-69829" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = __webpack_public_path__ + \"mastodon-getting-started-758db9bb72f30f65b07bb7b64f24ea83.png\";" + }, + { + "id": 173, + "identifier": "/home/lambda/repos/mastodon/node_modules/file-loader/index.js??ref--0-0!/home/lambda/repos/mastodon/app/javascript/images/mastodon-not-found.png", + "name": "./app/javascript/images/mastodon-not-found.png", + "index": 73, + "index2": 71, + "size": 101, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [ + "mastodon-not-found-afb3fe71154b0c7518f25c70897c03d2.png" + ], + "issuer": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "issuerId": 109, + "issuerName": "./app/javascript/images ^\\.\\/.*$", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./mastodon-not-found.png", + "loc": "./mastodon-not-found.png" + }, + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./mastodon-not-found", + "loc": "./mastodon-not-found" + }, + { + "moduleId": 910, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/css-loader/index.js?{\"minimize\":true}!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js?{\"sourceMap\":true}!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/app/javascript/styles/application.scss", + "module": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/styles/application.scss", + "moduleName": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/styles/application.scss", + "type": "cjs require", + "userRequest": "../images/mastodon-not-found.png", + "loc": "6:89810-89853" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = __webpack_public_path__ + \"mastodon-not-found-afb3fe71154b0c7518f25c70897c03d2.png\";" + }, + { + "id": 174, + "identifier": "/home/lambda/repos/mastodon/node_modules/file-loader/index.js??ref--0-0!/home/lambda/repos/mastodon/app/javascript/images/preview.jpg", + "name": "./app/javascript/images/preview.jpg", + "index": 74, + "index2": 72, + "size": 90, + "cacheable": true, + "built": true, + "optional": true, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [ + "preview-9a17d32fc48369e8ccd910a75260e67d.jpg" + ], + "issuer": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "issuerId": 109, + "issuerName": "./app/javascript/images ^\\.\\/.*$", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./preview.jpg", + "loc": "./preview.jpg" + }, + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./preview", + "loc": "./preview" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = __webpack_public_path__ + \"preview-9a17d32fc48369e8ccd910a75260e67d.jpg\";" + }, + { + "id": 175, + "identifier": "/home/lambda/repos/mastodon/node_modules/file-loader/index.js??ref--0-0!/home/lambda/repos/mastodon/app/javascript/images/void.png", + "name": "./app/javascript/images/void.png", + "index": 75, + "index2": 73, + "size": 87, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [ + "void-65dfe5bd31335a5b308d36964d320574.png" + ], + "issuer": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "issuerId": 109, + "issuerName": "./app/javascript/images ^\\.\\/.*$", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./void.png", + "loc": "./void.png" + }, + { + "moduleId": 109, + "moduleIdentifier": "/home/lambda/repos/mastodon/app/javascript/images /^\\.\\/.*$/", + "module": "./app/javascript/images ^\\.\\/.*$", + "moduleName": "./app/javascript/images ^\\.\\/.*$", + "type": "context element", + "userRequest": "./void", + "loc": "./void" + }, + { + "moduleId": 910, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/css-loader/index.js?{\"minimize\":true}!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js?{\"sourceMap\":true}!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/app/javascript/styles/application.scss", + "module": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/styles/application.scss", + "moduleName": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/styles/application.scss", + "type": "cjs require", + "userRequest": "../images/void.png", + "loc": "6:106327-106356" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = __webpack_public_path__ + \"void-65dfe5bd31335a5b308d36964d320574.png\";" + }, + { + "id": 176, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "name": "./node_modules/core-js/library/modules/es6.symbol.js", + "index": 80, + "index2": 122, + "size": 8828, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/for.js", + "issuerId": 322, + "issuerName": "./node_modules/core-js/library/fn/symbol/for.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 322, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/for.js", + "module": "./node_modules/core-js/library/fn/symbol/for.js", + "moduleName": "./node_modules/core-js/library/fn/symbol/for.js", + "type": "cjs require", + "userRequest": "../../modules/es6.symbol", + "loc": "1:0-35" + }, + { + "moduleId": 333, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/index.js", + "module": "./node_modules/core-js/library/fn/symbol/index.js", + "moduleName": "./node_modules/core-js/library/fn/symbol/index.js", + "type": "cjs require", + "userRequest": "../../modules/es6.symbol", + "loc": "1:0-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n// ECMAScript 6 symbols shim\n\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () {\n return dP(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n }return setSymbolDesc(it, key, D);\n }return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n }return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n }return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols =\n// 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;) wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () {\n setter = true;\n },\n useSimple: function () {\n setter = false;\n }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n if (it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n replacer = args[1];\n if (typeof replacer == 'function') $replacer = replacer;\n if ($replacer || !isArray(replacer)) replacer = function (key, value) {\n if ($replacer) value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);" + }, + { + "id": 177, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_ctx.js", + "name": "./node_modules/core-js/library/modules/_ctx.js", + "index": 87, + "index2": 81, + "size": 549, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_set-proto.js", + "issuerId": 349, + "issuerName": "./node_modules/core-js/library/modules/_set-proto.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 38, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_export.js", + "module": "./node_modules/core-js/library/modules/_export.js", + "moduleName": "./node_modules/core-js/library/modules/_export.js", + "type": "cjs require", + "userRequest": "./_ctx", + "loc": "3:10-27" + }, + { + "moduleId": 349, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_set-proto.js", + "module": "./node_modules/core-js/library/modules/_set-proto.js", + "moduleName": "./node_modules/core-js/library/modules/_set-proto.js", + "type": "cjs require", + "userRequest": "./_ctx", + "loc": "13:12-29" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () /* ...args */{\n return fn.apply(that, arguments);\n };\n};" + }, + { + "id": 178, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_ie8-dom-define.js", + "name": "./node_modules/core-js/library/modules/_ie8-dom-define.js", + "index": 93, + "index2": 85, + "size": 208, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopd.js", + "issuerId": 185, + "issuerName": "./node_modules/core-js/library/modules/_object-gopd.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 39, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-dp.js", + "module": "./node_modules/core-js/library/modules/_object-dp.js", + "moduleName": "./node_modules/core-js/library/modules/_object-dp.js", + "type": "cjs require", + "userRequest": "./_ie8-dom-define", + "loc": "2:21-49" + }, + { + "moduleId": 185, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopd.js", + "module": "./node_modules/core-js/library/modules/_object-gopd.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopd.js", + "type": "cjs require", + "userRequest": "./_ie8-dom-define", + "loc": "6:21-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () {\n return 7;\n } }).a != 7;\n});" + }, + { + "id": 179, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_dom-create.js", + "name": "./node_modules/core-js/library/modules/_dom-create.js", + "index": 94, + "index2": 84, + "size": 288, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "issuerId": 121, + "issuerName": "./node_modules/core-js/library/modules/_object-create.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 121, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "module": "./node_modules/core-js/library/modules/_object-create.js", + "moduleName": "./node_modules/core-js/library/modules/_object-create.js", + "type": "cjs require", + "userRequest": "./_dom-create", + "loc": "12:15-39" + }, + { + "moduleId": 178, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_ie8-dom-define.js", + "module": "./node_modules/core-js/library/modules/_ie8-dom-define.js", + "moduleName": "./node_modules/core-js/library/modules/_ie8-dom-define.js", + "type": "cjs require", + "userRequest": "./_dom-create", + "loc": "2:31-55" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};" + }, + { + "id": 180, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_redefine.js", + "name": "./node_modules/core-js/library/modules/_redefine.js", + "index": 97, + "index2": 91, + "size": 36, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_redefine", + "loc": "8:15-37" + }, + { + "moduleId": 187, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "module": "./node_modules/core-js/library/modules/_iter-define.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-define.js", + "type": "cjs require", + "userRequest": "./_redefine", + "loc": "5:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "module.exports = require('./_hide');" + }, + { + "id": 181, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys-internal.js", + "name": "./node_modules/core-js/library/modules/_object-keys-internal.js", + "index": 108, + "index2": 109, + "size": 536, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys.js", + "issuerId": 70, + "issuerName": "./node_modules/core-js/library/modules/_object-keys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 70, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys.js", + "module": "./node_modules/core-js/library/modules/_object-keys.js", + "moduleName": "./node_modules/core-js/library/modules/_object-keys.js", + "type": "cjs require", + "userRequest": "./_object-keys-internal", + "loc": "2:12-46" + }, + { + "moduleId": 184, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopn.js", + "module": "./node_modules/core-js/library/modules/_object-gopn.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopn.js", + "type": "cjs require", + "userRequest": "./_object-keys-internal", + "loc": "2:12-46" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};" + }, + { + "id": 182, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iobject.js", + "name": "./node_modules/core-js/library/modules/_iobject.js", + "index": 110, + "index2": 101, + "size": 288, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-assign.js", + "issuerId": 463, + "issuerName": "./node_modules/core-js/library/modules/_object-assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 50, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-iobject.js", + "module": "./node_modules/core-js/library/modules/_to-iobject.js", + "moduleName": "./node_modules/core-js/library/modules/_to-iobject.js", + "type": "cjs require", + "userRequest": "./_iobject", + "loc": "2:14-35" + }, + { + "moduleId": 463, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-assign.js", + "module": "./node_modules/core-js/library/modules/_object-assign.js", + "moduleName": "./node_modules/core-js/library/modules/_object-assign.js", + "type": "cjs require", + "userRequest": "./_iobject", + "loc": "8:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};" + }, + { + "id": 183, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_cof.js", + "name": "./node_modules/core-js/library/modules/_cof.js", + "index": 111, + "index2": 100, + "size": 105, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_is-array.js", + "issuerId": 329, + "issuerName": "./node_modules/core-js/library/modules/_is-array.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 182, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iobject.js", + "module": "./node_modules/core-js/library/modules/_iobject.js", + "moduleName": "./node_modules/core-js/library/modules/_iobject.js", + "type": "cjs require", + "userRequest": "./_cof", + "loc": "2:10-27" + }, + { + "moduleId": 329, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_is-array.js", + "module": "./node_modules/core-js/library/modules/_is-array.js", + "moduleName": "./node_modules/core-js/library/modules/_is-array.js", + "type": "cjs require", + "userRequest": "./_cof", + "loc": "2:10-27" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};" + }, + { + "id": 184, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopn.js", + "name": "./node_modules/core-js/library/modules/_object-gopn.js", + "index": 126, + "index2": 119, + "size": 287, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_object-gopn", + "loc": "152:2-27" + }, + { + "moduleId": 332, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopn-ext.js", + "module": "./node_modules/core-js/library/modules/_object-gopn-ext.js", + "moduleName": "./node_modules/core-js/library/modules/_object-gopn-ext.js", + "type": "cjs require", + "userRequest": "./_object-gopn", + "loc": "3:11-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};" + }, + { + "id": 185, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopd.js", + "name": "./node_modules/core-js/library/modules/_object-gopd.js", + "index": 127, + "index2": 121, + "size": 574, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_object-gopd", + "loc": "25:12-37" + }, + { + "moduleId": 349, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_set-proto.js", + "module": "./node_modules/core-js/library/modules/_set-proto.js", + "moduleName": "./node_modules/core-js/library/modules/_set-proto.js", + "type": "cjs require", + "userRequest": "./_object-gopd", + "loc": "13:45-70" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {/* empty */}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};" + }, + { + "id": 186, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/symbol.js", + "name": "./node_modules/babel-runtime/core-js/symbol.js", + "index": 128, + "index2": 129, + "size": 87, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/jsx.js", + "issuerId": 2, + "issuerName": "./node_modules/babel-runtime/helpers/jsx.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 2, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/jsx.js", + "module": "./node_modules/babel-runtime/helpers/jsx.js", + "moduleName": "./node_modules/babel-runtime/helpers/jsx.js", + "type": "cjs require", + "userRequest": "../core-js/symbol", + "loc": "9:14-42" + }, + { + "moduleId": 35, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/typeof.js", + "module": "./node_modules/babel-runtime/helpers/typeof.js", + "moduleName": "./node_modules/babel-runtime/helpers/typeof.js", + "type": "cjs require", + "userRequest": "../core-js/symbol", + "loc": "9:14-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };" + }, + { + "id": 187, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "name": "./node_modules/core-js/library/modules/_iter-define.js", + "index": 140, + "index2": 137, + "size": 2866, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.string.iterator.js", + "issuerId": 339, + "issuerName": "./node_modules/core-js/library/modules/es6.string.iterator.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 339, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.string.iterator.js", + "module": "./node_modules/core-js/library/modules/es6.string.iterator.js", + "moduleName": "./node_modules/core-js/library/modules/es6.string.iterator.js", + "type": "cjs require", + "userRequest": "./_iter-define", + "loc": "6:0-25" + }, + { + "moduleId": 343, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.array.iterator.js", + "module": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "moduleName": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "type": "cjs require", + "userRequest": "./_iter-define", + "loc": "12:17-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () {\n return this;\n};\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }return function entries() {\n return new Constructor(this, kind);\n };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() {\n return $native.call(this);\n };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};" + }, + { + "id": 188, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gpo.js", + "name": "./node_modules/core-js/library/modules/_object-gpo.js", + "index": 143, + "index2": 136, + "size": 491, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "issuerId": 187, + "issuerName": "./node_modules/core-js/library/modules/_iter-define.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 187, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "module": "./node_modules/core-js/library/modules/_iter-define.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-define.js", + "type": "cjs require", + "userRequest": "./_object-gpo", + "loc": "11:21-45" + }, + { + "moduleId": 612, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "module": "./node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "type": "cjs require", + "userRequest": "./_object-gpo", + "loc": "3:22-46" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }return O instanceof Object ? ObjectProto : null;\n};" + }, + { + "id": 189, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/utils/PropTypes.js", + "name": "./node_modules/react-redux/es/utils/PropTypes.js", + "index": 167, + "index2": 163, + "size": 430, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/connectAdvanced.js", + "issuerId": 190, + "issuerName": "./node_modules/react-redux/es/components/connectAdvanced.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 190, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/connectAdvanced.js", + "module": "./node_modules/react-redux/es/components/connectAdvanced.js", + "moduleName": "./node_modules/react-redux/es/components/connectAdvanced.js", + "type": "harmony import", + "userRequest": "../utils/PropTypes", + "loc": "40:0-67" + }, + { + "moduleId": 354, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/Provider.js", + "module": "./node_modules/react-redux/es/components/Provider.js", + "moduleName": "./node_modules/react-redux/es/components/Provider.js", + "type": "harmony import", + "userRequest": "../utils/PropTypes", + "loc": "21:0-67" + } + ], + "usedExports": [ + "storeShape", + "subscriptionShape" + ], + "providedExports": [ + "subscriptionShape", + "storeShape" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import PropTypes from 'prop-types';\n\nexport var subscriptionShape = PropTypes.shape({\n trySubscribe: PropTypes.func.isRequired,\n tryUnsubscribe: PropTypes.func.isRequired,\n notifyNestedSubs: PropTypes.func.isRequired,\n isSubscribed: PropTypes.func.isRequired\n});\n\nexport var storeShape = PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n});" + }, + { + "id": 190, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/connectAdvanced.js", + "name": "./node_modules/react-redux/es/components/connectAdvanced.js", + "index": 169, + "index2": 169, + "size": 14305, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/index.js", + "issuerId": 9, + "issuerName": "./node_modules/react-redux/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 9, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/index.js", + "module": "./node_modules/react-redux/es/index.js", + "moduleName": "./node_modules/react-redux/es/index.js", + "type": "harmony import", + "userRequest": "./components/connectAdvanced", + "loc": "2:0-59" + }, + { + "moduleId": 358, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "module": "./node_modules/react-redux/es/connect/connect.js", + "moduleName": "./node_modules/react-redux/es/connect/connect.js", + "type": "harmony import", + "userRequest": "../components/connectAdvanced", + "loc": "17:0-60" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\n}\n\nimport hoistStatics from 'hoist-non-react-statics';\nimport invariant from 'invariant';\nimport { Component, createElement } from 'react';\n\nimport Subscription from '../utils/Subscription';\nimport { storeShape, subscriptionShape } from '../utils/PropTypes';\n\nvar hotReloadingVersion = 0;\nvar dummyState = {};\nfunction noop() {}\nfunction makeSelectorStateful(sourceSelector, store) {\n // wrap the selector in an object that tracks its results between runs.\n var selector = {\n run: function runComponentSelector(props) {\n try {\n var nextProps = sourceSelector(store.getState(), props);\n if (nextProps !== selector.props || selector.error) {\n selector.shouldComponentUpdate = true;\n selector.props = nextProps;\n selector.error = null;\n }\n } catch (error) {\n selector.shouldComponentUpdate = true;\n selector.error = error;\n }\n }\n };\n\n return selector;\n}\n\nexport default function connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory) {\n var _contextTypes, _childContextTypes;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$getDisplayName = _ref.getDisplayName,\n getDisplayName = _ref$getDisplayName === undefined ? function (name) {\n return 'ConnectAdvanced(' + name + ')';\n } : _ref$getDisplayName,\n _ref$methodName = _ref.methodName,\n methodName = _ref$methodName === undefined ? 'connectAdvanced' : _ref$methodName,\n _ref$renderCountProp = _ref.renderCountProp,\n renderCountProp = _ref$renderCountProp === undefined ? undefined : _ref$renderCountProp,\n _ref$shouldHandleStat = _ref.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref$shouldHandleStat === undefined ? true : _ref$shouldHandleStat,\n _ref$storeKey = _ref.storeKey,\n storeKey = _ref$storeKey === undefined ? 'store' : _ref$storeKey,\n _ref$withRef = _ref.withRef,\n withRef = _ref$withRef === undefined ? false : _ref$withRef,\n connectOptions = _objectWithoutProperties(_ref, ['getDisplayName', 'methodName', 'renderCountProp', 'shouldHandleStateChanges', 'storeKey', 'withRef']);\n\n var subscriptionKey = storeKey + 'Subscription';\n var version = hotReloadingVersion++;\n\n var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = storeShape, _contextTypes[subscriptionKey] = subscriptionShape, _contextTypes);\n var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = subscriptionShape, _childContextTypes);\n\n return function wrapWithConnect(WrappedComponent) {\n invariant(typeof WrappedComponent == 'function', 'You must pass a component to the function returned by ' + ('connect. Instead received ' + JSON.stringify(WrappedComponent)));\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n withRef: withRef,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n\n invariant(_this.store, 'Could not find \"' + storeKey + '\" in either the context or props of ' + ('\"' + displayName + '\". Either wrap the root component in a , ') + ('or explicitly pass \"' + storeKey + '\" as a prop to \"' + displayName + '\".'));\n\n _this.initSelector();\n _this.initSubscription();\n return _this;\n }\n\n Connect.prototype.getChildContext = function getChildContext() {\n var _ref2;\n\n // If this component received store from props, its subscription should be transparent\n // to any descendants receiving store+subscription from context; it passes along\n // subscription passed to it. Otherwise, it shadows the parent subscription, which allows\n // Connect to control ordering of notifications to flow top-down.\n var subscription = this.propsMode ? null : this.subscription;\n return _ref2 = {}, _ref2[subscriptionKey] = subscription || this.context[subscriptionKey], _ref2;\n };\n\n Connect.prototype.componentDidMount = function componentDidMount() {\n if (!shouldHandleStateChanges) return;\n\n // componentWillMount fires during server side rendering, but componentDidMount and\n // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.\n // Otherwise, unsubscription would never take place during SSR, causing a memory leak.\n // To handle the case where a child component may have triggered a state change by\n // dispatching an action in its componentWillMount, we have to re-run the select and maybe\n // re-render.\n this.subscription.trySubscribe();\n this.selector.run(this.props);\n if (this.selector.shouldComponentUpdate) this.forceUpdate();\n };\n\n Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n this.selector.run(nextProps);\n };\n\n Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n return this.selector.shouldComponentUpdate;\n };\n\n Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.subscription) this.subscription.tryUnsubscribe();\n this.subscription = null;\n this.notifyNestedSubs = noop;\n this.store = null;\n this.selector.run = noop;\n this.selector.shouldComponentUpdate = false;\n };\n\n Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n invariant(withRef, 'To access the wrapped instance, you need to specify ' + ('{ withRef: true } in the options argument of the ' + methodName + '() call.'));\n return this.wrappedInstance;\n };\n\n Connect.prototype.setWrappedInstance = function setWrappedInstance(ref) {\n this.wrappedInstance = ref;\n };\n\n Connect.prototype.initSelector = function initSelector() {\n var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);\n this.selector = makeSelectorStateful(sourceSelector, this.store);\n this.selector.run(this.props);\n };\n\n Connect.prototype.initSubscription = function initSubscription() {\n if (!shouldHandleStateChanges) return;\n\n // parentSub's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];\n this.subscription = new Subscription(this.store, parentSub, this.onStateChange.bind(this));\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `this.subscription` will then be null. An\n // extra null check every change can be avoided by copying the method onto `this` and then\n // replacing it with a no-op on unmount. This can probably be avoided if Subscription's\n // listeners logic is changed to not call listeners that have been unsubscribed in the\n // middle of the notification loop.\n this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);\n };\n\n Connect.prototype.onStateChange = function onStateChange() {\n this.selector.run(this.props);\n\n if (!this.selector.shouldComponentUpdate) {\n this.notifyNestedSubs();\n } else {\n this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;\n this.setState(dummyState);\n }\n };\n\n Connect.prototype.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {\n // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it\n // needs to notify nested subs. Once called, it unimplements itself until further state\n // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does\n // a boolean check every time avoids an extra method call most of the time, resulting\n // in some perf boost.\n this.componentDidUpdate = undefined;\n this.notifyNestedSubs();\n };\n\n Connect.prototype.isSubscribed = function isSubscribed() {\n return Boolean(this.subscription) && this.subscription.isSubscribed();\n };\n\n Connect.prototype.addExtraProps = function addExtraProps(props) {\n if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props;\n // make a shallow copy so that fields added don't leak to the original selector.\n // this is especially important for 'ref' since that's a reference back to the component\n // instance. a singleton memoized selector would then be holding a reference to the\n // instance, preventing the instance from being garbage collected, and that would be bad\n var withExtras = _extends({}, props);\n if (withRef) withExtras.ref = this.setWrappedInstance;\n if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;\n if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;\n return withExtras;\n };\n\n Connect.prototype.render = function render() {\n var selector = this.selector;\n selector.shouldComponentUpdate = false;\n\n if (selector.error) {\n throw selector.error;\n } else {\n return createElement(WrappedComponent, this.addExtraProps(selector.props));\n }\n };\n\n return Connect;\n }(Component);\n\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n Connect.childContextTypes = childContextTypes;\n Connect.contextTypes = contextTypes;\n Connect.propTypes = contextTypes;\n\n if (process.env.NODE_ENV !== 'production') {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n var _this2 = this;\n\n // We are hot reloading!\n if (this.version !== version) {\n this.version = version;\n this.initSelector();\n\n // If any connected descendants don't hot reload (and resubscribe in the process), their\n // listeners will be lost when we unsubscribe. Unfortunately, by copying over all\n // listeners, this does mean that the old versions of connected descendants will still be\n // notified of state changes; however, their onStateChange function is a no-op so this\n // isn't a huge deal.\n var oldListeners = [];\n\n if (this.subscription) {\n oldListeners = this.subscription.listeners.get();\n this.subscription.tryUnsubscribe();\n }\n this.initSubscription();\n if (shouldHandleStateChanges) {\n this.subscription.trySubscribe();\n oldListeners.forEach(function (listener) {\n return _this2.subscription.listeners.subscribe(listener);\n });\n }\n }\n };\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}" + }, + { + "id": 191, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/hoist-non-react-statics/index.js", + "name": "./node_modules/hoist-non-react-statics/index.js", + "index": 170, + "index2": 166, + "size": 2042, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/withRouter.js", + "issuerId": 521, + "issuerName": "./node_modules/react-router/es/withRouter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 190, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/connectAdvanced.js", + "module": "./node_modules/react-redux/es/components/connectAdvanced.js", + "moduleName": "./node_modules/react-redux/es/components/connectAdvanced.js", + "type": "harmony import", + "userRequest": "hoist-non-react-statics", + "loc": "35:0-51" + }, + { + "moduleId": 521, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/withRouter.js", + "module": "./node_modules/react-router/es/withRouter.js", + "moduleName": "./node_modules/react-router/es/withRouter.js", + "type": "harmony import", + "userRequest": "hoist-non-react-statics", + "loc": "19:0-51" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n'use strict';\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nmodule.exports = function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n};" + }, + { + "id": 192, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "name": "./node_modules/redux/es/index.js", + "index": 176, + "index2": 191, + "size": 1077, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "issuerId": 126, + "issuerName": "./app/javascript/mastodon/store/configureStore.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 126, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "module": "./app/javascript/mastodon/store/configureStore.js", + "moduleName": "./app/javascript/mastodon/store/configureStore.js", + "type": "harmony import", + "userRequest": "redux", + "loc": "1:0-62" + }, + { + "moduleId": 360, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/mapDispatchToProps.js", + "module": "./node_modules/react-redux/es/connect/mapDispatchToProps.js", + "moduleName": "./node_modules/react-redux/es/connect/mapDispatchToProps.js", + "type": "harmony import", + "userRequest": "redux", + "loc": "1:0-43" + } + ], + "usedExports": [ + "applyMiddleware", + "bindActionCreators", + "compose", + "createStore" + ], + "providedExports": [ + "createStore", + "combineReducers", + "bindActionCreators", + "applyMiddleware", + "compose" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import createStore from './createStore';\nimport combineReducers from './combineReducers';\nimport bindActionCreators from './bindActionCreators';\nimport applyMiddleware from './applyMiddleware';\nimport compose from './compose';\nimport warning from './utils/warning';\n\n/*\n* This is a dummy function to check if the function name has been altered by minification.\n* If the function has been minified and NODE_ENV !== 'production', warn the user.\n*/\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose };" + }, + { + "id": 193, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/createStore.js", + "name": "./node_modules/redux/es/createStore.js", + "index": 177, + "index2": 185, + "size": 8877, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "issuerId": 192, + "issuerName": "./node_modules/redux/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 192, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "module": "./node_modules/redux/es/index.js", + "moduleName": "./node_modules/redux/es/index.js", + "type": "harmony import", + "userRequest": "./createStore", + "loc": "1:0-40" + }, + { + "moduleId": 372, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/combineReducers.js", + "module": "./node_modules/redux/es/combineReducers.js", + "moduleName": "./node_modules/redux/es/combineReducers.js", + "type": "harmony import", + "userRequest": "./createStore", + "loc": "1:0-44" + } + ], + "usedExports": [ + "ActionTypes", + "default" + ], + "providedExports": [ + "ActionTypes", + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}" + }, + { + "id": 194, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_Symbol.js", + "name": "./node_modules/lodash-es/_Symbol.js", + "index": 180, + "index2": 173, + "size": 115, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_baseGetTag.js", + "issuerId": 361, + "issuerName": "./node_modules/lodash-es/_baseGetTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 361, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_baseGetTag.js", + "module": "./node_modules/lodash-es/_baseGetTag.js", + "moduleName": "./node_modules/lodash-es/_baseGetTag.js", + "type": "harmony import", + "userRequest": "./_Symbol.js", + "loc": "1:0-34" + }, + { + "moduleId": 364, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_getRawTag.js", + "module": "./node_modules/lodash-es/_getRawTag.js", + "moduleName": "./node_modules/lodash-es/_getRawTag.js", + "type": "harmony import", + "userRequest": "./_Symbol.js", + "loc": "1:0-34" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;" + }, + { + "id": 195, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/utils/warning.js", + "name": "./node_modules/redux/es/utils/warning.js", + "index": 193, + "index2": 186, + "size": 637, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "issuerId": 192, + "issuerName": "./node_modules/redux/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 192, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "module": "./node_modules/redux/es/index.js", + "moduleName": "./node_modules/redux/es/index.js", + "type": "harmony import", + "userRequest": "./utils/warning", + "loc": "6:0-38" + }, + { + "moduleId": 372, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/combineReducers.js", + "module": "./node_modules/redux/es/combineReducers.js", + "moduleName": "./node_modules/redux/es/combineReducers.js", + "type": "harmony import", + "userRequest": "./utils/warning", + "loc": "3:0-38" + } + ], + "usedExports": false, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}" + }, + { + "id": 196, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/compose.js", + "name": "./node_modules/redux/es/compose.js", + "index": 196, + "index2": 189, + "size": 870, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "issuerId": 192, + "issuerName": "./node_modules/redux/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 192, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "module": "./node_modules/redux/es/index.js", + "moduleName": "./node_modules/redux/es/index.js", + "type": "harmony import", + "userRequest": "./compose", + "loc": "5:0-32" + }, + { + "moduleId": 374, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/applyMiddleware.js", + "module": "./node_modules/redux/es/applyMiddleware.js", + "moduleName": "./node_modules/redux/es/applyMiddleware.js", + "type": "harmony import", + "userRequest": "./compose", + "loc": "11:0-32" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}" + }, + { + "id": 197, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/wrapMapToProps.js", + "name": "./node_modules/react-redux/es/connect/wrapMapToProps.js", + "index": 197, + "index2": 193, + "size": 2797, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/mapDispatchToProps.js", + "issuerId": 360, + "issuerName": "./node_modules/react-redux/es/connect/mapDispatchToProps.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 360, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/mapDispatchToProps.js", + "module": "./node_modules/react-redux/es/connect/mapDispatchToProps.js", + "moduleName": "./node_modules/react-redux/es/connect/mapDispatchToProps.js", + "type": "harmony import", + "userRequest": "./wrapMapToProps", + "loc": "2:0-78" + }, + { + "moduleId": 375, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/mapStateToProps.js", + "module": "./node_modules/react-redux/es/connect/mapStateToProps.js", + "moduleName": "./node_modules/react-redux/es/connect/mapStateToProps.js", + "type": "harmony import", + "userRequest": "./wrapMapToProps", + "loc": "1:0-78" + } + ], + "usedExports": [ + "wrapMapToPropsConstant", + "wrapMapToPropsFunc" + ], + "providedExports": [ + "wrapMapToPropsConstant", + "getDependsOnOwnProps", + "wrapMapToPropsFunc" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import verifyPlainObject from '../utils/verifyPlainObject';\n\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n}\n\n// dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n// \n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n}\n\n// Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n// \n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n// \n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n// \n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n// \nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n };\n\n // allow detectFactoryAndVerify to get ownProps\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n\n return props;\n };\n\n return proxy;\n };\n}" + }, + { + "id": 198, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/utils/verifyPlainObject.js", + "name": "./node_modules/react-redux/es/utils/verifyPlainObject.js", + "index": 198, + "index2": 192, + "size": 314, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/mergeProps.js", + "issuerId": 376, + "issuerName": "./node_modules/react-redux/es/connect/mergeProps.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 197, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/wrapMapToProps.js", + "module": "./node_modules/react-redux/es/connect/wrapMapToProps.js", + "moduleName": "./node_modules/react-redux/es/connect/wrapMapToProps.js", + "type": "harmony import", + "userRequest": "../utils/verifyPlainObject", + "loc": "1:0-59" + }, + { + "moduleId": 376, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/mergeProps.js", + "module": "./node_modules/react-redux/es/connect/mergeProps.js", + "moduleName": "./node_modules/react-redux/es/connect/mergeProps.js", + "type": "harmony import", + "userRequest": "../utils/verifyPlainObject", + "loc": "11:0-59" + } + ], + "usedExports": false, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './warning';\n\nexport default function verifyPlainObject(value, displayName, methodName) {\n if (!isPlainObject(value)) {\n warning(methodName + '() in ' + displayName + ' must return a plain object. Instead received ' + value + '.');\n }\n}" + }, + { + "id": 199, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/getStateName.js", + "name": "./node_modules/redux-immutable/dist/utilities/getStateName.js", + "index": 210, + "index2": 203, + "size": 342, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/index.js", + "issuerId": 383, + "issuerName": "./node_modules/redux-immutable/dist/utilities/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 383, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/index.js", + "module": "./node_modules/redux-immutable/dist/utilities/index.js", + "moduleName": "./node_modules/redux-immutable/dist/utilities/index.js", + "type": "cjs require", + "userRequest": "./getStateName", + "loc": "8:21-46" + }, + { + "moduleId": 384, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/getUnexpectedInvocationParameterMessage.js", + "module": "./node_modules/redux-immutable/dist/utilities/getUnexpectedInvocationParameterMessage.js", + "moduleName": "./node_modules/redux-immutable/dist/utilities/getUnexpectedInvocationParameterMessage.js", + "type": "cjs require", + "userRequest": "./getStateName", + "loc": "11:20-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (action) {\n return action && action.type === '@@redux/INIT' ? 'initialState argument passed to createStore' : 'previous state received by the reducer';\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=getStateName.js.map" + }, + { + "id": 200, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/bind.js", + "name": "./node_modules/axios/lib/helpers/bind.js", + "index": 219, + "index2": 209, + "size": 255, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "issuerId": 387, + "issuerName": "./node_modules/axios/lib/axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 20, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/utils.js", + "module": "./node_modules/axios/lib/utils.js", + "moduleName": "./node_modules/axios/lib/utils.js", + "type": "cjs require", + "userRequest": "./helpers/bind", + "loc": "3:11-36" + }, + { + "moduleId": 387, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "module": "./node_modules/axios/lib/axios.js", + "moduleName": "./node_modules/axios/lib/axios.js", + "type": "cjs require", + "userRequest": "./helpers/bind", + "loc": "4:11-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};" + }, + { + "id": 201, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "name": "./node_modules/axios/lib/adapters/xhr.js", + "index": 225, + "index2": 222, + "size": 6118, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/defaults.js", + "issuerId": 127, + "issuerName": "./node_modules/axios/lib/defaults.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 127, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/defaults.js", + "module": "./node_modules/axios/lib/defaults.js", + "moduleName": "./node_modules/axios/lib/defaults.js", + "type": "cjs require", + "userRequest": "./adapters/http", + "loc": "23:14-40" + }, + { + "moduleId": 127, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/defaults.js", + "module": "./node_modules/axios/lib/defaults.js", + "moduleName": "./node_modules/axios/lib/defaults.js", + "type": "cjs require", + "userRequest": "./adapters/xhr", + "loc": "20:14-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = typeof window !== 'undefined' && window.btoa && window.btoa.bind(window) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' && typeof window !== 'undefined' && window.XDomainRequest && !('withCredentials' in request) && !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || request.readyState !== 4 && !xDomain) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/mzabriskie/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};" + }, + { + "id": 202, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/createError.js", + "name": "./node_modules/axios/lib/core/createError.js", + "index": 227, + "index2": 215, + "size": 624, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "issuerId": 201, + "issuerName": "./node_modules/axios/lib/adapters/xhr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 201, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "module": "./node_modules/axios/lib/adapters/xhr.js", + "moduleName": "./node_modules/axios/lib/adapters/xhr.js", + "type": "cjs require", + "userRequest": "../core/createError", + "loc": "8:18-48" + }, + { + "moduleId": 391, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/settle.js", + "module": "./node_modules/axios/lib/core/settle.js", + "moduleName": "./node_modules/axios/lib/core/settle.js", + "type": "cjs require", + "userRequest": "./createError", + "loc": "3:18-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};" + }, + { + "id": 203, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/cancel/isCancel.js", + "name": "./node_modules/axios/lib/cancel/isCancel.js", + "index": 237, + "index2": 226, + "size": 101, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "issuerId": 387, + "issuerName": "./node_modules/axios/lib/axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 387, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "module": "./node_modules/axios/lib/axios.js", + "moduleName": "./node_modules/axios/lib/axios.js", + "type": "cjs require", + "userRequest": "./cancel/isCancel", + "loc": "41:17-45" + }, + { + "moduleId": 399, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/dispatchRequest.js", + "module": "./node_modules/axios/lib/core/dispatchRequest.js", + "moduleName": "./node_modules/axios/lib/core/dispatchRequest.js", + "type": "cjs require", + "userRequest": "../cancel/isCancel", + "loc": "5:15-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};" + }, + { + "id": 204, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/cancel/Cancel.js", + "name": "./node_modules/axios/lib/cancel/Cancel.js", + "index": 240, + "index2": 231, + "size": 385, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "issuerId": 387, + "issuerName": "./node_modules/axios/lib/axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 387, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "module": "./node_modules/axios/lib/axios.js", + "moduleName": "./node_modules/axios/lib/axios.js", + "type": "cjs require", + "userRequest": "./cancel/Cancel", + "loc": "39:15-41" + }, + { + "moduleId": 403, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/cancel/CancelToken.js", + "module": "./node_modules/axios/lib/cancel/CancelToken.js", + "moduleName": "./node_modules/axios/lib/cancel/CancelToken.js", + "type": "cjs require", + "userRequest": "./Cancel", + "loc": "3:13-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;" + }, + { + "id": 205, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/querystring-es3/index.js", + "name": "./node_modules/querystring-es3/index.js", + "index": 245, + "index2": 238, + "size": 126, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/link_header.js", + "issuerId": 405, + "issuerName": "./app/javascript/mastodon/link_header.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 405, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/link_header.js", + "module": "./app/javascript/mastodon/link_header.js", + "moduleName": "./app/javascript/mastodon/link_header.js", + "type": "harmony import", + "userRequest": "querystring", + "loc": "2:0-38" + }, + { + "moduleId": 406, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/http-link-header/lib/link.js", + "module": "./node_modules/http-link-header/lib/link.js", + "moduleName": "./node_modules/http-link-header/lib/link.js", + "type": "cjs require", + "userRequest": "querystring", + "loc": "1:18-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');" + }, + { + "id": 206, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/loading_bar.js", + "name": "./node_modules/react-redux-loading-bar/build/loading_bar.js", + "index": 255, + "index2": 250, + "size": 9249, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/index.js", + "issuerId": 129, + "issuerName": "./node_modules/react-redux-loading-bar/build/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 129, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/index.js", + "module": "./node_modules/react-redux-loading-bar/build/index.js", + "moduleName": "./node_modules/react-redux-loading-bar/build/index.js", + "type": "cjs require", + "userRequest": "./loading_bar", + "loc": "8:19-43" + }, + { + "moduleId": 413, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/immutable.js", + "module": "./node_modules/react-redux-loading-bar/build/immutable.js", + "moduleName": "./node_modules/react-redux-loading-bar/build/immutable.js", + "type": "cjs require", + "userRequest": "./loading_bar", + "loc": "9:19-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoadingBar = exports.TERMINATING_ANIMATION_TIME = exports.ANIMATION_TIME = exports.PROGRESS_INCREASE = exports.MAX_PROGRESS = exports.UPDATE_TIME = undefined;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _reactRedux = require('react-redux');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: 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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar UPDATE_TIME = exports.UPDATE_TIME = 200;\nvar MAX_PROGRESS = exports.MAX_PROGRESS = 99;\nvar PROGRESS_INCREASE = exports.PROGRESS_INCREASE = 10;\nvar ANIMATION_TIME = exports.ANIMATION_TIME = UPDATE_TIME * 4;\nvar TERMINATING_ANIMATION_TIME = exports.TERMINATING_ANIMATION_TIME = UPDATE_TIME / 2;\n\nvar initialState = {\n terminatingAnimationTimeout: null,\n percent: 0,\n progressInterval: null\n};\n\nvar LoadingBar = exports.LoadingBar = function (_React$Component) {\n _inherits(LoadingBar, _React$Component);\n\n function LoadingBar(props) {\n _classCallCheck(this, LoadingBar);\n\n var _this = _possibleConstructorReturn(this, (LoadingBar.__proto__ || Object.getPrototypeOf(LoadingBar)).call(this, props));\n\n _this.state = _extends({}, initialState, {\n hasMounted: false\n });\n\n _this.boundSimulateProgress = _this.simulateProgress.bind(_this);\n _this.boundResetProgress = _this.resetProgress.bind(_this);\n return _this;\n }\n\n _createClass(LoadingBar, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n // Re-render the component after mount to fix problems with SSR and CSP.\n //\n // Apps that use Server Side Rendering and has Content Security Policy\n // for style that doesn't allow inline styles should render an empty div\n // and replace it with the actual Loading Bar after mount\n // See: https://github.com/mironov/react-redux-loading-bar/issues/39\n //\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ hasMounted: true });\n\n if (this.props.loading > 0) {\n this.launch();\n }\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (this.shouldStart(nextProps)) {\n this.launch();\n } else if (this.shouldStop(nextProps)) {\n if (this.state.percent === 0 && !this.props.showFastActions) {\n // not even shown yet because the action finished quickly after start\n clearInterval(this.state.progressInterval);\n this.resetProgress();\n } else {\n // should progress to 100 percent\n this.setState({ percent: 100 });\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearInterval(this.state.progressInterval);\n clearTimeout(this.state.terminatingAnimationTimeout);\n }\n }, {\n key: 'shouldStart',\n value: function shouldStart(nextProps) {\n return this.props.loading === 0 && nextProps.loading > 0;\n }\n }, {\n key: 'shouldStop',\n value: function shouldStop(nextProps) {\n return this.state.progressInterval && nextProps.loading === 0;\n }\n }, {\n key: 'shouldShow',\n value: function shouldShow() {\n return this.state.percent > 0 && this.state.percent <= 100;\n }\n }, {\n key: 'launch',\n value: function launch() {\n var _state = this.state,\n progressInterval = _state.progressInterval,\n percent = _state.percent;\n var terminatingAnimationTimeout = this.state.terminatingAnimationTimeout;\n\n var loadingBarNotShown = !progressInterval;\n var terminatingAnimationGoing = percent === 100;\n\n if (loadingBarNotShown) {\n progressInterval = setInterval(this.boundSimulateProgress, this.props.updateTime);\n }\n\n if (terminatingAnimationGoing) {\n clearTimeout(terminatingAnimationTimeout);\n }\n\n percent = 0;\n\n this.setState({ progressInterval: progressInterval, percent: percent });\n }\n }, {\n key: 'newPercent',\n value: function newPercent() {\n var percent = this.state.percent;\n var progressIncrease = this.props.progressIncrease;\n\n // Use cos as a smoothing function\n // Can be any function to slow down progress near the 100%\n\n var smoothedProgressIncrease = progressIncrease * Math.cos(percent * (Math.PI / 2 / 100));\n\n return percent + smoothedProgressIncrease;\n }\n }, {\n key: 'simulateProgress',\n value: function simulateProgress() {\n var _state2 = this.state,\n progressInterval = _state2.progressInterval,\n percent = _state2.percent,\n terminatingAnimationTimeout = _state2.terminatingAnimationTimeout;\n var maxProgress = this.props.maxProgress;\n\n if (percent === 100) {\n clearInterval(progressInterval);\n terminatingAnimationTimeout = setTimeout(this.boundResetProgress, TERMINATING_ANIMATION_TIME);\n progressInterval = null;\n } else if (this.newPercent() <= maxProgress) {\n percent = this.newPercent();\n }\n\n this.setState({ percent: percent, progressInterval: progressInterval, terminatingAnimationTimeout: terminatingAnimationTimeout });\n }\n }, {\n key: 'resetProgress',\n value: function resetProgress() {\n this.setState(initialState);\n }\n }, {\n key: 'buildStyle',\n value: function buildStyle() {\n var animationTime = this.state.percent !== 100 ? ANIMATION_TIME : TERMINATING_ANIMATION_TIME;\n\n var style = {\n opacity: '1',\n transform: 'scaleX(' + this.state.percent / 100 + ')',\n transformOrigin: 'left',\n transition: 'transform ' + animationTime + 'ms linear',\n width: '100%',\n willChange: 'transform, opacity'\n\n // Use default styling if there's no CSS class applied\n };if (!this.props.className) {\n style.height = '3px';\n style.backgroundColor = 'red';\n style.position = 'absolute';\n }\n\n if (this.shouldShow()) {\n style.opacity = '1';\n } else {\n style.opacity = '0';\n }\n\n return _extends({}, style, this.props.style);\n }\n }, {\n key: 'render',\n value: function render() {\n // In order not to violate strict style CSP it's better to make\n // an extra re-render after component mount\n if (!this.state.hasMounted) {\n return _react2.default.createElement('div', null);\n }\n\n return _react2.default.createElement('div', null, _react2.default.createElement('div', { style: this.buildStyle(), className: this.props.className }), _react2.default.createElement('div', { style: { display: 'table', clear: 'both' } }));\n }\n }]);\n\n return LoadingBar;\n}(_react2.default.Component);\n\nLoadingBar.propTypes = {\n className: _propTypes.string,\n loading: _propTypes.number,\n maxProgress: _propTypes.number,\n progressIncrease: _propTypes.number,\n showFastActions: _propTypes.bool,\n // eslint-disable-next-line react/forbid-prop-types\n style: _propTypes.object,\n updateTime: _propTypes.number\n};\n\nLoadingBar.defaultProps = {\n className: undefined,\n loading: 0,\n maxProgress: MAX_PROGRESS,\n progressIncrease: PROGRESS_INCREASE,\n showFastActions: false,\n style: {},\n updateTime: UPDATE_TIME\n};\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n loading: state.loadingBar\n };\n};\n\nexports.default = (0, _reactRedux.connect)(mapStateToProps)(LoadingBar);" + }, + { + "id": 207, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/loading_bar_ducks.js", + "name": "./node_modules/react-redux-loading-bar/build/loading_bar_ducks.js", + "index": 257, + "index2": 251, + "size": 1045, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/index.js", + "issuerId": 129, + "issuerName": "./node_modules/react-redux-loading-bar/build/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 129, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/index.js", + "module": "./node_modules/react-redux-loading-bar/build/index.js", + "moduleName": "./node_modules/react-redux-loading-bar/build/index.js", + "type": "cjs require", + "userRequest": "./loading_bar_ducks", + "loc": "16:25-55" + }, + { + "moduleId": 412, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/loading_bar_middleware.js", + "module": "./node_modules/react-redux-loading-bar/build/loading_bar_middleware.js", + "moduleName": "./node_modules/react-redux-loading-bar/build/loading_bar_middleware.js", + "type": "cjs require", + "userRequest": "./loading_bar_ducks", + "loc": "35:25-55" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.showLoading = showLoading;\nexports.hideLoading = hideLoading;\nexports.resetLoading = resetLoading;\nexports.loadingBarReducer = loadingBarReducer;\nvar SHOW = exports.SHOW = 'loading-bar/SHOW';\nvar HIDE = exports.HIDE = 'loading-bar/HIDE';\nvar RESET = exports.RESET = 'loading-bar/RESET';\n\nfunction showLoading() {\n return {\n type: SHOW\n };\n}\n\nfunction hideLoading() {\n return {\n type: HIDE\n };\n}\n\nfunction resetLoading() {\n return {\n type: RESET\n };\n}\n\nfunction loadingBarReducer() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var newState = void 0;\n\n switch (action.type) {\n case SHOW:\n newState = state + 1;\n break;\n case HIDE:\n newState = state > 0 ? state - 1 : 0;\n break;\n case RESET:\n newState = 0;\n break;\n default:\n return state;\n }\n\n return newState;\n}" + }, + { + "id": 208, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_freeGlobal.js", + "name": "./node_modules/lodash/_freeGlobal.js", + "index": 272, + "index2": 262, + "size": 172, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_root.js", + "issuerId": 25, + "issuerName": "./node_modules/lodash/_root.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 25, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_root.js", + "module": "./node_modules/lodash/_root.js", + "moduleName": "./node_modules/lodash/_root.js", + "type": "cjs require", + "userRequest": "./_freeGlobal", + "loc": "1:17-41" + }, + { + "moduleId": 547, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_nodeUtil.js", + "module": "./node_modules/lodash/_nodeUtil.js", + "moduleName": "./node_modules/lodash/_nodeUtil.js", + "type": "cjs require", + "userRequest": "./_freeGlobal", + "loc": "1:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;" + }, + { + "id": 209, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "name": "./app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "index": 280, + "index2": 278, + "size": 4598, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/compose.js", + "issuerId": 15, + "issuerName": "./app/javascript/mastodon/actions/compose.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 15, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/compose.js", + "module": "./app/javascript/mastodon/actions/compose.js", + "moduleName": "./app/javascript/mastodon/actions/compose.js", + "type": "harmony import", + "userRequest": "../features/emoji/emoji_mart_search_light", + "loc": "5:0-82" + }, + { + "moduleId": 456, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/custom_emojis.js", + "module": "./app/javascript/mastodon/reducers/custom_emojis.js", + "moduleName": "./app/javascript/mastodon/reducers/custom_emojis.js", + "type": "harmony import", + "userRequest": "../features/emoji/emoji_mart_search_light", + "loc": "3:0-82" + } + ], + "usedExports": [ + "search" + ], + "providedExports": [ + "search" + ], + "optimizationBailout": [], + "depth": 5, + "source": "// This code is largely borrowed from:\n// https://github.com/missive/emoji-mart/blob/5f2ffcc/src/utils/emoji-index.js\n\nimport data from './emoji_mart_data_light';\nimport { getData, getSanitizedData, intersect } from './emoji_utils';\n\nvar originalPool = {};\nvar index = {};\nvar emojisList = {};\nvar emoticonsList = {};\n\nvar _loop = function _loop(emoji) {\n var emojiData = data.emojis[emoji];\n var short_names = emojiData.short_names,\n emoticons = emojiData.emoticons;\n\n var id = short_names[0];\n\n if (emoticons) {\n emoticons.forEach(function (emoticon) {\n if (emoticonsList[emoticon]) {\n return;\n }\n\n emoticonsList[emoticon] = id;\n });\n }\n\n emojisList[id] = getSanitizedData(id);\n originalPool[id] = emojiData;\n};\n\nfor (var emoji in data.emojis) {\n _loop(emoji);\n}\n\nfunction addCustomToPool(custom, pool) {\n custom.forEach(function (emoji) {\n var emojiId = emoji.id || emoji.short_names[0];\n\n if (emojiId && !pool[emojiId]) {\n pool[emojiId] = getData(emoji);\n emojisList[emojiId] = getSanitizedData(emoji);\n }\n });\n}\n\nfunction search(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n emojisToShowFilter = _ref.emojisToShowFilter,\n maxResults = _ref.maxResults,\n include = _ref.include,\n exclude = _ref.exclude,\n _ref$custom = _ref.custom,\n custom = _ref$custom === undefined ? [] : _ref$custom;\n\n addCustomToPool(custom, originalPool);\n\n maxResults = maxResults || 75;\n include = include || [];\n exclude = exclude || [];\n\n var results = null,\n pool = originalPool;\n\n if (value.length) {\n if (value === '-' || value === '-1') {\n return [emojisList['-1']];\n }\n\n var values = value.toLowerCase().split(/[\\s|,|\\-|_]+/),\n allResults = [];\n\n if (values.length > 2) {\n values = [values[0], values[1]];\n }\n\n if (include.length || exclude.length) {\n pool = {};\n\n data.categories.forEach(function (category) {\n var isIncluded = include && include.length ? include.indexOf(category.name.toLowerCase()) > -1 : true;\n var isExcluded = exclude && exclude.length ? exclude.indexOf(category.name.toLowerCase()) > -1 : false;\n if (!isIncluded || isExcluded) {\n return;\n }\n\n category.emojis.forEach(function (emojiId) {\n return pool[emojiId] = data.emojis[emojiId];\n });\n });\n\n if (custom.length) {\n var customIsIncluded = include && include.length ? include.indexOf('custom') > -1 : true;\n var customIsExcluded = exclude && exclude.length ? exclude.indexOf('custom') > -1 : false;\n if (customIsIncluded && !customIsExcluded) {\n addCustomToPool(custom, pool);\n }\n }\n }\n\n allResults = values.map(function (value) {\n var aPool = pool,\n aIndex = index,\n length = 0;\n\n for (var charIndex = 0; charIndex < value.length; charIndex++) {\n var char = value[charIndex];\n length++;\n\n aIndex[char] = aIndex[char] || {};\n aIndex = aIndex[char];\n\n if (!aIndex.results) {\n (function () {\n var scores = {};\n\n aIndex.results = [];\n aIndex.pool = {};\n\n for (var _id in aPool) {\n var emoji = aPool[_id],\n _search = emoji.search,\n sub = value.substr(0, length),\n subIndex = _search.indexOf(sub);\n\n\n if (subIndex !== -1) {\n var score = subIndex + 1;\n if (sub === _id) score = 0;\n\n aIndex.results.push(emojisList[_id]);\n aIndex.pool[_id] = emoji;\n\n scores[_id] = score;\n }\n }\n\n aIndex.results.sort(function (a, b) {\n var aScore = scores[a.id],\n bScore = scores[b.id];\n\n return aScore - bScore;\n });\n })();\n }\n\n aPool = aIndex.pool;\n }\n\n return aIndex.results;\n }).filter(function (a) {\n return a;\n });\n\n if (allResults.length > 1) {\n results = intersect.apply(null, allResults);\n } else if (allResults.length) {\n results = allResults[0];\n } else {\n results = [];\n }\n }\n\n if (results) {\n if (emojisToShowFilter) {\n results = results.filter(function (result) {\n return emojisToShowFilter(data.emojis[result.id].unified);\n });\n }\n\n if (results && results.length > maxResults) {\n results = results.slice(0, maxResults);\n }\n }\n\n return results;\n}\n\nexport { search };" + }, + { + "id": 210, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_mart_data_light.js", + "name": "./app/javascript/mastodon/features/emoji/emoji_mart_data_light.js", + "index": 281, + "index2": 276, + "size": 1300, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "issuerId": 209, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 209, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "module": "./app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "type": "harmony import", + "userRequest": "./emoji_mart_data_light", + "loc": "4:0-43" + }, + { + "moduleId": 423, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_utils.js", + "module": "./app/javascript/mastodon/features/emoji/emoji_utils.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji_utils.js", + "type": "harmony import", + "userRequest": "./emoji_mart_data_light", + "loc": "5:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// The output of this module is designed to mimic emoji-mart's\n// \"data\" object, such that we can use it for a light version of emoji-mart's\n// emojiIndex.search functionality.\nvar _require = require('./unicode_to_unified_name'),\n unicodeToUnifiedName = _require.unicodeToUnifiedName;\n\nvar _require2 = require('./emoji_compressed'),\n shortCodesToEmojiData = _require2[0],\n skins = _require2[1],\n categories = _require2[2],\n short_names = _require2[3];\n\nvar emojis = {};\n\n// decompress\nObject.keys(shortCodesToEmojiData).forEach(function (shortCode) {\n var _shortCodesToEmojiDat = shortCodesToEmojiData[shortCode],\n filenameData = _shortCodesToEmojiDat[0],\n // eslint-disable-line no-unused-vars\n searchData = _shortCodesToEmojiDat[1];\n var native = searchData[0],\n short_names = searchData[1],\n search = searchData[2],\n unified = searchData[3];\n\n\n if (!unified) {\n // unified name can be derived from unicodeToUnifiedName\n unified = unicodeToUnifiedName(native);\n }\n\n short_names = [shortCode].concat(short_names);\n emojis[shortCode] = {\n native: native,\n search: search,\n short_names: short_names,\n unified: unified\n };\n});\n\nmodule.exports = {\n emojis: emojis,\n skins: skins,\n categories: categories,\n short_names: short_names\n};" + }, + { + "id": 211, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_compressed.js", + "name": "./app/javascript/mastodon/features/emoji/emoji_compressed.js", + "index": 283, + "index2": 275, + "size": 201072, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "issuerId": 160, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 160, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "module": "./app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "type": "cjs require", + "userRequest": "./emoji_compressed", + "loc": "3:15-44" + }, + { + "moduleId": 210, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_mart_data_light.js", + "module": "./app/javascript/mastodon/features/emoji/emoji_mart_data_light.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji_mart_data_light.js", + "type": "cjs require", + "userRequest": "./emoji_compressed", + "loc": "7:16-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "// this file was prevaled\n// http://www.unicode.org/Public/emoji/5.0/emoji-test.txt\n// This file contains the compressed version of the emoji data from\n// both emoji_map.json and from emoji-mart's emojiIndex and data objects.\n// It's designed to be emitted in an array format to take up less space\n// over the wire.\n\nmodule.exports = [{ \"100\": [[[\"💯\"]], [\"💯\", [], \"100,hundred,points,symbol,score,perfect,numbers,century,exam,quiz,test,pass\"]], \"1234\": [[[\"🔢\"]], [\"🔢\", [], \"1234,input,symbol,for,numbers,blue-square\"]], \"grinning\": [[[\"😀\"]], [\"😀\", [], \"grinning,face,smile,happy,joy,:d,grin\"]], \"grin\": [[[\"😁\"]], [\"😁\", [], \"grin,grinning,face,with,smiling,eyes,happy,smile,joy,kawaii\"]], \"joy\": [[[\"😂\"]], [\"😂\", [], \"joy,face,with,tears,of,cry,weep,happy,happytears,haha\"]], \"rolling_on_the_floor_laughing\": [[[\"🤣\"]], [\"🤣\", [], \"rolling,on,the,floor,laughing,rofl,face,lol,haha\"]], \"smiley\": [[[\"😃\"]], [\"😃\", [], \"smiley,smiling,face,with,open,mouth,happy,joy,haha,:d,:),smile,funny,=),=-)\"]], \"smile\": [[[\"😄\"]], [\"😄\", [], \"smile,smiling,face,with,open,mouth,and,eyes,happy,joy,funny,haha,laugh,like,:d,:),c:,:-d\"]], \"sweat_smile\": [[[\"😅\"]], [\"😅\", [], \"sweat,smile,smiling,face,with,open,mouth,and,cold,sweat_smile,hot,happy,laugh,relief\"]], \"laughing\": [[[\"😆\"]], [\"😆\", [\"satisfied\"], \"laughing,satisfied,smiling,face,with,open,mouth,and,tightly,closed,eyes,happy,joy,lol,haha,glad,xd,laugh,:>,:->\"]], \"wink\": [[[\"😉\"]], [\"😉\", [], \"wink,winking,face,happy,mischievous,secret,;),smile,eye,;-)\"]], \"blush\": [[[\"😊\"]], [\"😊\", [], \"blush,smiling,face,with,eyes,smile,happy,flushed,crush,embarrassed,shy,joy\"]], \"yum\": [[[\"😋\"]], [\"😋\", [], \"yum,face,savouring,delicious,food,happy,joy,tongue,smile,silly,yummy,nom\"]], \"sunglasses\": [[[\"😎\"]], [\"😎\", [], \"sunglasses,smiling,face,with,cool,smile,summer,beach,sunglass,8)\"]], \"heart_eyes\": [[[\"😍\"]], [\"😍\", [], \"heart,eyes,smiling,face,with,shaped,heart_eyes,love,like,affection,valentines,infatuation,crush\"]], \"kissing_heart\": [[[\"😘\"]], [\"😘\", [], \"kissing,heart,face,throwing,a,kiss,kissing_heart,love,like,affection,valentines,infatuation,:*,:-*\"]], \"kissing\": [[[\"😗\"]], [\"😗\", [], \"kissing,face,love,like,3,valentines,infatuation,kiss\"]], \"kissing_smiling_eyes\": [[[\"😙\"]], [\"😙\", [], \"kissing,smiling,eyes,face,with,kissing_smiling_eyes,affection,valentines,infatuation,kiss\"]], \"kissing_closed_eyes\": [[[\"😚\"]], [\"😚\", [], \"kissing,closed,eyes,face,with,kissing_closed_eyes,love,like,affection,valentines,infatuation,kiss\"]], \"relaxed\": [[[\"☺\"], [\"☺️\", \"263a\"]], [\"☺️\", [], \"relaxed,white,smiling,face\"]], \"slightly_smiling_face\": [[[\"🙂\"]], [\"🙂\", [], \"slightly,smiling,face,slightly_smiling_face,smile,:),(:,:-)\"]], \"hugging_face\": [[[\"🤗\"]], [\"🤗\", [], \"hugging,face,hugs,smile,hug\"]], \"thinking_face\": [[[\"🤔\"]], [\"🤔\", [], \"thinking,face,hmmm,think,consider\"]], \"neutral_face\": [[[\"😐\"]], [\"😐\", [], \"neutral,face,neutral_face,indifference,meh,:|,:-|\"]], \"expressionless\": [[[\"😑\"]], [\"😑\", [], \"expressionless,face,indifferent,-_-,meh,deadpan\"]],\n\n \"no_mouth\": [[[\"😶\"]], [\"😶\", [], \"no,mouth,face,without,no_mouth,hellokitty\"]], \"face_with_rolling_eyes\": [[[\"🙄\"]], [\"🙄\", [], \"face,with,rolling,eyes,roll_eyes,eyeroll,frustrated\"]], \"smirk\": [[[\"😏\"]], [\"😏\", [], \"smirk,smirking,face,smile,mean,prank,smug,sarcasm\"]], \"persevere\": [[[\"😣\"]], [\"😣\", [], \"persevere,persevering,face,sick,no,upset,oops\"]], \"disappointed_relieved\": [[[\"😥\"]], [\"😥\", [], \"disappointed,relieved,but,face,disappointed_relieved,phew,sweat,nervous\"]], \"open_mouth\": [[[\"😮\"]], [\"😮\", [], \"open,mouth,face,with,open_mouth,surprise,impressed,wow,whoa,:o,:-o\"]], \"zipper_mouth_face\": [[[\"🤐\"]], [\"🤐\", [], \"zipper,mouth,face,zipper_mouth_face,sealed,secret\"]], \"hushed\": [[[\"😯\"]], [\"😯\", [], \"hushed,face,woo,shh\"]], \"sleepy\": [[[\"😪\"]], [\"😪\", [], \"sleepy,face,tired,rest,nap\"]], \"tired_face\": [[[\"😫\"]], [\"😫\", [], \"tired,face,tired_face,sick,whine,upset,frustrated\"]], \"sleeping\": [[[\"😴\"]], [\"😴\", [], \"sleeping,face,tired,sleepy,night,zzz\"]], \"relieved\": [[[\"😌\"]], [\"😌\", [], \"relieved,face,relaxed,phew,massage,happiness\"]], \"stuck_out_tongue\": [[[\"😛\"]], [\"😛\", [], \"stuck,out,tongue,face,with,stuck_out_tongue,prank,childish,playful,mischievous,smile,:p,:-p,:b,:-b\"]], \"stuck_out_tongue_winking_eye\": [[[\"😜\"]], [\"😜\", [], \"stuck,out,tongue,winking,eye,face,with,and,stuck_out_tongue_winking_eye,prank,childish,playful,mischievous,smile,wink,;p,;-p,;b,;-b\"]], \"stuck_out_tongue_closed_eyes\": [[[\"😝\"]], [\"😝\", [], \"stuck,out,tongue,closed,eyes,face,with,and,tightly,stuck_out_tongue_closed_eyes,prank,playful,mischievous,smile\"]], \"drooling_face\": [[[\"🤤\"]], [\"🤤\", [], \"drooling,face,drooling_face\"]], \"unamused\": [[[\"😒\"]], [\"😒\", [], \"unamused,face,indifference,bored,straight face,serious,sarcasm\"]], \"sweat\": [[[\"😓\"]], [\"😓\", [], \"sweat,face,with,cold,hot,sad,tired,exercise\"]], \"pensive\": [[[\"😔\"]], [\"😔\", [], \"pensive,face,sad,depressed,upset\"]], \"confused\": [[[\"😕\"]], [\"😕\", [], \"confused,face,indifference,huh,weird,hmmm,:/,:\\\\,:-\\\\,:-/\"]], \"upside_down_face\": [[[\"🙃\"]], [\"🙃\", [], \"upside,down,face,upside_down_face,flipped,silly,smile\"]], \"money_mouth_face\": [[[\"🤑\"]], [\"🤑\", [], \"money,mouth,face,money_mouth_face,rich,dollar\"]], \"astonished\": [[[\"😲\"]], [\"😲\", [], \"astonished,face,xox,surprised,poisoned\"]], \"white_frowning_face\": [[[\"☹\"], [\"☹️\", \"2639\"]], [\"☹️\", [], \"white,frowning,face,frowning_face,sad,upset,frown\"]], \"slightly_frowning_face\": [[[\"🙁\"]], [\"🙁\", [], \"slightly,frowning,face,slightly_frowning_face,disappointed,sad,upset\"]], \"confounded\": [[[\"😖\"]], [\"😖\", [], \"confounded,face,confused,sick,unwell,oops,:s\"]], \"disappointed\": [[[\"😞\"]], [\"😞\", [], \"disappointed,face,sad,upset,depressed,:(,):,:-(\"]], \"worried\": [[[\"😟\"]], [\"😟\", [], \"worried,face,concern,nervous,:(\"]], \"triumph\": [[[\"😤\"]], [\"😤\", [], \"triumph,face,with,look,of,gas,phew,proud,pride\"]], \"cry\": [[[\"😢\"]], [\"😢\", [], \"cry,crying,face,tears,sad,depressed,upset,:'(\"]], \"sob\": [[[\"😭\"]], [\"😭\", [], \"sob,loudly,crying,face,cry,tears,sad,upset,depressed\"]], \"frowning\": [[[\"😦\"]], [\"😦\", [], \"frowning,face,with,open,mouth,aw,what\"]], \"anguished\": [[[\"😧\"]], [\"😧\", [], \"anguished,face,stunned,nervous,d:\"]], \"fearful\": [[[\"😨\"]], [\"😨\", [], \"fearful,face,scared,terrified,nervous,oops,huh\"]], \"weary\": [[[\"😩\"]], [\"😩\", [], \"weary,face,tired,sleepy,sad,frustrated,upset\"]], \"grimacing\": [[[\"😬\"]], [\"😬\", [], \"grimacing,face,grimace,teeth\"]], \"cold_sweat\": [[[\"😰\"]], [\"😰\", [], \"cold,sweat,face,with,open,mouth,and,cold_sweat,nervous\"]], \"scream\": [[[\"😱\"]], [\"😱\", [], \"scream,face,screaming,in,fear,munch,scared,omg\"]], \"flushed\": [[[\"😳\"]], [\"😳\", [], \"flushed,face,blush,shy,flattered\"]], \"dizzy_face\": [[[\"😵\"]], [\"😵\", [], \"dizzy,face,dizzy_face,spent,unconscious,xox\"]], \"rage\": [[[\"😡\"]], [\"😡\", [], \"rage,pouting,face,angry,mad,hate,despise\"]], \"angry\": [[[\"😠\"]], [\"😠\", [], \"angry,face,mad,annoyed,frustrated,>:(,>:-(\"]], \"mask\": [[[\"😷\"]], [\"😷\", [], \"mask,face,with,medical,sick,ill,disease\"]], \"face_with_thermometer\": [[[\"🤒\"]], [\"🤒\", [], \"face,with,thermometer,face_with_thermometer,sick,temperature,cold,fever\"]], \"face_with_head_bandage\": [[[\"🤕\"]], [\"🤕\", [], \"face,with,head,bandage,face_with_head_bandage,injured,clumsy,hurt\"]], \"nauseated_face\": [[[\"🤢\"]], [\"🤢\", [], \"nauseated,face,nauseated_face,vomit,gross,green,sick,throw up,ill\"]], \"sneezing_face\": [[[\"🤧\"]], [\"🤧\", [], \"sneezing,face,sneezing_face,gesundheit,sneeze,sick,allergy\"]], \"innocent\": [[[\"😇\"]], [\"😇\", [], \"innocent,smiling,face,with,halo,angel,heaven\"]], \"face_with_cowboy_hat\": [[[\"🤠\"]], [\"🤠\", [], \"face,with,cowboy,hat,cowboy_hat_face,cowgirl\"]], \"clown_face\": [[[\"🤡\"]], [\"🤡\", [], \"clown,face,clown_face\"]], \"lying_face\": [[[\"🤥\"]], [\"🤥\", [], \"lying,face,lying_face,lie,pinocchio\"]], \"nerd_face\": [[[\"🤓\"]], [\"🤓\", [], \"nerd,face,nerd_face,nerdy,geek,dork\"]], \"smiling_imp\": [[[\"😈\"]], [\"😈\", [], \"smiling,imp,face,with,horns,smiling_imp,devil\"]], \"imp\": [[[\"👿\"]], [\"👿\", [], \"imp,devil,angry,horns\"]], \"japanese_ogre\": [[[\"👹\"]], [\"👹\", [], \"japanese,ogre,japanese_ogre,monster,red,mask,halloween,scary,creepy,devil,demon\"]], \"japanese_goblin\": [[[\"👺\"]], [\"👺\", [], \"japanese,goblin,japanese_goblin,red,evil,mask,monster,scary,creepy\"]], \"skull\": [[[\"💀\"]], [\"💀\", [], \"skull,dead,skeleton,creepy,death\"]], \"skull_and_crossbones\": [[[\"☠\"], [\"☠️\", \"2620\"]], [\"☠️\", [], \"skull,and,crossbones,skull_and_crossbones,poison,danger,deadly,scary,death,pirate,evil\"]], \"ghost\": [[[\"👻\"]], [\"👻\", [], \"ghost,halloween,spooky,scary\"]], \"alien\": [[[\"👽\"]], [\"👽\", [], \"alien,extraterrestrial,ufo,paul,weird,outer_space\"]], \"space_invader\": [[[\"👾\"]], [\"👾\", [], \"space,invader,alien,monster,space_invader,game,arcade,play\"]], \"robot_face\": [[[\"🤖\"]], [\"🤖\", [], \"robot,face,computer,machine,bot\"]], \"hankey\": [[[\"💩\"]], [\"💩\", [\"poop\", \"shit\"], \"hankey,poop,shit,pile,of,poo,shitface,fail,turd\"]], \"smiley_cat\": [[[\"😺\"]], [\"😺\", [], \"smiley,cat,smiling,face,with,open,mouth,smiley_cat,animal,cats,happy,smile\"]], \"smile_cat\": [[[\"😸\"]], [\"😸\", [], \"smile,cat,grinning,face,with,smiling,eyes,smile_cat,animal,cats\"]], \"joy_cat\": [[[\"😹\"]], [\"😹\", [], \"joy,cat,face,with,tears,of,joy_cat,animal,cats,haha,happy\"]], \"heart_eyes_cat\": [[[\"😻\"]], [\"😻\", [], \"heart,eyes,cat,smiling,face,with,shaped,heart_eyes_cat,animal,love,like,affection,cats,valentines\"]], \"smirk_cat\": [[[\"😼\"]], [\"😼\", [], \"smirk,cat,face,with,wry,smile,smirk_cat,animal,cats\"]], \"kissing_cat\": [[[\"😽\"]], [\"😽\", [], \"kissing,cat,face,with,closed,eyes,kissing_cat,animal,cats,kiss\"]], \"scream_cat\": [[[\"🙀\"]], [\"🙀\", [], \"scream,cat,weary,face,scream_cat,animal,cats,munch,scared\"]], \"crying_cat_face\": [[[\"😿\"]], [\"😿\", [], \"crying,cat,face,crying_cat_face,animal,tears,weep,sad,cats,upset,cry\"]], \"pouting_cat\": [[[\"😾\"]], [\"😾\", [], \"pouting,cat,face,pouting_cat,animal,cats\"]], \"see_no_evil\": [[[\"🙈\"]], [\"🙈\", [], \"see,no,evil,monkey,see_no_evil,animal,nature,haha\"]], \"hear_no_evil\": [[[\"🙉\"]], [\"🙉\", [], \"hear,no,evil,monkey,hear_no_evil,animal,nature\"]], \"speak_no_evil\": [[[\"🙊\"]], [\"🙊\", [], \"speak,no,evil,monkey,speak_no_evil,animal,nature,omg\"]], \"baby\": [[[\"👶\"], [\"👶🏻\"], [\"👶🏼\"], [\"👶🏽\"], [\"👶🏾\"], [\"👶🏿\"]], [\"👶\", [], \"baby,child,boy,girl,toddler\"]], \"boy\": [[[\"👦\"], [\"👦🏻\"], [\"👦🏼\"], [\"👦🏽\"], [\"👦🏾\"], [\"👦🏿\"]], [\"👦\", [], \"boy,man,male,guy,teenager\"]], \"girl\": [[[\"👧\"], [\"👧🏻\"], [\"👧🏼\"], [\"👧🏽\"], [\"👧🏾\"], [\"👧🏿\"]], [\"👧\", [], \"girl,female,woman,teenager\"]], \"man\": [[[\"👨\"], [\"👨🏻\"], [\"👨🏼\"], [\"👨🏽\"], [\"👨🏾\"], [\"👨🏿\"]], [\"👨\", [], \"man,mustache,father,dad,guy,classy,sir,moustache\"]], \"woman\": [[[\"👩\"], [\"👩🏻\"], [\"👩🏼\"], [\"👩🏽\"], [\"👩🏾\"], [\"👩🏿\"]], [\"👩\", [], \"woman,female,girls,lady\"]], \"older_man\": [[[\"👴\"], [\"👴🏻\"], [\"👴🏼\"], [\"👴🏽\"], [\"👴🏾\"], [\"👴🏿\"]], [\"👴\", [], \"older,man,older_man,human,male,men,old,elder,senior\"]], \"older_woman\": [[[\"👵\"], [\"👵🏻\"], [\"👵🏼\"], [\"👵🏽\"], [\"👵🏾\"], [\"👵🏿\"]], [\"👵\", [], \"older,woman,older_woman,human,female,women,lady,old,elder,senior\"]], \"cop\": [[[\"👮\"], [\"👮🏻\"], [\"👮🏼\"], [\"👮🏽\"], [\"👮🏾\"], [\"👮🏿\"]], [\"👮\", [], \"cop,police,officer,policeman,man,law,legal,enforcement,arrest,911\"]], \"sleuth_or_spy\": [[[\"🕵\"], [\"🕵️\", \"1f575\"], [\"🕵🏻\"], [\"🕵🏼\"], [\"🕵🏽\"], [\"🕵🏾\"], [\"🕵🏿\"]], [\"🕵️\", [], \"sleuth,or,spy,male_detective,human,detective\", \"1F575\"]], \"guardsman\": [[[\"💂\"], [\"💂🏻\"], [\"💂🏼\"], [\"💂🏽\"], [\"💂🏾\"], [\"💂🏿\"]], [\"💂\", [], \"guardsman,uk,gb,british,male,guy,royal\"]], \"construction_worker\": [[[\"👷\"], [\"👷🏻\"], [\"👷🏼\"], [\"👷🏽\"], [\"👷🏾\"], [\"👷🏿\"]], [\"👷\", [], \"construction,worker,construction_worker_man,male,human,wip,guy,build,labor\"]], \"prince\": [[[\"🤴\"], [\"🤴🏻\"], [\"🤴🏼\"], [\"🤴🏽\"], [\"🤴🏾\"], [\"🤴🏿\"]], [\"🤴\", [], \"prince,boy,man,male,crown,royal,king\"]], \"princess\": [[[\"👸\"], [\"👸🏻\"], [\"👸🏼\"], [\"👸🏽\"], [\"👸🏾\"], [\"👸🏿\"]], [\"👸\", [], \"princess,girl,woman,female,blond,crown,royal,queen\"]], \"man_with_turban\": [[[\"👳\"], [\"👳🏻\"], [\"👳🏼\"], [\"👳🏽\"], [\"👳🏾\"], [\"👳🏿\"]], [\"👳\", [], \"man,with,turban,man_with_turban,male,indian,hinduism,arabs\"]], \"man_with_gua_pi_mao\": [[[\"👲\"], [\"👲🏻\"], [\"👲🏼\"], [\"👲🏽\"], [\"👲🏾\"], [\"👲🏿\"]], [\"👲\", [], \"man,with,gua,pi,mao,man_with_gua_pi_mao,male,boy,chinese\"]], \"person_with_blond_hair\": [[[\"👱\"], [\"👱🏻\"], [\"👱🏼\"], [\"👱🏽\"], [\"👱🏾\"], [\"👱🏿\"]], [\"👱\", [], \"person,with,blond,hair,blonde_man,man,male,boy,blonde,guy\"]], \"man_in_tuxedo\": [[[\"🤵\"], [\"🤵🏻\"], [\"🤵🏼\"], [\"🤵🏽\"], [\"🤵🏾\"], [\"🤵🏿\"]], [\"🤵\", [], \"man,in,tuxedo,man_in_tuxedo,couple,marriage,wedding,groom\"]], \"bride_with_veil\": [[[\"👰\"], [\"👰🏻\"], [\"👰🏼\"], [\"👰🏽\"], [\"👰🏾\"], [\"👰🏿\"]], [\"👰\", [], \"bride,with,veil,bride_with_veil,couple,marriage,wedding,woman\"]], \"pregnant_woman\": [[[\"🤰\"], [\"🤰🏻\"], [\"🤰🏼\"], [\"🤰🏽\"], [\"🤰🏾\"], [\"🤰🏿\"]], [\"🤰\", [], \"pregnant,woman,pregnant_woman,baby\"]], \"angel\": [[[\"👼\"], [\"👼🏻\"], [\"👼🏼\"], [\"👼🏽\"], [\"👼🏾\"], [\"👼🏿\"]], [\"👼\", [], \"angel,baby,heaven,wings,halo\"]], \"santa\": [[[\"🎅\"], [\"🎅🏻\"], [\"🎅🏼\"], [\"🎅🏽\"], [\"🎅🏾\"], [\"🎅🏿\"]], [\"🎅\", [], \"santa,father,christmas,festival,man,male,xmas,father christmas\"]], \"mother_christmas\": [[[\"🤶\"], [\"🤶🏻\"], [\"🤶🏼\"], [\"🤶🏽\"], [\"🤶🏾\"], [\"🤶🏿\"]], [\"🤶\", [], \"mother,christmas,mrs_claus,woman,female,xmas,mother christmas\"]], \"person_frowning\": [[[\"🙍\"], [\"🙍🏻\"], [\"🙍🏼\"], [\"🙍🏽\"], [\"🙍🏾\"], [\"🙍🏿\"]], [\"🙍\", [], \"person,frowning,frowning_woman,female,girl,woman,sad,depressed,discouraged,unhappy\"]], \"person_with_pouting_face\": [[[\"🙎\"], [\"🙎🏻\"], [\"🙎🏼\"], [\"🙎🏽\"], [\"🙎🏾\"], [\"🙎🏿\"]], [\"🙎\", [], \"person,with,pouting,face,pouting_woman,female,girl,woman\"]], \"no_good\": [[[\"🙅\"], [\"🙅🏻\"], [\"🙅🏼\"], [\"🙅🏽\"], [\"🙅🏾\"], [\"🙅🏿\"]], [\"🙅\", [], \"no,good,face,with,gesture,no_good_woman,female,girl,woman,nope\"]], \"ok_woman\": [[[\"🙆\"], [\"🙆🏻\"], [\"🙆🏼\"], [\"🙆🏽\"], [\"🙆🏾\"], [\"🙆🏿\"]], [\"🙆\", [], \"ok,woman,face,with,gesture,ok_woman,women,girl,female,pink,human\"]], \"information_desk_person\": [[[\"💁\"], [\"💁🏻\"], [\"💁🏼\"], [\"💁🏽\"], [\"💁🏾\"], [\"💁🏿\"]], [\"💁\", [], \"information,desk,person,tipping_hand_woman,female,girl,woman,human\"]], \"raising_hand\": [[[\"🙋\"], [\"🙋🏻\"], [\"🙋🏼\"], [\"🙋🏽\"], [\"🙋🏾\"], [\"🙋🏿\"]], [\"🙋\", [], \"raising,hand,happy,person,one,raising_hand_woman,female,girl,woman\"]], \"bow\": [[[\"🙇\"], [\"🙇🏻\"], [\"🙇🏼\"], [\"🙇🏽\"], [\"🙇🏾\"], [\"🙇🏿\"]], [\"🙇\", [], \"bow,person,bowing,deeply,bowing_man,man,male,boy\"]], \"face_palm\": [[[\"🤦\"], [\"🤦🏻\"], [\"🤦🏼\"], [\"🤦🏽\"], [\"🤦🏾\"], [\"🤦🏿\"]], [\"🤦\", [], \"face,palm,man_facepalming,man,male,boy,disbelief\"]], \"shrug\": [[[\"🤷\"], [\"🤷🏻\"], [\"🤷🏼\"], [\"🤷🏽\"], [\"🤷🏾\"], [\"🤷🏿\"]], [\"🤷\", [], \"shrug,woman_shrugging,woman,female,girl,confused,indifferent,doubt\"]], \"massage\": [[[\"💆\"], [\"💆🏻\"], [\"💆🏼\"], [\"💆🏽\"], [\"💆🏾\"], [\"💆🏿\"]], [\"💆\", [], \"massage,face,massage_woman,female,girl,woman,head\"]], \"haircut\": [[[\"💇\"], [\"💇🏻\"], [\"💇🏼\"], [\"💇🏽\"], [\"💇🏾\"], [\"💇🏿\"]], [\"💇\", [], \"haircut,haircut_woman,female,girl,woman\"]], \"walking\": [[[\"🚶\"], [\"🚶🏻\"], [\"🚶🏼\"], [\"🚶🏽\"], [\"🚶🏾\"], [\"🚶🏿\"]], [\"🚶\", [], \"walking,pedestrian,walking_man,human,feet,steps\"]], \"runner\": [[[\"🏃\"], [\"🏃🏻\"], [\"🏃🏼\"], [\"🏃🏽\"], [\"🏃🏾\"], [\"🏃🏿\"]], [\"🏃\", [\"running\"], \"runner,running,running_man,man,walking,exercise,race\"]], \"dancer\": [[[\"💃\"], [\"💃🏻\"], [\"💃🏼\"], [\"💃🏽\"], [\"💃🏾\"], [\"💃🏿\"]], [\"💃\", [], \"dancer,female,girl,woman,fun\"]], \"man_dancing\": [[[\"🕺\"], [\"🕺🏻\"], [\"🕺🏼\"], [\"🕺🏽\"], [\"🕺🏾\"], [\"🕺🏿\"]], [\"🕺\", [], \"man,dancing,man_dancing,male,boy,fun,dancer\"]], \"dancers\": [[[\"👯\"]], [\"👯\", [], \"dancers,woman,with,bunny,ears,dancing_women,female,women,girls\"]], \"bath\": [[[\"🛀\"], [\"🛀🏻\"], [\"🛀🏼\"], [\"🛀🏽\"], [\"🛀🏾\"], [\"🛀🏿\"]], [\"🛀\", [], \"bath,clean,shower,bathroom\"]], \"sleeping_accommodation\": [[[\"🛌\"], [\"🛌🏻\"], [\"🛌🏼\"], [\"🛌🏽\"], [\"🛌🏾\"], [\"🛌🏿\"]], [\"🛌\", [], \"sleeping,accommodation,sleeping_bed,bed,rest\"]], \"man_in_business_suit_levitating\": [[[\"🕴\"], [\"🕴🏻\"], [\"🕴🏼\"], [\"🕴🏽\"], [\"🕴🏾\"], [\"🕴🏿\"]], [\"🕴\", [], \"man,in,business,suit,levitating,business_suit_levitating,levitate,hover,jump\"]], \"speaking_head_in_silhouette\": [[[\"🗣\"]], [\"🗣\", [], \"speaking,head,in,silhouette,speaking_head,user,person,human,sing,say,talk\"]], \"bust_in_silhouette\": [[[\"👤\"]], [\"👤\", [], \"bust,in,silhouette,bust_in_silhouette,user,person,human\"]], \"busts_in_silhouette\": [[[\"👥\"]], [\"👥\", [], \"busts,in,silhouette,busts_in_silhouette,user,person,human,group,team\"]], \"fencer\": [[[\"🤺\"]], [\"🤺\", [], \"fencer,person_fencing,sports,fencing,sword\"]], \"horse_racing\": [[[\"🏇\"], [\"🏇🏻\"], [\"🏇🏼\"], [\"🏇🏽\"], [\"🏇🏾\"], [\"🏇🏿\"]], [\"🏇\", [], \"horse,racing,horse_racing,animal,betting,competition,gambling,luck\"]], \"skier\": [[[\"⛷\"]], [\"⛷\", [], \"skier,sports,winter,snow\"]], \"snowboarder\": [[[\"🏂\"], [\"🏂🏻\"], [\"🏂🏼\"], [\"🏂🏽\"], [\"🏂🏾\"], [\"🏂🏿\"]], [\"🏂\", [], \"snowboarder,sports,winter\"]], \"golfer\": [[[\"🏌\"], [\"🏌️\", \"1f3cc\"], [\"🏌🏻\"], [\"🏌🏼\"], [\"🏌🏽\"], [\"🏌🏾\"], [\"🏌🏿\"]], [\"🏌️\", [], \"golfer,golfing_man,sports,business\", \"1F3CC\"]], \"surfer\": [[[\"🏄\"], [\"🏄🏻\"], [\"🏄🏼\"], [\"🏄🏽\"], [\"🏄🏾\"], [\"🏄🏿\"]], [\"🏄\", [], \"surfer,surfing_man,sports,ocean,sea,summer,beach\"]], \"rowboat\": [[[\"🚣\"], [\"🚣🏻\"], [\"🚣🏼\"], [\"🚣🏽\"], [\"🚣🏾\"], [\"🚣🏿\"]], [\"🚣\", [], \"rowboat,rowing_man,sports,hobby,water,ship\"]], \"swimmer\": [[[\"🏊\"], [\"🏊🏻\"], [\"🏊🏼\"], [\"🏊🏽\"], [\"🏊🏾\"], [\"🏊🏿\"]], [\"🏊\", [], \"swimmer,swimming_man,sports,exercise,human,athlete,water,summer\"]], \"person_with_ball\": [[[\"⛹\"], [\"⛹️\", \"26f9\"], [\"⛹🏻\"], [\"⛹🏼\"], [\"⛹🏽\"], [\"⛹🏾\"], [\"⛹🏿\"]], [\"⛹️\", [], \"person,with,ball,basketball_man,sports,human\"]], \"weight_lifter\": [[[\"🏋\"], [\"🏋️\", \"1f3cb\"], [\"🏋🏻\"], [\"🏋🏼\"], [\"🏋🏽\"], [\"🏋🏾\"], [\"🏋🏿\"]], [\"🏋️\", [], \"weight,lifter,weight_lifting_man,sports,training,exercise\", \"1F3CB\"]], \"bicyclist\": [[[\"🚴\"], [\"🚴🏻\"], [\"🚴🏼\"], [\"🚴🏽\"], [\"🚴🏾\"], [\"🚴🏿\"]], [\"🚴\", [], \"bicyclist,biking_man,sports,bike,exercise,hipster\"]], \"mountain_bicyclist\": [[[\"🚵\"], [\"🚵🏻\"], [\"🚵🏼\"], [\"🚵🏽\"], [\"🚵🏾\"], [\"🚵🏿\"]], [\"🚵\", [], \"mountain,bicyclist,mountain_biking_man,transportation,sports,human,race,bike\"]], \"racing_car\": [[[\"🏎\"]], [\"🏎\", [], \"racing,car,racing_car,sports,race,fast,formula,f1\"]], \"racing_motorcycle\": [[[\"🏍\"]], [\"🏍\", [], \"racing,motorcycle,race,sports,fast\"]], \"person_doing_cartwheel\": [[[\"🤸\"], [\"🤸🏻\"], [\"🤸🏼\"], [\"🤸🏽\"], [\"🤸🏾\"], [\"🤸🏿\"]], [\"🤸\", [], \"person,doing,cartwheel\"]], \"wrestlers\": [[[\"🤼\"]], [\"🤼\", [], \"wrestlers\"]], \"water_polo\": [[[\"🤽\"], [\"🤽🏻\"], [\"🤽🏼\"], [\"🤽🏽\"], [\"🤽🏾\"], [\"🤽🏿\"]], [\"🤽\", [], \"water,polo\"]], \"handball\": [[[\"🤾\"], [\"🤾🏻\"], [\"🤾🏼\"], [\"🤾🏽\"], [\"🤾🏾\"], [\"🤾🏿\"]], [\"🤾\", [], \"handball\"]], \"juggling\": [[[\"🤹\"], [\"🤹🏻\"], [\"🤹🏼\"], [\"🤹🏽\"], [\"🤹🏾\"], [\"🤹🏿\"]], [\"🤹\", [], \"juggling\"]], \"couple\": [[[\"👫\"]], [\"👫\", [\"man_and_woman_holding_hands\"], \"couple,man,and,woman,holding,hands,pair,people,human,love,date,dating,like,affection,valentines,marriage\"]], \"two_men_holding_hands\": [[[\"👬\"]], [\"👬\", [], \"two,men,holding,hands,two_men_holding_hands,pair,couple,love,like,bromance,friendship,people,human\"]], \"two_women_holding_hands\": [[[\"👭\"]], [\"👭\", [], \"two,women,holding,hands,two_women_holding_hands,pair,friendship,couple,love,like,female,people,human\"]], \"couplekiss\": [[[\"💏\"]], [\"💏\", [], \"couplekiss,kiss,couplekiss_man_woman,pair,valentines,love,like,dating,marriage\"]], \"couple_with_heart\": [[[\"💑\"]], [\"💑\", [], \"couple,with,heart,couple_with_heart_woman_man,pair,love,like,affection,human,dating,valentines,marriage\"]], \"family\": [[[\"👪\"]], [\"👨‍👩‍👦\", [\"man-woman-boy\"], \"family,man,woman,boy,family_man_woman_boy,home,parents,child,mom,dad,father,mother,people,human\", \"1F46A\"]], \"selfie\": [[[\"🤳\"], [\"🤳🏻\"], [\"🤳🏼\"], [\"🤳🏽\"], [\"🤳🏾\"], [\"🤳🏿\"]], [\"🤳\", [], \"selfie,camera,phone\"]], \"muscle\": [[[\"💪\"], [\"💪🏻\"], [\"💪🏼\"], [\"💪🏽\"], [\"💪🏾\"], [\"💪🏿\"]], [\"💪\", [], \"muscle,flexed,biceps,arm,flex,hand,summer,strong\"]], \"point_left\": [[[\"👈\"], [\"👈🏻\"], [\"👈🏼\"], [\"👈🏽\"], [\"👈🏾\"], [\"👈🏿\"]], [\"👈\", [], \"point,left,white,pointing,backhand,index,point_left,direction,fingers,hand\"]], \"point_right\": [[[\"👉\"], [\"👉🏻\"], [\"👉🏼\"], [\"👉🏽\"], [\"👉🏾\"], [\"👉🏿\"]], [\"👉\", [], \"point,right,white,pointing,backhand,index,point_right,fingers,hand,direction\"]], \"point_up\": [[[\"☝\"], [\"☝️\", \"261d\"], [\"☝🏻\"], [\"☝🏼\"], [\"☝🏽\"], [\"☝🏾\"], [\"☝🏿\"]], [\"☝️\", [], \"point,up,white,pointing,index,point_up,hand,fingers,direction\"]], \"point_up_2\": [[[\"👆\"], [\"👆🏻\"], [\"👆🏼\"], [\"👆🏽\"], [\"👆🏾\"], [\"👆🏿\"]], [\"👆\", [], \"point,up,2,white,pointing,backhand,index,point_up_2,fingers,hand,direction\"]], \"middle_finger\": [[[\"🖕\"], [\"🖕🏻\"], [\"🖕🏼\"], [\"🖕🏽\"], [\"🖕🏾\"], [\"🖕🏿\"]], [\"🖕\", [\"reversed_hand_with_middle_finger_extended\"], \"middle,finger,reversed,hand,with,extended,fu,fingers,rude,flipping\"]], \"point_down\": [[[\"👇\"], [\"👇🏻\"], [\"👇🏼\"], [\"👇🏽\"], [\"👇🏾\"], [\"👇🏿\"]], [\"👇\", [], \"point,down,white,pointing,backhand,index,point_down,fingers,hand,direction\"]], \"v\": [[[\"✌\"], [\"✌️\", \"270c\"], [\"✌🏻\"], [\"✌🏼\"], [\"✌🏽\"], [\"✌🏾\"], [\"✌🏿\"]], [\"✌️\", [], \"v,victory,hand,fingers,ohyeah,peace,two\"]], \"hand_with_index_and_middle_fingers_crossed\": [[[\"🤞\"], [\"🤞🏻\"], [\"🤞🏼\"], [\"🤞🏽\"], [\"🤞🏾\"], [\"🤞🏿\"]], [\"🤞\", [], \"hand,with,index,and,middle,fingers,crossed,crossed_fingers,good,lucky\"]], \"spock-hand\": [[[\"🖖\"], [\"🖖🏻\"], [\"🖖🏼\"], [\"🖖🏽\"], [\"🖖🏾\"], [\"🖖🏿\"]], [\"🖖\", [], \"spock,hand,raised,with,part,between,middle,and,ring,fingers,vulcan_salute,star trek\"]], \"the_horns\": [[[\"🤘\"], [\"🤘🏻\"], [\"🤘🏼\"], [\"🤘🏽\"], [\"🤘🏾\"], [\"🤘🏿\"]], [\"🤘\", [\"sign_of_the_horns\"], \"the,horns,sign,of,metal,hand,fingers,evil_eye,sign_of_horns,rock_on\"]], \"call_me_hand\": [[[\"🤙\"], [\"🤙🏻\"], [\"🤙🏼\"], [\"🤙🏽\"], [\"🤙🏾\"], [\"🤙🏿\"]], [\"🤙\", [], \"call,me,hand,call_me_hand,hands,gesture\"]], \"raised_hand_with_fingers_splayed\": [[[\"🖐\"], [\"🖐🏻\"], [\"🖐🏼\"], [\"🖐🏽\"], [\"🖐🏾\"], [\"🖐🏿\"]], [\"🖐\", [], \"raised,hand,with,fingers,splayed,raised_hand_with_fingers_splayed,palm\"]], \"hand\": [[[\"✋\"], [\"✋🏻\"], [\"✋🏼\"], [\"✋🏽\"], [\"✋🏾\"], [\"✋🏿\"]], [\"✋\", [\"raised_hand\"], \"hand,raised,raised_hand,fingers,stop,highfive,palm,ban\"]], \"ok_hand\": [[[\"👌\"], [\"👌🏻\"], [\"👌🏼\"], [\"👌🏽\"], [\"👌🏾\"], [\"👌🏿\"]], [\"👌\", [], \"ok,hand,sign,ok_hand,fingers,limbs,perfect,okay\"]], \"+1\": [[[\"👍\"], [\"👍🏻\"], [\"👍🏼\"], [\"👍🏽\"], [\"👍🏾\"], [\"👍🏿\"]], [\"👍\", [\"thumbsup\"], \"+1,thumbsup,thumbs,up,sign,yes,awesome,good,agree,accept,cool,hand,like\"]], \"-1\": [[[\"👎\"], [\"👎🏻\"], [\"👎🏼\"], [\"👎🏽\"], [\"👎🏾\"], [\"👎🏿\"]], [\"👎\", [\"thumbsdown\"], \",1,thumbsdown,thumbs,down,sign,-1,no,dislike,hand\"]], \"fist\": [[[\"✊\"], [\"✊🏻\"], [\"✊🏼\"], [\"✊🏽\"], [\"✊🏾\"], [\"✊🏿\"]], [\"✊\", [], \"fist,raised,fingers,hand,grasp\"]], \"facepunch\": [[[\"👊\"], [\"👊🏻\"], [\"👊🏼\"], [\"👊🏽\"], [\"👊🏾\"], [\"👊🏿\"]], [\"👊\", [\"punch\"], \"facepunch,punch,fisted,hand,sign,angry,violence,fist,hit,attack\"]], \"left-facing_fist\": [[[\"🤛\"], [\"🤛🏻\"], [\"🤛🏼\"], [\"🤛🏽\"], [\"🤛🏾\"], [\"🤛🏿\"]], [\"🤛\", [], \"left,facing,fist,fist_left,hand,fistbump\"]], \"right-facing_fist\": [[[\"🤜\"], [\"🤜🏻\"], [\"🤜🏼\"], [\"🤜🏽\"], [\"🤜🏾\"], [\"🤜🏿\"]], [\"🤜\", [], \"right,facing,fist,fist_right,hand,fistbump\"]], \"raised_back_of_hand\": [[[\"🤚\"], [\"🤚🏻\"], [\"🤚🏼\"], [\"🤚🏽\"], [\"🤚🏾\"], [\"🤚🏿\"]], [\"🤚\", [], \"raised,back,of,hand,raised_back_of_hand,fingers,backhand\"]], \"wave\": [[[\"👋\"], [\"👋🏻\"], [\"👋🏼\"], [\"👋🏽\"], [\"👋🏾\"], [\"👋🏿\"]], [\"👋\", [], \"wave,waving,hand,sign,hands,gesture,goodbye,solong,farewell,hello,hi,palm\"]], \"writing_hand\": [[[\"✍\"], [\"✍️\", \"270d\"], [\"✍🏻\"], [\"✍🏼\"], [\"✍🏽\"], [\"✍🏾\"], [\"✍🏿\"]], [\"✍️\", [], \"writing,hand,writing_hand,lower_left_ballpoint_pen,stationery,write,compose\"]], \"clap\": [[[\"👏\"], [\"👏🏻\"], [\"👏🏼\"], [\"👏🏽\"], [\"👏🏾\"], [\"👏🏿\"]], [\"👏\", [], \"clap,clapping,hands,sign,praise,applause,congrats,yay\"]], \"open_hands\": [[[\"👐\"], [\"👐🏻\"], [\"👐🏼\"], [\"👐🏽\"], [\"👐🏾\"], [\"👐🏿\"]], [\"👐\", [], \"open,hands,sign,open_hands,fingers,butterfly\"]], \"raised_hands\": [[[\"🙌\"], [\"🙌🏻\"], [\"🙌🏼\"], [\"🙌🏽\"], [\"🙌🏾\"], [\"🙌🏿\"]], [\"🙌\", [], \"raised,hands,person,raising,both,in,celebration,raised_hands,gesture,hooray,yea\"]], \"pray\": [[[\"🙏\"], [\"🙏🏻\"], [\"🙏🏼\"], [\"🙏🏽\"], [\"🙏🏾\"], [\"🙏🏿\"]], [\"🙏\", [], \"pray,person,with,folded,hands,please,hope,wish,namaste,highfive\"]], \"handshake\": [[[\"🤝\"]], [\"🤝\", [], \"handshake,agreement,shake\"]], \"nail_care\": [[[\"💅\"], [\"💅🏻\"], [\"💅🏼\"], [\"💅🏽\"], [\"💅🏾\"], [\"💅🏿\"]], [\"💅\", [], \"nail,care,polish,nail_care,beauty,manicure,finger,fashion\"]], \"ear\": [[[\"👂\"], [\"👂🏻\"], [\"👂🏼\"], [\"👂🏽\"], [\"👂🏾\"], [\"👂🏿\"]], [\"👂\", [], \"ear,face,hear,sound,listen\"]], \"nose\": [[[\"👃\"], [\"👃🏻\"], [\"👃🏼\"], [\"👃🏽\"], [\"👃🏾\"], [\"👃🏿\"]], [\"👃\", [], \"nose,smell,sniff\"]], \"footprints\": [[[\"👣\"]], [\"👣\", [], \"footprints,feet,tracking,walking,beach\"]], \"eyes\": [[[\"👀\"]], [\"👀\", [], \"eyes,look,watch,stalk,peek,see\"]], \"eye\": [[[\"👁\"]], [\"👁\", [], \"eye,face,look,see,watch,stare\"]], \"tongue\": [[[\"👅\"]], [\"👅\", [], \"tongue,mouth,playful\"]], \"lips\": [[[\"👄\"]], [\"👄\", [], \"lips,mouth,kiss\"]], \"kiss\": [[[\"💋\"]], [\"💋\", [], \"kiss,mark,face,lips,love,like,affection,valentines\"]], \"cupid\": [[[\"💘\"]], [\"💘\", [], \"cupid,heart,with,arrow,love,like,affection,valentines\"]], \"heart\": [[[\"❤\"], [\"❤️\", \"2764\"]], [\"❤️\", [], \"heart,heavy,black,<3\"]], \"heartbeat\": [[[\"💓\"]], [\"💓\", [], \"heartbeat,beating,heart,love,like,affection,valentines,pink\"]], \"broken_heart\": [[[\"💔\"]], [\"💔\", [], \"broken,heart,broken_heart,sad,sorry,break,heartbreak,]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n // \"\n escape = '"';\n break;\n case 38:\n // &\n escape = '&';\n break;\n case 39:\n // '\n escape = ''';\n break;\n case 60:\n // <\n escape = '<';\n break;\n case 62:\n // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\n}" + }, + { + "id": 215, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/uuid.js", + "name": "./app/javascript/mastodon/uuid.js", + "index": 327, + "index2": 322, + "size": 160, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/compose.js", + "issuerId": 451, + "issuerName": "./app/javascript/mastodon/reducers/compose.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 445, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/settings.js", + "module": "./app/javascript/mastodon/reducers/settings.js", + "moduleName": "./app/javascript/mastodon/reducers/settings.js", + "type": "harmony import", + "userRequest": "../uuid", + "loc": "6:0-27" + }, + { + "moduleId": 451, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/compose.js", + "module": "./app/javascript/mastodon/reducers/compose.js", + "moduleName": "./app/javascript/mastodon/reducers/compose.js", + "type": "harmony import", + "userRequest": "../uuid", + "loc": "5:0-27" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "export default function uuid(a) {\n return a ? (a ^ Math.random() * 16 >> a / 4).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n};" + }, + { + "id": 216, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/assign.js", + "name": "./node_modules/babel-runtime/core-js/object/assign.js", + "index": 350, + "index2": 347, + "size": 94, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/extends.js", + "issuerId": 28, + "issuerName": "./node_modules/babel-runtime/helpers/extends.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 28, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/extends.js", + "module": "./node_modules/babel-runtime/helpers/extends.js", + "moduleName": "./node_modules/babel-runtime/helpers/extends.js", + "type": "cjs require", + "userRequest": "../core-js/object/assign", + "loc": "5:14-49" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "babel-runtime/core-js/object/assign", + "loc": "11:14-60" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };" + }, + { + "id": 217, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "name": "./node_modules/react-motion/lib/Motion.js", + "index": 370, + "index2": 366, + "size": 10711, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/optional_motion.js", + "issuerId": 26, + "issuerName": "./app/javascript/mastodon/features/ui/util/optional_motion.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 26, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/optional_motion.js", + "module": "./app/javascript/mastodon/features/ui/util/optional_motion.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/optional_motion.js", + "type": "harmony import", + "userRequest": "react-motion/lib/Motion", + "loc": "3:0-45" + }, + { + "moduleId": 466, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/reduced_motion.js", + "module": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "type": "harmony import", + "userRequest": "react-motion/lib/Motion", + "loc": "9:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ('value' in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { 'default': 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 _inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\nvar Motion = function (_React$Component) {\n _inherits(Motion, _React$Component);\n\n _createClass(Motion, null, [{\n key: 'propTypes',\n value: {\n // TOOD: warn against putting a config in here\n defaultStyle: _propTypes2['default'].objectOf(_propTypes2['default'].number),\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired,\n children: _propTypes2['default'].func.isRequired,\n onRest: _propTypes2['default'].func\n },\n enumerable: true\n }]);\n\n function Motion(props) {\n var _this = this;\n\n _classCallCheck(this, Motion);\n\n _React$Component.call(this, props);\n this.wasAnimating = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyle = null;\n\n this.clearUnreadPropStyle = function (destStyle) {\n var dirty = false;\n var _state = _this.state;\n var currentStyle = _state.currentStyle;\n var currentVelocity = _state.currentVelocity;\n var lastIdealStyle = _state.lastIdealStyle;\n var lastIdealVelocity = _state.lastIdealVelocity;\n\n for (var key in destStyle) {\n if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {\n continue;\n }\n\n var styleValue = destStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyle = _extends({}, currentStyle);\n currentVelocity = _extends({}, currentVelocity);\n lastIdealStyle = _extends({}, lastIdealStyle);\n lastIdealVelocity = _extends({}, lastIdealVelocity);\n }\n\n currentStyle[key] = styleValue;\n currentVelocity[key] = 0;\n lastIdealStyle[key] = styleValue;\n lastIdealVelocity[key] = 0;\n }\n }\n\n if (dirty) {\n _this.setState({ currentStyle: currentStyle, currentVelocity: currentVelocity, lastIdealStyle: lastIdealStyle, lastIdealVelocity: lastIdealVelocity });\n }\n };\n\n this.startAnimationIfNecessary = function () {\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // check if we need to animate in the first place\n var propsStyle = _this.props.style;\n if (_shouldStopAnimation2['default'](_this.state.currentStyle, propsStyle, _this.state.currentVelocity)) {\n if (_this.wasAnimating && _this.props.onRest) {\n _this.props.onRest();\n }\n\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.wasAnimating = false;\n _this.accumulatedTime = 0;\n return;\n }\n\n _this.wasAnimating = true;\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n\n for (var key in propsStyle) {\n if (!Object.prototype.hasOwnProperty.call(propsStyle, key)) {\n continue;\n }\n\n var styleValue = propsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = _this.state.lastIdealStyle[key];\n var newLastIdealVelocityValue = _this.state.lastIdealVelocity[key];\n for (var i = 0; i < framesToCatchUp; i++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyle: newCurrentStyle,\n currentVelocity: newCurrentVelocity,\n lastIdealStyle: newLastIdealStyle,\n lastIdealVelocity: newLastIdealVelocity\n });\n\n _this.unreadPropStyle = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n Motion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyle = _props.defaultStyle;\n var style = _props.style;\n\n var currentStyle = defaultStyle || _stripStyle2['default'](style);\n var currentVelocity = _mapToZero2['default'](currentStyle);\n return {\n currentStyle: currentStyle,\n currentVelocity: currentVelocity,\n lastIdealStyle: currentStyle,\n lastIdealVelocity: currentVelocity\n };\n };\n\n // it's possible that currentStyle's value is stale: if props is immediately\n // changed from 0 to 400 to spring(0) again, the async currentStyle is still\n // at 0 (didn't have time to tick and interpolate even once). If we naively\n // compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n // In reality currentStyle should be 400\n\n Motion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n Motion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyle != null) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyle);\n }\n\n this.unreadPropStyle = props.style;\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n Motion.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n Motion.prototype.render = function render() {\n var renderedChildren = this.props.children(this.state.currentStyle);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return Motion;\n}(_react2['default'].Component);\n\nexports['default'] = Motion;\nmodule.exports = exports['default'];\n\n// after checking for unreadPropStyle != null, we manually go set the\n// non-interpolating values (those that are a number, without a spring\n// config)" + }, + { + "id": 218, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js", + "name": "./node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js", + "index": 384, + "index2": 372, + "size": 1417, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types-extra/lib/elementType.js", + "issuerId": 476, + "issuerName": "./node_modules/prop-types-extra/lib/elementType.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 132, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types-extra/lib/componentOrElement.js", + "module": "./node_modules/prop-types-extra/lib/componentOrElement.js", + "moduleName": "./node_modules/prop-types-extra/lib/componentOrElement.js", + "type": "cjs require", + "userRequest": "./utils/createChainableTypeChecker", + "loc": "17:34-79" + }, + { + "moduleId": 476, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types-extra/lib/elementType.js", + "module": "./node_modules/prop-types-extra/lib/elementType.js", + "moduleName": "./node_modules/prop-types-extra/lib/elementType.js", + "type": "cjs require", + "userRequest": "./utils/createChainableTypeChecker", + "loc": "17:34-79" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createChainableTypeChecker;\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n// Mostly taken from ReactPropTypes.\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));\n }\n\n return null;\n }\n\n for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n args[_key - 6] = arguments[_key];\n }\n\n return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\nmodule.exports = exports['default'];" + }, + { + "id": 219, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/offset.js", + "name": "./node_modules/dom-helpers/query/offset.js", + "index": 403, + "index2": 393, + "size": 1378, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/calculatePosition.js", + "issuerId": 489, + "issuerName": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 489, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/calculatePosition.js", + "module": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "moduleName": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "type": "cjs require", + "userRequest": "dom-helpers/query/offset", + "loc": "6:14-49" + }, + { + "moduleId": 490, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/position.js", + "module": "./node_modules/dom-helpers/query/position.js", + "moduleName": "./node_modules/dom-helpers/query/position.js", + "type": "cjs require", + "userRequest": "./offset", + "loc": "19:14-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = offset;\n\nvar _contains = require('./contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _isWindow = require('./isWindow');\n\nvar _isWindow2 = _interopRequireDefault(_isWindow);\n\nvar _ownerDocument = require('../ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction offset(node) {\n var doc = (0, _ownerDocument2.default)(node),\n win = (0, _isWindow2.default)(doc),\n docElem = doc && doc.documentElement,\n box = { top: 0, left: 0, height: 0, width: 0 };\n\n if (!doc) return;\n\n // Make sure it's not a disconnected DOM node\n if (!(0, _contains2.default)(docElem, node)) return box;\n\n if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect();\n\n // IE8 getBoundingClientRect doesn't support width & height\n box = {\n top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),\n left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),\n width: (box.width == null ? node.offsetWidth : box.width) || 0,\n height: (box.height == null ? node.offsetHeight : box.height) || 0\n };\n\n return box;\n}\nmodule.exports = exports['default'];" + }, + { + "id": 220, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/contains.js", + "name": "./node_modules/dom-helpers/query/contains.js", + "index": 404, + "index2": 391, + "size": 943, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/RootCloseWrapper.js", + "issuerId": 498, + "issuerName": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 219, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/offset.js", + "module": "./node_modules/dom-helpers/query/offset.js", + "moduleName": "./node_modules/dom-helpers/query/offset.js", + "type": "cjs require", + "userRequest": "./contains", + "loc": "8:16-37" + }, + { + "moduleId": 498, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/RootCloseWrapper.js", + "module": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "moduleName": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "type": "cjs require", + "userRequest": "dom-helpers/query/contains", + "loc": "5:16-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inDOM = require('../util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function () {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return _inDOM2.default ? function (context, node) {\n if (context.contains) {\n return context.contains(node);\n } else if (context.compareDocumentPosition) {\n return context === node || !!(context.compareDocumentPosition(node) & 16);\n } else {\n return fallback(context, node);\n }\n } : fallback;\n}();\n\nfunction fallback(context, node) {\n if (node) do {\n if (node === context) return true;\n } while (node = node.parentNode);\n\n return false;\n}\nmodule.exports = exports['default'];" + }, + { + "id": 221, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "name": "./node_modules/dom-helpers/style/index.js", + "index": 409, + "index2": 402, + "size": 1784, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/position.js", + "issuerId": 490, + "issuerName": "./node_modules/dom-helpers/query/position.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 490, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/position.js", + "module": "./node_modules/dom-helpers/query/position.js", + "moduleName": "./node_modules/dom-helpers/query/position.js", + "type": "cjs require", + "userRequest": "../style", + "loc": "35:13-32" + }, + { + "moduleId": 491, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/offsetParent.js", + "module": "./node_modules/dom-helpers/query/offsetParent.js", + "moduleName": "./node_modules/dom-helpers/query/offsetParent.js", + "type": "cjs require", + "userRequest": "../style", + "loc": "12:13-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = style;\n\nvar _camelizeStyle = require('../util/camelizeStyle');\n\nvar _camelizeStyle2 = _interopRequireDefault(_camelizeStyle);\n\nvar _hyphenateStyle = require('../util/hyphenateStyle');\n\nvar _hyphenateStyle2 = _interopRequireDefault(_hyphenateStyle);\n\nvar _getComputedStyle2 = require('./getComputedStyle');\n\nvar _getComputedStyle3 = _interopRequireDefault(_getComputedStyle2);\n\nvar _removeStyle = require('./removeStyle');\n\nvar _removeStyle2 = _interopRequireDefault(_removeStyle);\n\nvar _properties = require('../transition/properties');\n\nvar _isTransform = require('../transition/isTransform');\n\nvar _isTransform2 = _interopRequireDefault(_isTransform);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction style(node, property, value) {\n var css = '';\n var transforms = '';\n var props = property;\n\n if (typeof property === 'string') {\n if (value === undefined) {\n return node.style[(0, _camelizeStyle2.default)(property)] || (0, _getComputedStyle3.default)(node).getPropertyValue((0, _hyphenateStyle2.default)(property));\n } else {\n (props = {})[property] = value;\n }\n }\n\n Object.keys(props).forEach(function (key) {\n var value = props[key];\n if (!value && value !== 0) {\n (0, _removeStyle2.default)(node, (0, _hyphenateStyle2.default)(key));\n } else if ((0, _isTransform2.default)(key)) {\n transforms += key + '(' + value + ') ';\n } else {\n css += (0, _hyphenateStyle2.default)(key) + ': ' + value + ';';\n }\n });\n\n if (transforms) {\n css += _properties.transform + ': ' + transforms + ';';\n }\n\n node.style.cssText += ';' + css;\n}\nmodule.exports = exports['default'];" + }, + { + "id": 222, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/camelizeStyle.js", + "name": "./node_modules/dom-helpers/util/camelizeStyle.js", + "index": 410, + "index2": 395, + "size": 769, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "issuerId": 221, + "issuerName": "./node_modules/dom-helpers/style/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 221, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "module": "./node_modules/dom-helpers/style/index.js", + "moduleName": "./node_modules/dom-helpers/style/index.js", + "type": "cjs require", + "userRequest": "../util/camelizeStyle", + "loc": "8:21-53" + }, + { + "moduleId": 495, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/getComputedStyle.js", + "module": "./node_modules/dom-helpers/style/getComputedStyle.js", + "moduleName": "./node_modules/dom-helpers/style/getComputedStyle.js", + "type": "cjs require", + "userRequest": "../util/camelizeStyle", + "loc": "8:21-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = camelizeStyleName;\n\nvar _camelize = require('./camelize');\n\nvar _camelize2 = _interopRequireDefault(_camelize);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nvar msPattern = /^-ms-/; /**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js\n */\nfunction camelizeStyleName(string) {\n return (0, _camelize2.default)(string.replace(msPattern, 'ms-'));\n}\nmodule.exports = exports['default'];" + }, + { + "id": 223, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/transition/properties.js", + "name": "./node_modules/dom-helpers/transition/properties.js", + "index": 416, + "index2": 400, + "size": 3614, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "issuerId": 609, + "issuerName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 221, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "module": "./node_modules/dom-helpers/style/index.js", + "moduleName": "./node_modules/dom-helpers/style/index.js", + "type": "cjs require", + "userRequest": "../transition/properties", + "loc": "24:18-53" + }, + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "dom-helpers/transition/properties", + "loc": "54:18-62" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = undefined;\n\nvar _inDOM = require('../util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nvar transform = 'transform';\nvar prefix = void 0,\n transitionEnd = void 0,\n animationEnd = void 0;\nvar transitionProperty = void 0,\n transitionDuration = void 0,\n transitionTiming = void 0,\n transitionDelay = void 0;\nvar animationName = void 0,\n animationDuration = void 0,\n animationTiming = void 0,\n animationDelay = void 0;\n\nif (_inDOM2.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n\n exports.transform = transform = prefix + '-' + transform;\n exports.transitionProperty = transitionProperty = prefix + '-transition-property';\n exports.transitionDuration = transitionDuration = prefix + '-transition-duration';\n exports.transitionDelay = transitionDelay = prefix + '-transition-delay';\n exports.transitionTiming = transitionTiming = prefix + '-transition-timing-function';\n\n exports.animationName = animationName = prefix + '-animation-name';\n exports.animationDuration = animationDuration = prefix + '-animation-duration';\n exports.animationTiming = animationTiming = prefix + '-animation-delay';\n exports.animationDelay = animationDelay = prefix + '-animation-timing-function';\n}\n\nexports.transform = transform;\nexports.transitionProperty = transitionProperty;\nexports.transitionTiming = transitionTiming;\nexports.transitionDelay = transitionDelay;\nexports.transitionDuration = transitionDuration;\nexports.transitionEnd = transitionEnd;\nexports.animationName = animationName;\nexports.animationDuration = animationDuration;\nexports.animationTiming = animationTiming;\nexports.animationDelay = animationDelay;\nexports.animationEnd = animationEnd;\nexports.default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n\n var vendorMap = {\n O: function O(e) {\n return 'o' + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return 'webkit' + e;\n },\n ms: function ms(e) {\n return 'MS' + e;\n }\n };\n\n var vendors = Object.keys(vendorMap);\n\n var transitionEnd = void 0,\n animationEnd = void 0;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + 'TransitionProperty' in style) {\n prefix = '-' + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n\n style = null;\n\n return { animationEnd: animationEnd, transitionEnd: transitionEnd, prefix: prefix };\n}" + }, + { + "id": 224, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/scrollLeft.js", + "name": "./node_modules/dom-helpers/query/scrollLeft.js", + "index": 419, + "index2": 405, + "size": 693, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "issuerId": 607, + "issuerName": "./node_modules/scroll-behavior/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 490, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/position.js", + "module": "./node_modules/dom-helpers/query/position.js", + "moduleName": "./node_modules/dom-helpers/query/position.js", + "type": "cjs require", + "userRequest": "./scrollLeft", + "loc": "31:18-41" + }, + { + "moduleId": 607, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "module": "./node_modules/scroll-behavior/lib/index.js", + "moduleName": "./node_modules/scroll-behavior/lib/index.js", + "type": "cjs require", + "userRequest": "dom-helpers/query/scrollLeft", + "loc": "13:18-57" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scrollTop;\n\nvar _isWindow = require('./isWindow');\n\nvar _isWindow2 = _interopRequireDefault(_isWindow);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction scrollTop(node, val) {\n var win = (0, _isWindow2.default)(node);\n\n if (val === undefined) return win ? 'pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft : node.scrollLeft;\n\n if (win) win.scrollTo(val, 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop);else node.scrollLeft = val;\n}\nmodule.exports = exports['default'];" + }, + { + "id": 225, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createBrowserHistory.js", + "name": "./node_modules/history/es/createBrowserHistory.js", + "index": 497, + "index2": 492, + "size": 9261, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/BrowserRouter.js", + "issuerId": 501, + "issuerName": "./node_modules/react-router-dom/es/BrowserRouter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 501, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/BrowserRouter.js", + "module": "./node_modules/react-router-dom/es/BrowserRouter.js", + "moduleName": "./node_modules/react-router-dom/es/BrowserRouter.js", + "type": "harmony import", + "userRequest": "history/createBrowserHistory", + "loc": "22:0-57" + }, + { + "moduleId": 514, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/index.js", + "module": "./node_modules/history/es/index.js", + "moduleName": "./node_modules/history/es/index.js", + "type": "harmony import", + "userRequest": "./createBrowserHistory", + "loc": "1:0-59" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport { createLocation } from './LocationUtils';\nimport { addLeadingSlash, stripTrailingSlash, hasBasename, stripBasename, createPath } from './PathUtils';\nimport createTransitionManager from './createTransitionManager';\nimport { canUseDOM, addEventListener, removeEventListener, getConfirmation, supportsHistory, supportsPopStateOnHashChange, isExtraneousPopstateEvent } from './DOMUtils';\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar getHistoryState = function getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n};\n\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n invariant(canUseDOM, 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n var path = pathname + search + hash;\n\n warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = stripBasename(path, basename);\n\n return createLocation(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = createTransitionManager();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + createPath(location);\n };\n\n var push = function push(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n addEventListener(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) addEventListener(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n removeEventListener(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) removeEventListener(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexport default createBrowserHistory;" + }, + { + "id": 226, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/DOMUtils.js", + "name": "./node_modules/history/es/DOMUtils.js", + "index": 503, + "index2": 491, + "size": 2258, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "issuerId": 227, + "issuerName": "./node_modules/history/es/createHashHistory.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 225, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createBrowserHistory.js", + "module": "./node_modules/history/es/createBrowserHistory.js", + "moduleName": "./node_modules/history/es/createBrowserHistory.js", + "type": "harmony import", + "userRequest": "./DOMUtils", + "loc": "22:0-169" + }, + { + "moduleId": 227, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "module": "./node_modules/history/es/createHashHistory.js", + "moduleName": "./node_modules/history/es/createHashHistory.js", + "type": "harmony import", + "userRequest": "./DOMUtils", + "loc": "16:0-129" + } + ], + "usedExports": [ + "addEventListener", + "canUseDOM", + "getConfirmation", + "isExtraneousPopstateEvent", + "removeEventListener", + "supportsGoWithoutReloadUsingHash", + "supportsHistory", + "supportsPopStateOnHashChange" + ], + "providedExports": [ + "canUseDOM", + "addEventListener", + "removeEventListener", + "getConfirmation", + "supportsHistory", + "supportsPopStateOnHashChange", + "supportsGoWithoutReloadUsingHash", + "isExtraneousPopstateEvent" + ], + "optimizationBailout": [], + "depth": 6, + "source": "export var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexport var addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nexport var removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n\nexport var getConfirmation = function getConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\nexport var supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\n return window.history && 'pushState' in window.history;\n};\n\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\nexport var supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\nexport var supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};\n\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\nexport var isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n};" + }, + { + "id": 227, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createHashHistory.js", + "name": "./node_modules/history/es/createHashHistory.js", + "index": 507, + "index2": 496, + "size": 9411, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/HashRouter.js", + "issuerId": 504, + "issuerName": "./node_modules/react-router-dom/es/HashRouter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 504, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/HashRouter.js", + "module": "./node_modules/react-router-dom/es/HashRouter.js", + "moduleName": "./node_modules/react-router-dom/es/HashRouter.js", + "type": "harmony import", + "userRequest": "history/createHashHistory", + "loc": "22:0-54" + }, + { + "moduleId": 514, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/index.js", + "module": "./node_modules/history/es/index.js", + "moduleName": "./node_modules/history/es/index.js", + "type": "harmony import", + "userRequest": "./createHashHistory", + "loc": "3:0-53" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport { createLocation, locationsAreEqual } from './LocationUtils';\nimport { addLeadingSlash, stripLeadingSlash, stripTrailingSlash, hasBasename, stripBasename, createPath } from './PathUtils';\nimport createTransitionManager from './createTransitionManager';\nimport { canUseDOM, addEventListener, removeEventListener, getConfirmation, supportsGoWithoutReloadUsingHash } from './DOMUtils';\n\nvar HashChangeEvent = 'hashchange';\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar createHashHistory = function createHashHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n invariant(canUseDOM, 'Hash history needs a DOM');\n\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n\n var _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? getConfirmation : _props$getUserConfirm,\n _props$hashType = props.hashType,\n hashType = _props$hashType === undefined ? 'slash' : _props$hashType;\n\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n var getDOMLocation = function getDOMLocation() {\n var path = decodePath(getHashPath());\n\n warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = stripBasename(path, basename);\n\n return createLocation(path);\n };\n\n var transitionManager = createTransitionManager();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var forceNextPop = false;\n var ignorePath = null;\n\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n\n if (!forceNextPop && locationsAreEqual(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n\n handlePop(location);\n }\n };\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n // Ensure the hash is encoded properly before doing anything else.\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) replaceHashPath(encodedPath);\n\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return '#' + encodePath(basename + createPath(location));\n };\n\n var push = function push(path, state) {\n warning(state === undefined, 'Hash history cannot push state; it is ignored');\n\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextPaths.push(path);\n allPaths = nextPaths;\n\n setState({ action: action, location: location });\n } else {\n warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');\n\n setState();\n }\n });\n };\n\n var replace = function replace(path, state) {\n warning(state === undefined, 'Hash history cannot replace state; it is ignored');\n\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');\n\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n addEventListener(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n removeEventListener(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexport default createHashHistory;" + }, + { + "id": 228, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Link.js", + "name": "./node_modules/react-router-dom/es/Link.js", + "index": 508, + "index2": 498, + "size": 3878, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./Link", + "loc": "5:0-27" + }, + { + "moduleId": 507, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/NavLink.js", + "module": "./node_modules/react-router-dom/es/NavLink.js", + "moduleName": "./node_modules/react-router-dom/es/NavLink.js", + "type": "harmony import", + "userRequest": "./Link", + "loc": "26:0-26" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport invariant from 'invariant';\n\nvar isModifiedEvent = function isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n/**\n * The public API for rendering a history-aware .\n */\n\nvar Link = function (_React$Component) {\n _inherits(Link, _React$Component);\n\n function Link() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Link);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (_this.props.onClick) _this.props.onClick(event);\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore right clicks\n !_this.props.target && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n var history = _this.context.router.history;\n var _this$props = _this.props,\n replace = _this$props.replace,\n to = _this$props.to;\n\n if (replace) {\n history.replace(to);\n } else {\n history.push(to);\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Link.prototype.render = function render() {\n var _props = this.props,\n replace = _props.replace,\n to = _props.to,\n innerRef = _props.innerRef,\n props = _objectWithoutProperties(_props, ['replace', 'to', 'innerRef']); // eslint-disable-line no-unused-vars\n\n invariant(this.context.router, 'You should not use outside a ');\n\n var href = this.context.router.history.createHref(typeof to === 'string' ? { pathname: to } : to);\n\n return React.createElement('a', _extends({}, props, { onClick: this.handleClick, href: href, ref: innerRef }));\n };\n\n return Link;\n}(React.Component);\n\nLink.defaultProps = {\n replace: false\n};\nLink.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.shape({\n push: PropTypes.func.isRequired,\n replace: PropTypes.func.isRequired,\n createHref: PropTypes.func.isRequired\n }).isRequired\n }).isRequired\n};\n\nexport default Link;" + }, + { + "id": 229, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/createMemoryHistory.js", + "name": "./node_modules/history/es/createMemoryHistory.js", + "index": 511, + "index2": 499, + "size": 5427, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/MemoryRouter.js", + "issuerId": 506, + "issuerName": "./node_modules/react-router/es/MemoryRouter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 506, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/MemoryRouter.js", + "module": "./node_modules/react-router/es/MemoryRouter.js", + "moduleName": "./node_modules/react-router/es/MemoryRouter.js", + "type": "harmony import", + "userRequest": "history/createMemoryHistory", + "loc": "22:0-56" + }, + { + "moduleId": 514, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/index.js", + "module": "./node_modules/history/es/index.js", + "moduleName": "./node_modules/history/es/index.js", + "type": "harmony import", + "userRequest": "./createMemoryHistory", + "loc": "5:0-57" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nimport warning from 'warning';\nimport { createPath } from './PathUtils';\nimport { createLocation } from './LocationUtils';\nimport createTransitionManager from './createTransitionManager';\n\nvar clamp = function clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n};\n\n/**\n * Creates a history object that stores locations in memory.\n */\nvar createMemoryHistory = function createMemoryHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var getUserConfirmation = props.getUserConfirmation,\n _props$initialEntries = props.initialEntries,\n initialEntries = _props$initialEntries === undefined ? ['/'] : _props$initialEntries,\n _props$initialIndex = props.initialIndex,\n initialIndex = _props$initialIndex === undefined ? 0 : _props$initialIndex,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var transitionManager = createTransitionManager();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n });\n\n // Public interface\n\n var createHref = createPath;\n\n var push = function push(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n\n var nextEntries = history.entries.slice(0);\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n };\n\n var replace = function replace(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n history.entries[history.index] = location;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n\n var action = 'POP';\n var location = history.entries[nextIndex];\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var canGo = function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n };\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return transitionManager.setPrompt(prompt);\n };\n\n var listen = function listen(listener) {\n return transitionManager.appendListener(listener);\n };\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexport default createMemoryHistory;" + }, + { + "id": 230, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Route.js", + "name": "./node_modules/react-router-dom/es/Route.js", + "index": 513, + "index2": 506, + "size": 128, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./Route", + "loc": "15:0-29" + }, + { + "moduleId": 507, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/NavLink.js", + "module": "./node_modules/react-router-dom/es/NavLink.js", + "moduleName": "./node_modules/react-router-dom/es/NavLink.js", + "type": "harmony import", + "userRequest": "./Route", + "loc": "25:0-28" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "// Written in this round about way for babel-transform-imports\nimport Route from 'react-router/es/Route';\n\nexport default Route;" + }, + { + "id": 231, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Route.js", + "name": "./node_modules/react-router/es/Route.js", + "index": 514, + "index2": 505, + "size": 5732, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/withRouter.js", + "issuerId": 521, + "issuerName": "./node_modules/react-router/es/withRouter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 230, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Route.js", + "module": "./node_modules/react-router-dom/es/Route.js", + "moduleName": "./node_modules/react-router-dom/es/Route.js", + "type": "harmony import", + "userRequest": "react-router/es/Route", + "loc": "2:0-42" + }, + { + "moduleId": 521, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/withRouter.js", + "module": "./node_modules/react-router/es/withRouter.js", + "moduleName": "./node_modules/react-router/es/withRouter.js", + "type": "harmony import", + "userRequest": "./Route", + "loc": "20:0-28" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport matchPath from './matchPath';\n\nvar isEmptyChildren = function isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n};\n\n/**\n * The public API for matching a single path and rendering.\n */\n\nvar Route = function (_React$Component) {\n _inherits(Route, _React$Component);\n\n function Route() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Route);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n match: _this.computeMatch(_this.props, _this.context.router)\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Route.prototype.getChildContext = function getChildContext() {\n return {\n router: _extends({}, this.context.router, {\n route: {\n location: this.props.location || this.context.router.route.location,\n match: this.state.match\n }\n })\n };\n };\n\n Route.prototype.computeMatch = function computeMatch(_ref, router) {\n var computedMatch = _ref.computedMatch,\n location = _ref.location,\n path = _ref.path,\n strict = _ref.strict,\n exact = _ref.exact,\n sensitive = _ref.sensitive;\n\n if (computedMatch) return computedMatch; // already computed the match for us\n\n invariant(router, 'You should not use or withRouter() outside a ');\n\n var route = router.route;\n\n var pathname = (location || route.location).pathname;\n\n return path ? matchPath(pathname, { path: path, strict: strict, exact: exact, sensitive: sensitive }) : route.match;\n };\n\n Route.prototype.componentWillMount = function componentWillMount() {\n warning(!(this.props.component && this.props.render), 'You should not use and in the same route; will be ignored');\n\n warning(!(this.props.component && this.props.children && !isEmptyChildren(this.props.children)), 'You should not use and in the same route; will be ignored');\n\n warning(!(this.props.render && this.props.children && !isEmptyChildren(this.props.children)), 'You should not use and in the same route; will be ignored');\n };\n\n Route.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps, nextContext) {\n warning(!(nextProps.location && !this.props.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.');\n\n warning(!(!nextProps.location && this.props.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.');\n\n this.setState({\n match: this.computeMatch(nextProps, nextContext.router)\n });\n };\n\n Route.prototype.render = function render() {\n var match = this.state.match;\n var _props = this.props,\n children = _props.children,\n component = _props.component,\n render = _props.render;\n var _context$router = this.context.router,\n history = _context$router.history,\n route = _context$router.route,\n staticContext = _context$router.staticContext;\n\n var location = this.props.location || route.location;\n var props = { match: match, location: location, history: history, staticContext: staticContext };\n\n return component ? // component prop gets first priority, only called if there's a match\n match ? React.createElement(component, props) : null : render ? // render prop is next, only called if there's a match\n match ? render(props) : null : children ? // children come last, always called\n typeof children === 'function' ? children(props) : !isEmptyChildren(children) ? React.Children.only(children) : null : null;\n };\n\n return Route;\n}(React.Component);\n\nRoute.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n })\n};\nRoute.childContextTypes = {\n router: PropTypes.object.isRequired\n};\n\nexport default Route;" + }, + { + "id": 232, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/FocusTrap.js", + "name": "./node_modules/react-hotkeys/lib/FocusTrap.js", + "index": 546, + "index2": 533, + "size": 3339, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/index.js", + "issuerId": 162, + "issuerName": "./node_modules/react-hotkeys/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 162, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/index.js", + "module": "./node_modules/react-hotkeys/lib/index.js", + "moduleName": "./node_modules/react-hotkeys/lib/index.js", + "type": "cjs require", + "userRequest": "./FocusTrap", + "loc": "16:17-39" + }, + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "./FocusTrap", + "loc": "33:17-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar FocusTrap = function (_React$Component) {\n _inherits(FocusTrap, _React$Component);\n\n function FocusTrap() {\n _classCallCheck(this, FocusTrap);\n\n return _possibleConstructorReturn(this, (FocusTrap.__proto__ || Object.getPrototypeOf(FocusTrap)).apply(this, arguments));\n }\n\n _createClass(FocusTrap, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n Component = _props.component,\n children = _props.children,\n props = _objectWithoutProperties(_props, ['component', 'children']);\n\n return _react2.default.createElement(Component, _extends({ tabIndex: '-1' }, props), children);\n }\n }]);\n\n return FocusTrap;\n}(_react2.default.Component);\n\nFocusTrap.propTypes = {\n onFocus: _propTypes2.default.func,\n onBlur: _propTypes2.default.func,\n component: _propTypes2.default.any,\n children: _propTypes2.default.node\n};\nFocusTrap.defaultProps = {\n component: 'div'\n};\nexports.default = FocusTrap;" + }, + { + "id": 233, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "name": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "index": 547, + "index2": 630, + "size": 1582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/index.js", + "issuerId": 162, + "issuerName": "./node_modules/react-hotkeys/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 162, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/index.js", + "module": "./node_modules/react-hotkeys/lib/index.js", + "moduleName": "./node_modules/react-hotkeys/lib/index.js", + "type": "cjs require", + "userRequest": "./HotKeyMapMixin", + "loc": "25:22-49" + }, + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "./HotKeyMapMixin", + "loc": "37:22-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = HotKeyMapMixin;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _assign = require('lodash/assign');\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _isEqual = require('lodash/isEqual');\n\nvar _isEqual2 = _interopRequireDefault(_isEqual);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction HotKeyMapMixin() {\n var hotKeyMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return {\n\n contextTypes: {\n hotKeyMap: _propTypes2.default.object\n },\n\n childContextTypes: {\n hotKeyMap: _propTypes2.default.object\n },\n\n getChildContext: function getChildContext() {\n return {\n hotKeyMap: this.__hotKeyMap__\n };\n },\n componentWillMount: function componentWillMount() {\n this.updateMap();\n },\n updateMap: function updateMap() {\n var newMap = this.buildMap();\n\n if (!(0, _isEqual2.default)(newMap, this.__hotKeyMap__)) {\n this.__hotKeyMap__ = newMap;\n return true;\n }\n\n return false;\n },\n buildMap: function buildMap() {\n var parentMap = this.context.hotKeyMap || {};\n var thisMap = this.props.keyMap || {};\n\n return (0, _assign2.default)({}, parentMap, hotKeyMap, thisMap);\n },\n getMap: function getMap() {\n return this.__hotKeyMap__;\n }\n };\n}" + }, + { + "id": 234, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_assignValue.js", + "name": "./node_modules/lodash/_assignValue.js", + "index": 549, + "index2": 544, + "size": 890, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "issuerId": 525, + "issuerName": "./node_modules/lodash/assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 525, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "module": "./node_modules/lodash/assign.js", + "moduleName": "./node_modules/lodash/assign.js", + "type": "cjs require", + "userRequest": "./_assignValue", + "loc": "1:18-43" + }, + { + "moduleId": 530, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_copyObject.js", + "module": "./node_modules/lodash/_copyObject.js", + "moduleName": "./node_modules/lodash/_copyObject.js", + "type": "cjs require", + "userRequest": "./_assignValue", + "loc": "1:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;" + }, + { + "id": 235, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseAssignValue.js", + "name": "./node_modules/lodash/_baseAssignValue.js", + "index": 550, + "index2": 542, + "size": 624, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_copyObject.js", + "issuerId": 530, + "issuerName": "./node_modules/lodash/_copyObject.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 234, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_assignValue.js", + "module": "./node_modules/lodash/_assignValue.js", + "moduleName": "./node_modules/lodash/_assignValue.js", + "type": "cjs require", + "userRequest": "./_baseAssignValue", + "loc": "1:22-51" + }, + { + "moduleId": 530, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_copyObject.js", + "module": "./node_modules/lodash/_copyObject.js", + "moduleName": "./node_modules/lodash/_copyObject.js", + "type": "cjs require", + "userRequest": "./_baseAssignValue", + "loc": "2:22-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;" + }, + { + "id": 236, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_defineProperty.js", + "name": "./node_modules/lodash/_defineProperty.js", + "index": 551, + "index2": 541, + "size": 231, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseAssignValue.js", + "issuerId": 235, + "issuerName": "./node_modules/lodash/_baseAssignValue.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 235, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseAssignValue.js", + "module": "./node_modules/lodash/_baseAssignValue.js", + "moduleName": "./node_modules/lodash/_baseAssignValue.js", + "type": "cjs require", + "userRequest": "./_defineProperty", + "loc": "1:21-49" + }, + { + "moduleId": 536, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseSetToString.js", + "module": "./node_modules/lodash/_baseSetToString.js", + "moduleName": "./node_modules/lodash/_baseSetToString.js", + "type": "cjs require", + "userRequest": "./_defineProperty", + "loc": "2:21-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var getNative = require('./_getNative');\n\nvar defineProperty = function () {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}();\n\nmodule.exports = defineProperty;" + }, + { + "id": 237, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isFunction.js", + "name": "./node_modules/lodash/isFunction.js", + "index": 554, + "index2": 534, + "size": 1008, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isArrayLike.js", + "issuerId": 85, + "issuerName": "./node_modules/lodash/isArrayLike.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 85, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isArrayLike.js", + "module": "./node_modules/lodash/isArrayLike.js", + "moduleName": "./node_modules/lodash/isArrayLike.js", + "type": "cjs require", + "userRequest": "./isFunction", + "loc": "1:17-40" + }, + { + "moduleId": 526, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsNative.js", + "module": "./node_modules/lodash/_baseIsNative.js", + "moduleName": "./node_modules/lodash/_baseIsNative.js", + "type": "cjs require", + "userRequest": "./isFunction", + "loc": "1:17-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;" + }, + { + "id": 238, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_toSource.js", + "name": "./node_modules/lodash/_toSource.js", + "index": 557, + "index2": 537, + "size": 553, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "issuerId": 592, + "issuerName": "./node_modules/lodash/_getTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 526, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsNative.js", + "module": "./node_modules/lodash/_baseIsNative.js", + "moduleName": "./node_modules/lodash/_baseIsNative.js", + "type": "cjs require", + "userRequest": "./_toSource", + "loc": "4:15-37" + }, + { + "moduleId": 592, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "module": "./node_modules/lodash/_getTag.js", + "moduleName": "./node_modules/lodash/_getTag.js", + "type": "cjs require", + "userRequest": "./_toSource", + "loc": "7:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return func + '';\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;" + }, + { + "id": 239, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isLength.js", + "name": "./node_modules/lodash/isLength.js", + "index": 572, + "index2": 554, + "size": 797, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isArrayLike.js", + "issuerId": 85, + "issuerName": "./node_modules/lodash/isArrayLike.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 85, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isArrayLike.js", + "module": "./node_modules/lodash/isArrayLike.js", + "moduleName": "./node_modules/lodash/isArrayLike.js", + "type": "cjs require", + "userRequest": "./isLength", + "loc": "2:15-36" + }, + { + "moduleId": 545, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsTypedArray.js", + "module": "./node_modules/lodash/_baseIsTypedArray.js", + "moduleName": "./node_modules/lodash/_baseIsTypedArray.js", + "type": "cjs require", + "userRequest": "./isLength", + "loc": "2:15-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;" + }, + { + "id": 240, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isIndex.js", + "name": "./node_modules/lodash/_isIndex.js", + "index": 573, + "index2": 556, + "size": 696, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayLikeKeys.js", + "issuerId": 540, + "issuerName": "./node_modules/lodash/_arrayLikeKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 539, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isIterateeCall.js", + "module": "./node_modules/lodash/_isIterateeCall.js", + "moduleName": "./node_modules/lodash/_isIterateeCall.js", + "type": "cjs require", + "userRequest": "./_isIndex", + "loc": "3:14-35" + }, + { + "moduleId": 540, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayLikeKeys.js", + "module": "./node_modules/lodash/_arrayLikeKeys.js", + "moduleName": "./node_modules/lodash/_arrayLikeKeys.js", + "type": "cjs require", + "userRequest": "./_isIndex", + "loc": "5:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length && (typeof value == 'number' || reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;" + }, + { + "id": 241, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isPrototype.js", + "name": "./node_modules/lodash/_isPrototype.js", + "index": 574, + "index2": 559, + "size": 477, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "issuerId": 525, + "issuerName": "./node_modules/lodash/assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 525, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "module": "./node_modules/lodash/assign.js", + "moduleName": "./node_modules/lodash/assign.js", + "type": "cjs require", + "userRequest": "./_isPrototype", + "loc": "5:18-43" + }, + { + "moduleId": 548, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseKeys.js", + "module": "./node_modules/lodash/_baseKeys.js", + "moduleName": "./node_modules/lodash/_baseKeys.js", + "type": "cjs require", + "userRequest": "./_isPrototype", + "loc": "1:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;" + }, + { + "id": 242, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isBuffer.js", + "name": "./node_modules/lodash/isBuffer.js", + "index": 581, + "index2": 565, + "size": 1113, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "issuerId": 552, + "issuerName": "./node_modules/lodash/_baseIsEqualDeep.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 540, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayLikeKeys.js", + "module": "./node_modules/lodash/_arrayLikeKeys.js", + "moduleName": "./node_modules/lodash/_arrayLikeKeys.js", + "type": "cjs require", + "userRequest": "./isBuffer", + "loc": "4:15-36" + }, + { + "moduleId": 552, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "module": "./node_modules/lodash/_baseIsEqualDeep.js", + "moduleName": "./node_modules/lodash/_baseIsEqualDeep.js", + "type": "cjs require", + "userRequest": "./isBuffer", + "loc": "7:15-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;" + }, + { + "id": 243, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isTypedArray.js", + "name": "./node_modules/lodash/isTypedArray.js", + "index": 583, + "index2": 569, + "size": 694, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "issuerId": 552, + "issuerName": "./node_modules/lodash/_baseIsEqualDeep.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 540, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayLikeKeys.js", + "module": "./node_modules/lodash/_arrayLikeKeys.js", + "moduleName": "./node_modules/lodash/_arrayLikeKeys.js", + "type": "cjs require", + "userRequest": "./isTypedArray", + "loc": "6:19-44" + }, + { + "moduleId": 552, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "module": "./node_modules/lodash/_baseIsEqualDeep.js", + "moduleName": "./node_modules/lodash/_baseIsEqualDeep.js", + "type": "cjs require", + "userRequest": "./isTypedArray", + "loc": "8:19-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;" + }, + { + "id": 244, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isEqual.js", + "name": "./node_modules/lodash/isEqual.js", + "index": 590, + "index2": 629, + "size": 985, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "issuerId": 233, + "issuerName": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 233, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "module": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "type": "cjs require", + "userRequest": "lodash/isEqual", + "loc": "20:15-40" + }, + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "lodash/isEqual", + "loc": "57:15-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;" + }, + { + "id": 245, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "name": "./node_modules/lodash/_MapCache.js", + "index": 607, + "index2": 602, + "size": 886, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_stackSet.js", + "issuerId": 563, + "issuerName": "./node_modules/lodash/_stackSet.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 563, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_stackSet.js", + "module": "./node_modules/lodash/_stackSet.js", + "moduleName": "./node_modules/lodash/_stackSet.js", + "type": "cjs require", + "userRequest": "./_MapCache", + "loc": "3:15-37" + }, + { + "moduleId": 576, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_SetCache.js", + "module": "./node_modules/lodash/_SetCache.js", + "moduleName": "./node_modules/lodash/_SetCache.js", + "type": "cjs require", + "userRequest": "./_MapCache", + "loc": "1:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;" + }, + { + "id": 246, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalArrays.js", + "name": "./node_modules/lodash/_equalArrays.js", + "index": 622, + "index2": 610, + "size": 2515, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "issuerId": 552, + "issuerName": "./node_modules/lodash/_baseIsEqualDeep.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 552, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "module": "./node_modules/lodash/_baseIsEqualDeep.js", + "moduleName": "./node_modules/lodash/_baseIsEqualDeep.js", + "type": "cjs require", + "userRequest": "./_equalArrays", + "loc": "2:18-43" + }, + { + "moduleId": 581, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalByTag.js", + "module": "./node_modules/lodash/_equalByTag.js", + "moduleName": "./node_modules/lodash/_equalByTag.js", + "type": "cjs require", + "userRequest": "./_equalArrays", + "loc": "4:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function (othValue, othIndex) {\n if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;" + }, + { + "id": 247, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/createClass.js", + "name": "./node_modules/babel-runtime/helpers/createClass.js", + "index": 743, + "index2": 735, + "size": 906, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/image_loader.js", + "issuerId": 638, + "issuerName": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "babel-runtime/helpers/createClass", + "loc": "27:20-64" + }, + { + "moduleId": 638, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/image_loader.js", + "module": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "type": "harmony import", + "userRequest": "babel-runtime/helpers/createClass", + "loc": "3:0-61" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function () {\n function 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 (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();" + }, + { + "id": 248, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/constant.js", + "name": "./node_modules/react-swipeable-views-core/lib/constant.js", + "index": 750, + "index2": 737, + "size": 267, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "issuerId": 616, + "issuerName": "./node_modules/react-swipeable-views-core/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 616, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "module": "./node_modules/react-swipeable-views-core/lib/index.js", + "moduleName": "./node_modules/react-swipeable-views-core/lib/index.js", + "type": "cjs require", + "userRequest": "./constant", + "loc": "25:16-37" + }, + { + "moduleId": 618, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/computeIndex.js", + "module": "./node_modules/react-swipeable-views-core/lib/computeIndex.js", + "moduleName": "./node_modules/react-swipeable-views-core/lib/computeIndex.js", + "type": "cjs require", + "userRequest": "./constant", + "loc": "10:16-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// weak\n\nexports.default = {\n RESISTANCE_COEF: 0.6,\n\n // This value is closed to what browsers are using internally to\n // trigger a native scroll.\n UNCERTAINTY_THRESHOLD: 3 // px\n};" + }, + { + "id": 249, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle.js", + "name": "./app/javascript/mastodon/features/ui/components/bundle.js", + "index": 757, + "index2": 750, + "size": 3402, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "issuerId": 153, + "issuerName": "./app/javascript/mastodon/components/status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 147, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/bundle_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/bundle_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/bundle_container.js", + "type": "harmony import", + "userRequest": "../components/bundle", + "loc": "3:0-42" + }, + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "../features/ui/components/bundle", + "loc": "28:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\n\n\nvar emptyComponent = function emptyComponent() {\n return null;\n};\nvar noop = function noop() {};\n\nvar Bundle = (_temp2 = _class = function (_React$Component) {\n _inherits(Bundle, _React$Component);\n\n function Bundle() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Bundle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n mod: undefined,\n forceRender: false\n }, _this.load = function (props) {\n var _ref = props || _this.props,\n fetchComponent = _ref.fetchComponent,\n onFetch = _ref.onFetch,\n onFetchSuccess = _ref.onFetchSuccess,\n onFetchFail = _ref.onFetchFail,\n renderDelay = _ref.renderDelay;\n\n onFetch();\n\n if (Bundle.cache[fetchComponent.name]) {\n var mod = Bundle.cache[fetchComponent.name];\n\n _this.setState({ mod: mod.default });\n onFetchSuccess();\n return Promise.resolve();\n }\n\n _this.setState({ mod: undefined });\n\n if (renderDelay !== 0) {\n _this.timestamp = new Date();\n _this.timeout = setTimeout(function () {\n return _this.setState({ forceRender: true });\n }, renderDelay);\n }\n\n return fetchComponent().then(function (mod) {\n Bundle.cache[fetchComponent.name] = mod;\n _this.setState({ mod: mod.default });\n onFetchSuccess();\n }).catch(function (error) {\n _this.setState({ mod: null });\n onFetchFail(error);\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Bundle.prototype.componentWillMount = function componentWillMount() {\n this.load(this.props);\n };\n\n Bundle.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.fetchComponent !== this.props.fetchComponent) {\n this.load(nextProps);\n }\n };\n\n Bundle.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n };\n\n Bundle.prototype.render = function render() {\n var _props = this.props,\n Loading = _props.loading,\n Error = _props.error,\n children = _props.children,\n renderDelay = _props.renderDelay;\n var _state = this.state,\n mod = _state.mod,\n forceRender = _state.forceRender;\n\n var elapsed = this.timestamp ? new Date() - this.timestamp : renderDelay;\n\n if (mod === undefined) {\n return elapsed >= renderDelay || forceRender ? _jsx(Loading, {}) : null;\n }\n\n if (mod === null) {\n return _jsx(Error, {\n onRetry: this.load\n });\n }\n\n return children(mod);\n };\n\n return Bundle;\n}(React.Component), _class.defaultProps = {\n loading: emptyComponent,\n error: emptyComponent,\n renderDelay: 0,\n onFetch: noop,\n onFetchSuccess: noop,\n onFetchFail: noop\n}, _class.cache = {}, _temp2);\n\n\nexport default Bundle;" + }, + { + "id": 251, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/notifications_container.js", + "name": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "index": 768, + "index2": 768, + "size": 562, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "./containers/notifications_container", + "loc": "10:0-74" + }, + { + "moduleId": 658, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "module": "./app/javascript/mastodon/features/standalone/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/notifications_container", + "loc": "7:0-81" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import { connect } from 'react-redux';\nimport { NotificationStack } from 'react-notification';\nimport { dismissAlert } from '../../../actions/alerts';\nimport { getAlerts } from '../../../selectors';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n notifications: getAlerts(state)\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onDismiss: function onDismiss(alert) {\n dispatch(dismissAlert(alert));\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(NotificationStack);" + }, + { + "id": 252, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/notification.js", + "name": "./node_modules/react-notification/dist/notification.js", + "index": 770, + "index2": 764, + "size": 7582, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/index.js", + "issuerId": 628, + "issuerName": "./node_modules/react-notification/dist/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 628, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/index.js", + "module": "./node_modules/react-notification/dist/index.js", + "moduleName": "./node_modules/react-notification/dist/index.js", + "type": "cjs require", + "userRequest": "./notification", + "loc": "7:20-45" + }, + { + "moduleId": 630, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/stackedNotification.js", + "module": "./node_modules/react-notification/dist/stackedNotification.js", + "moduleName": "./node_modules/react-notification/dist/stackedNotification.js", + "type": "cjs require", + "userRequest": "./notification", + "loc": "35:20-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _defaultPropTypes = require('./defaultPropTypes');\n\nvar _defaultPropTypes2 = _interopRequireDefault(_defaultPropTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: 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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Notification = function (_Component) {\n _inherits(Notification, _Component);\n\n function Notification(props) {\n _classCallCheck(this, Notification);\n\n var _this = _possibleConstructorReturn(this, (Notification.__proto__ || Object.getPrototypeOf(Notification)).call(this, props));\n\n _this.getBarStyle = _this.getBarStyle.bind(_this);\n _this.getActionStyle = _this.getActionStyle.bind(_this);\n _this.getTitleStyle = _this.getTitleStyle.bind(_this);\n _this.handleClick = _this.handleClick.bind(_this);\n\n if (props.onDismiss && props.isActive) {\n _this.dismissTimeout = setTimeout(props.onDismiss, props.dismissAfter);\n }\n return _this;\n }\n\n _createClass(Notification, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.dismissAfter === false) return;\n\n // See http://eslint.org/docs/rules/no-prototype-builtins\n if (!{}.hasOwnProperty.call(nextProps, 'isLast')) {\n clearTimeout(this.dismissTimeout);\n }\n\n if (nextProps.onDismiss) {\n if (nextProps.isActive && !this.props.isActive || nextProps.dismissAfter && this.props.dismissAfter === false) {\n this.dismissTimeout = setTimeout(nextProps.onDismiss, nextProps.dismissAfter);\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.dismissAfter) clearTimeout(this.dismissTimeout);\n }\n\n /*\n * @description Dynamically get the styles for the bar.\n * @returns {object} result The style.\n */\n\n }, {\n key: 'getBarStyle',\n value: function getBarStyle() {\n if (this.props.style === false) return {};\n\n var _props = this.props,\n isActive = _props.isActive,\n barStyle = _props.barStyle,\n activeBarStyle = _props.activeBarStyle;\n\n var baseStyle = {\n position: 'fixed',\n bottom: '2rem',\n left: '-100%',\n width: 'auto',\n padding: '1rem',\n margin: 0,\n color: '#fafafa',\n font: '1rem normal Roboto, sans-serif',\n borderRadius: '5px',\n background: '#212121',\n borderSizing: 'border-box',\n boxShadow: '0 0 1px 1px rgba(10, 10, 11, .125)',\n cursor: 'default',\n WebKitTransition: '.5s cubic-bezier(0.89, 0.01, 0.5, 1.1)',\n MozTransition: '.5s cubic-bezier(0.89, 0.01, 0.5, 1.1)',\n msTransition: '.5s cubic-bezier(0.89, 0.01, 0.5, 1.1)',\n OTransition: '.5s cubic-bezier(0.89, 0.01, 0.5, 1.1)',\n transition: '.5s cubic-bezier(0.89, 0.01, 0.5, 1.1)',\n WebkitTransform: 'translatez(0)',\n MozTransform: 'translatez(0)',\n msTransform: 'translatez(0)',\n OTransform: 'translatez(0)',\n transform: 'translatez(0)'\n };\n\n return isActive ? _extends({}, baseStyle, { left: '1rem' }, barStyle, activeBarStyle) : _extends({}, baseStyle, barStyle);\n }\n\n /*\n * @function getActionStyle\n * @description Dynamically get the styles for the action text.\n * @returns {object} result The style.\n */\n\n }, {\n key: 'getActionStyle',\n value: function getActionStyle() {\n return this.props.style !== false ? _extends({}, {\n padding: '0.125rem',\n marginLeft: '1rem',\n color: '#f44336',\n font: '.75rem normal Roboto, sans-serif',\n lineHeight: '1rem',\n letterSpacing: '.125ex',\n textTransform: 'uppercase',\n borderRadius: '5px',\n cursor: 'pointer'\n }, this.props.actionStyle) : {};\n }\n\n /*\n * @function getTitleStyle\n * @description Dynamically get the styles for the title.\n * @returns {object} result The style.\n */\n\n }, {\n key: 'getTitleStyle',\n value: function getTitleStyle() {\n return this.props.style !== false ? _extends({}, {\n fontWeight: '700',\n marginRight: '.5rem'\n }, this.props.titleStyle) : {};\n }\n\n /*\n * @function handleClick\n * @description Handle click events on the action button.\n */\n\n }, {\n key: 'handleClick',\n value: function handleClick() {\n if (this.props.onClick && typeof this.props.onClick === 'function') {\n return this.props.onClick();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var className = 'notification-bar';\n\n if (this.props.isActive) className += ' ' + this.props.activeClassName;\n if (this.props.className) className += ' ' + this.props.className;\n\n return _react2.default.createElement('div', { className: className, style: this.getBarStyle() }, _react2.default.createElement('div', { className: 'notification-bar-wrapper' }, this.props.title ? _react2.default.createElement('span', {\n className: 'notification-bar-title',\n style: this.getTitleStyle()\n }, this.props.title) : null, _react2.default.createElement('span', { className: 'notification-bar-message' }, this.props.message), this.props.action ? _react2.default.createElement('span', {\n className: 'notification-bar-action',\n onClick: this.handleClick,\n style: this.getActionStyle()\n }, this.props.action) : null));\n }\n }]);\n\n return Notification;\n}(_react.Component);\n\nNotification.propTypes = _defaultPropTypes2.default;\n\nNotification.defaultProps = {\n isActive: false,\n dismissAfter: 2000,\n activeClassName: 'notification-bar-active'\n};\n\nexports.default = Notification;" + }, + { + "id": 253, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/defaultPropTypes.js", + "name": "./node_modules/react-notification/dist/defaultPropTypes.js", + "index": 771, + "index2": 763, + "size": 1139, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/notification.js", + "issuerId": 252, + "issuerName": "./node_modules/react-notification/dist/notification.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 252, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/notification.js", + "module": "./node_modules/react-notification/dist/notification.js", + "moduleName": "./node_modules/react-notification/dist/notification.js", + "type": "cjs require", + "userRequest": "./defaultPropTypes", + "loc": "31:24-53" + }, + { + "moduleId": 630, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/stackedNotification.js", + "module": "./node_modules/react-notification/dist/stackedNotification.js", + "moduleName": "./node_modules/react-notification/dist/stackedNotification.js", + "type": "cjs require", + "userRequest": "./defaultPropTypes", + "loc": "31:24-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = {\n message: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]).isRequired,\n action: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string, _propTypes2.default.node]),\n onClick: _propTypes2.default.func,\n style: _propTypes2.default.bool,\n actionStyle: _propTypes2.default.object,\n titleStyle: _propTypes2.default.object,\n barStyle: _propTypes2.default.object,\n activeBarStyle: _propTypes2.default.object,\n dismissAfter: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.number]),\n onDismiss: _propTypes2.default.func,\n className: _propTypes2.default.string,\n activeClassName: _propTypes2.default.string,\n isActive: _propTypes2.default.bool,\n title: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.node])\n};" + }, + { + "id": 254, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/loading_bar_container.js", + "name": "./app/javascript/mastodon/features/ui/containers/loading_bar_container.js", + "index": 774, + "index2": 769, + "size": 272, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "./containers/loading_bar_container", + "loc": "12:0-69" + }, + { + "moduleId": 658, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "module": "./app/javascript/mastodon/features/standalone/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/loading_bar_container", + "loc": "8:0-76" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import { connect } from 'react-redux';\nimport LoadingBar from 'react-redux-loading-bar';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n loading: state.get('loadingBar')\n };\n};\n\nexport default connect(mapStateToProps)(LoadingBar.WrappedComponent);" + }, + { + "id": 256, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/modal_container.js", + "name": "./app/javascript/mastodon/features/ui/containers/modal_container.js", + "index": 776, + "index2": 783, + "size": 526, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "issuerId": 627, + "issuerName": "./app/javascript/mastodon/features/ui/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 627, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/index.js", + "module": "./app/javascript/mastodon/features/ui/index.js", + "moduleName": "./app/javascript/mastodon/features/ui/index.js", + "type": "harmony import", + "userRequest": "./containers/modal_container", + "loc": "14:0-58" + }, + { + "moduleId": 658, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/standalone/compose/index.js", + "module": "./app/javascript/mastodon/features/standalone/compose/index.js", + "moduleName": "./app/javascript/mastodon/features/standalone/compose/index.js", + "type": "harmony import", + "userRequest": "../../ui/containers/modal_container", + "loc": "9:0-65" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import { connect } from 'react-redux';\nimport { closeModal } from '../../../actions/modal';\nimport ModalRoot from '../components/modal_root';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n type: state.get('modal').modalType,\n props: state.get('modal').modalProps\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClose: function onClose() {\n dispatch(closeModal());\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ModalRoot);" + }, + { + "id": 270, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/permalink.js", + "name": "./app/javascript/mastodon/components/permalink.js", + "index": 364, + "index2": 356, + "size": 1836, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "issuerId": 107, + "issuerName": "./app/javascript/mastodon/components/status_content.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 107, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_content.js", + "module": "./app/javascript/mastodon/components/status_content.js", + "moduleName": "./app/javascript/mastodon/components/status_content.js", + "type": "harmony import", + "userRequest": "./permalink", + "loc": "13:0-36" + }, + { + "moduleId": 772, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/onboarding_modal.js", + "type": "harmony import", + "userRequest": "../../../components/permalink", + "loc": "14:0-54" + }, + { + "moduleId": 778, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/account.js", + "module": "./app/javascript/mastodon/components/account.js", + "moduleName": "./app/javascript/mastodon/components/account.js", + "type": "harmony import", + "userRequest": "./permalink", + "loc": "13:0-36" + }, + { + "moduleId": 802, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/compose/components/navigation_bar.js", + "module": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "moduleName": "./app/javascript/mastodon/features/compose/components/navigation_bar.js", + "type": "harmony import", + "userRequest": "../../../components/permalink", + "loc": "13:0-54" + }, + { + "moduleId": 884, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/components/notification.js", + "module": "./app/javascript/mastodon/features/notifications/components/notification.js", + "moduleName": "./app/javascript/mastodon/features/notifications/components/notification.js", + "type": "harmony import", + "userRequest": "../../../components/permalink", + "loc": "14:0-54" + }, + { + "moduleId": 898, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/components/media_item.js", + "module": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/components/media_item.js", + "type": "harmony import", + "userRequest": "../../../components/permalink", + "loc": "11:0-54" + }, + { + "moduleId": 900, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "module": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/components/account_authorize.js", + "type": "harmony import", + "userRequest": "../../../components/permalink", + "loc": "11:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nvar Permalink = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(Permalink, _React$PureComponent);\n\n function Permalink() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Permalink);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n if (_this.context.router && e.button === 0 && !(e.ctrlKey || e.metaKey)) {\n e.preventDefault();\n _this.context.router.history.push(_this.props.to);\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Permalink.prototype.render = function render() {\n var _props = this.props,\n href = _props.href,\n children = _props.children,\n className = _props.className,\n other = _objectWithoutProperties(_props, ['href', 'children', 'className']);\n\n return React.createElement(\n 'a',\n _extends({ target: '_blank', href: href, onClick: this.handleClick }, other, { className: 'permalink' + (className ? ' ' + className : '') }),\n children\n );\n };\n\n return Permalink;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _temp2);\nexport { Permalink as default };" + }, + { + "id": 271, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/loading_indicator.js", + "name": "./app/javascript/mastodon/components/loading_indicator.js", + "index": 719, + "index2": 710, + "size": 444, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_loading.js", + "issuerId": 634, + "issuerName": "./app/javascript/mastodon/features/ui/components/modal_loading.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 634, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_loading.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_loading.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_loading.js", + "type": "harmony import", + "userRequest": "../../../components/loading_indicator", + "loc": "4:0-69" + }, + { + "moduleId": 761, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/index.js", + "module": "./app/javascript/mastodon/features/account_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/index.js", + "type": "harmony import", + "userRequest": "../../components/loading_indicator", + "loc": "15:0-66" + }, + { + "moduleId": 762, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_gallery/index.js", + "module": "./app/javascript/mastodon/features/account_gallery/index.js", + "moduleName": "./app/javascript/mastodon/features/account_gallery/index.js", + "type": "harmony import", + "userRequest": "../../components/loading_indicator", + "loc": "14:0-66" + }, + { + "moduleId": 763, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/followers/index.js", + "module": "./app/javascript/mastodon/features/followers/index.js", + "moduleName": "./app/javascript/mastodon/features/followers/index.js", + "type": "harmony import", + "userRequest": "../../components/loading_indicator", + "loc": "12:0-66" + }, + { + "moduleId": 764, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/following/index.js", + "module": "./app/javascript/mastodon/features/following/index.js", + "moduleName": "./app/javascript/mastodon/features/following/index.js", + "type": "harmony import", + "userRequest": "../../components/loading_indicator", + "loc": "12:0-66" + }, + { + "moduleId": 765, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/reblogs/index.js", + "module": "./app/javascript/mastodon/features/reblogs/index.js", + "moduleName": "./app/javascript/mastodon/features/reblogs/index.js", + "type": "harmony import", + "userRequest": "../../components/loading_indicator", + "loc": "12:0-66" + }, + { + "moduleId": 766, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourites/index.js", + "module": "./app/javascript/mastodon/features/favourites/index.js", + "moduleName": "./app/javascript/mastodon/features/favourites/index.js", + "type": "harmony import", + "userRequest": "../../components/loading_indicator", + "loc": "12:0-66" + }, + { + "moduleId": 767, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/follow_requests/index.js", + "module": "./app/javascript/mastodon/features/follow_requests/index.js", + "moduleName": "./app/javascript/mastodon/features/follow_requests/index.js", + "type": "harmony import", + "userRequest": "../../components/loading_indicator", + "loc": "12:0-66" + }, + { + "moduleId": 770, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/blocks/index.js", + "module": "./app/javascript/mastodon/features/blocks/index.js", + "moduleName": "./app/javascript/mastodon/features/blocks/index.js", + "type": "harmony import", + "userRequest": "../../components/loading_indicator", + "loc": "12:0-66" + }, + { + "moduleId": 771, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/mutes/index.js", + "module": "./app/javascript/mastodon/features/mutes/index.js", + "moduleName": "./app/javascript/mastodon/features/mutes/index.js", + "type": "harmony import", + "userRequest": "../../components/loading_indicator", + "loc": "12:0-66" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nvar LoadingIndicator = function LoadingIndicator() {\n return _jsx('div', {\n className: 'loading-indicator'\n }, void 0, _jsx('div', {\n className: 'loading-indicator__figure'\n }), _jsx(FormattedMessage, {\n id: 'loading_indicator.label',\n defaultMessage: 'Loading...'\n }));\n};\n\nexport default LoadingIndicator;" + }, + { + "id": 273, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/columns.js", + "name": "./app/javascript/mastodon/actions/columns.js", + "index": 326, + "index2": 321, + "size": 743, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "issuerId": 755, + "issuerName": "./app/javascript/mastodon/features/public_timeline/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 445, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/settings.js", + "module": "./app/javascript/mastodon/reducers/settings.js", + "moduleName": "./app/javascript/mastodon/reducers/settings.js", + "type": "harmony import", + "userRequest": "../actions/columns", + "loc": "2:0-76" + }, + { + "moduleId": 753, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/notifications/index.js", + "module": "./app/javascript/mastodon/features/notifications/index.js", + "moduleName": "./app/javascript/mastodon/features/notifications/index.js", + "type": "harmony import", + "userRequest": "../../actions/columns", + "loc": "15:0-76" + }, + { + "moduleId": 754, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/home_timeline/index.js", + "module": "./app/javascript/mastodon/features/home_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/home_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/columns", + "loc": "15:0-76" + }, + { + "moduleId": 755, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/public_timeline/index.js", + "module": "./app/javascript/mastodon/features/public_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/public_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/columns", + "loc": "15:0-76" + }, + { + "moduleId": 756, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/community_timeline/index.js", + "module": "./app/javascript/mastodon/features/community_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/community_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/columns", + "loc": "15:0-76" + }, + { + "moduleId": 757, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/hashtag_timeline/index.js", + "module": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "moduleName": "./app/javascript/mastodon/features/hashtag_timeline/index.js", + "type": "harmony import", + "userRequest": "../../actions/columns", + "loc": "15:0-76" + }, + { + "moduleId": 769, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/favourited_statuses/index.js", + "module": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "moduleName": "./app/javascript/mastodon/features/favourited_statuses/index.js", + "type": "harmony import", + "userRequest": "../../actions/columns", + "loc": "15:0-76" + } + ], + "usedExports": [ + "COLUMN_ADD", + "COLUMN_MOVE", + "COLUMN_REMOVE", + "addColumn", + "moveColumn", + "removeColumn" + ], + "providedExports": [ + "COLUMN_ADD", + "COLUMN_REMOVE", + "COLUMN_MOVE", + "addColumn", + "removeColumn", + "moveColumn" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import { saveSettings } from './settings';\n\nexport var COLUMN_ADD = 'COLUMN_ADD';\nexport var COLUMN_REMOVE = 'COLUMN_REMOVE';\nexport var COLUMN_MOVE = 'COLUMN_MOVE';\n\nexport function addColumn(id, params) {\n return function (dispatch) {\n dispatch({\n type: COLUMN_ADD,\n id: id,\n params: params\n });\n\n dispatch(saveSettings());\n };\n};\n\nexport function removeColumn(uuid) {\n return function (dispatch) {\n dispatch({\n type: COLUMN_REMOVE,\n uuid: uuid\n });\n\n dispatch(saveSettings());\n };\n};\n\nexport function moveColumn(uuid, direction) {\n return function (dispatch) {\n dispatch({\n type: COLUMN_MOVE,\n uuid: uuid,\n direction: direction\n });\n\n dispatch(saveSettings());\n };\n};" + }, + { + "id": 284, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/dropdown_menu_container.js", + "name": "./app/javascript/mastodon/containers/dropdown_menu_container.js", + "index": 380, + "index2": 417, + "size": 725, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "issuerId": 465, + "issuerName": "./app/javascript/mastodon/components/status_action_bar.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 465, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "module": "./app/javascript/mastodon/components/status_action_bar.js", + "moduleName": "./app/javascript/mastodon/components/status_action_bar.js", + "type": "harmony import", + "userRequest": "../containers/dropdown_menu_container", + "loc": "12:0-74" + }, + { + "moduleId": 784, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account/components/action_bar.js", + "module": "./app/javascript/mastodon/features/account/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/account/components/action_bar.js", + "type": "harmony import", + "userRequest": "../../../containers/dropdown_menu_container", + "loc": "10:0-80" + }, + { + "moduleId": 895, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/status/components/action_bar.js", + "module": "./app/javascript/mastodon/features/status/components/action_bar.js", + "moduleName": "./app/javascript/mastodon/features/status/components/action_bar.js", + "type": "harmony import", + "userRequest": "../../../containers/dropdown_menu_container", + "loc": "12:0-80" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import { openModal, closeModal } from '../actions/modal';\nimport { connect } from 'react-redux';\nimport DropdownMenu from '../components/dropdown_menu';\nimport { isUserTouching } from '../is_mobile';\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n isModalOpen: state.get('modal').modalType === 'ACTIONS'\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n isUserTouching: isUserTouching,\n onModalOpen: function onModalOpen(props) {\n return dispatch(openModal('ACTIONS', props));\n },\n onModalClose: function onModalClose() {\n return dispatch(closeModal());\n }\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DropdownMenu);" + }, + { + "id": 285, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/domain_blocks.js", + "name": "./app/javascript/mastodon/actions/domain_blocks.js", + "index": 324, + "index2": 319, + "size": 3010, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/relationships.js", + "issuerId": 444, + "issuerName": "./app/javascript/mastodon/reducers/relationships.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 444, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/relationships.js", + "module": "./app/javascript/mastodon/reducers/relationships.js", + "moduleName": "./app/javascript/mastodon/reducers/relationships.js", + "type": "harmony import", + "userRequest": "../actions/domain_blocks", + "loc": "2:0-88" + }, + { + "moduleId": 781, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "module": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "moduleName": "./app/javascript/mastodon/features/account_timeline/containers/header_container.js", + "type": "harmony import", + "userRequest": "../../../actions/domain_blocks", + "loc": "10:0-76" + } + ], + "usedExports": [ + "DOMAIN_BLOCK_SUCCESS", + "DOMAIN_UNBLOCK_SUCCESS", + "blockDomain", + "unblockDomain" + ], + "providedExports": [ + "DOMAIN_BLOCK_REQUEST", + "DOMAIN_BLOCK_SUCCESS", + "DOMAIN_BLOCK_FAIL", + "DOMAIN_UNBLOCK_REQUEST", + "DOMAIN_UNBLOCK_SUCCESS", + "DOMAIN_UNBLOCK_FAIL", + "DOMAIN_BLOCKS_FETCH_REQUEST", + "DOMAIN_BLOCKS_FETCH_SUCCESS", + "DOMAIN_BLOCKS_FETCH_FAIL", + "blockDomain", + "blockDomainRequest", + "blockDomainSuccess", + "blockDomainFail", + "unblockDomain", + "unblockDomainRequest", + "unblockDomainSuccess", + "unblockDomainFail", + "fetchDomainBlocks", + "fetchDomainBlocksRequest", + "fetchDomainBlocksSuccess", + "fetchDomainBlocksFail" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import api, { getLinks } from '../api';\n\nexport var DOMAIN_BLOCK_REQUEST = 'DOMAIN_BLOCK_REQUEST';\nexport var DOMAIN_BLOCK_SUCCESS = 'DOMAIN_BLOCK_SUCCESS';\nexport var DOMAIN_BLOCK_FAIL = 'DOMAIN_BLOCK_FAIL';\n\nexport var DOMAIN_UNBLOCK_REQUEST = 'DOMAIN_UNBLOCK_REQUEST';\nexport var DOMAIN_UNBLOCK_SUCCESS = 'DOMAIN_UNBLOCK_SUCCESS';\nexport var DOMAIN_UNBLOCK_FAIL = 'DOMAIN_UNBLOCK_FAIL';\n\nexport var DOMAIN_BLOCKS_FETCH_REQUEST = 'DOMAIN_BLOCKS_FETCH_REQUEST';\nexport var DOMAIN_BLOCKS_FETCH_SUCCESS = 'DOMAIN_BLOCKS_FETCH_SUCCESS';\nexport var DOMAIN_BLOCKS_FETCH_FAIL = 'DOMAIN_BLOCKS_FETCH_FAIL';\n\nexport function blockDomain(domain, accountId) {\n return function (dispatch, getState) {\n dispatch(blockDomainRequest(domain));\n\n api(getState).post('/api/v1/domain_blocks', { domain: domain }).then(function () {\n dispatch(blockDomainSuccess(domain, accountId));\n }).catch(function (err) {\n dispatch(blockDomainFail(domain, err));\n });\n };\n};\n\nexport function blockDomainRequest(domain) {\n return {\n type: DOMAIN_BLOCK_REQUEST,\n domain: domain\n };\n};\n\nexport function blockDomainSuccess(domain, accountId) {\n return {\n type: DOMAIN_BLOCK_SUCCESS,\n domain: domain,\n accountId: accountId\n };\n};\n\nexport function blockDomainFail(domain, error) {\n return {\n type: DOMAIN_BLOCK_FAIL,\n domain: domain,\n error: error\n };\n};\n\nexport function unblockDomain(domain, accountId) {\n return function (dispatch, getState) {\n dispatch(unblockDomainRequest(domain));\n\n api(getState).delete('/api/v1/domain_blocks', { params: { domain: domain } }).then(function () {\n dispatch(unblockDomainSuccess(domain, accountId));\n }).catch(function (err) {\n dispatch(unblockDomainFail(domain, err));\n });\n };\n};\n\nexport function unblockDomainRequest(domain) {\n return {\n type: DOMAIN_UNBLOCK_REQUEST,\n domain: domain\n };\n};\n\nexport function unblockDomainSuccess(domain, accountId) {\n return {\n type: DOMAIN_UNBLOCK_SUCCESS,\n domain: domain,\n accountId: accountId\n };\n};\n\nexport function unblockDomainFail(domain, error) {\n return {\n type: DOMAIN_UNBLOCK_FAIL,\n domain: domain,\n error: error\n };\n};\n\nexport function fetchDomainBlocks() {\n return function (dispatch, getState) {\n dispatch(fetchDomainBlocksRequest());\n\n api(getState).get().then(function (response) {\n var next = getLinks(response).refs.find(function (link) {\n return link.rel === 'next';\n });\n dispatch(fetchDomainBlocksSuccess(response.data, next ? next.uri : null));\n }).catch(function (err) {\n dispatch(fetchDomainBlocksFail(err));\n });\n };\n};\n\nexport function fetchDomainBlocksRequest() {\n return {\n type: DOMAIN_BLOCKS_FETCH_REQUEST\n };\n};\n\nexport function fetchDomainBlocksSuccess(domains, next) {\n return {\n type: DOMAIN_BLOCKS_FETCH_SUCCESS,\n domains: domains,\n next: next\n };\n};\n\nexport function fetchDomainBlocksFail(error) {\n return {\n type: DOMAIN_BLOCKS_FETCH_FAIL,\n error: error\n };\n};" + }, + { + "id": 318, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-sap.js", + "name": "./node_modules/core-js/library/modules/_object-sap.js", + "index": 445, + "index2": 431, + "size": 375, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.keys.js", + "issuerId": 870, + "issuerName": "./node_modules/core-js/library/modules/es6.object.keys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 612, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "module": "./node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "type": "cjs require", + "userRequest": "./_object-sap", + "loc": "5:0-24" + }, + { + "moduleId": 870, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.keys.js", + "module": "./node_modules/core-js/library/modules/es6.object.keys.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.keys.js", + "type": "cjs require", + "userRequest": "./_object-sap", + "loc": "5:0-24" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () {\n fn(1);\n }), 'Object', exp);\n};" + }, + { + "id": 321, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/symbol/for.js", + "name": "./node_modules/babel-runtime/core-js/symbol/for.js", + "index": 78, + "index2": 124, + "size": 91, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/jsx.js", + "issuerId": 2, + "issuerName": "./node_modules/babel-runtime/helpers/jsx.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 2, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/jsx.js", + "module": "./node_modules/babel-runtime/helpers/jsx.js", + "moduleName": "./node_modules/babel-runtime/helpers/jsx.js", + "type": "cjs require", + "userRequest": "../core-js/symbol/for", + "loc": "5:11-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "module.exports = { \"default\": require(\"core-js/library/fn/symbol/for\"), __esModule: true };" + }, + { + "id": 322, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/for.js", + "name": "./node_modules/core-js/library/fn/symbol/for.js", + "index": 79, + "index2": 123, + "size": 99, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/symbol/for.js", + "issuerId": 321, + "issuerName": "./node_modules/babel-runtime/core-js/symbol/for.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 321, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/symbol/for.js", + "module": "./node_modules/babel-runtime/core-js/symbol/for.js", + "moduleName": "./node_modules/babel-runtime/core-js/symbol/for.js", + "type": "cjs require", + "userRequest": "core-js/library/fn/symbol/for", + "loc": "1:30-70" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "require('../../modules/es6.symbol');\nmodule.exports = require('../../modules/_core').Symbol['for'];" + }, + { + "id": 323, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_a-function.js", + "name": "./node_modules/core-js/library/modules/_a-function.js", + "index": 88, + "index2": 80, + "size": 124, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_ctx.js", + "issuerId": 177, + "issuerName": "./node_modules/core-js/library/modules/_ctx.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 177, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_ctx.js", + "module": "./node_modules/core-js/library/modules/_ctx.js", + "moduleName": "./node_modules/core-js/library/modules/_ctx.js", + "type": "cjs require", + "userRequest": "./_a-function", + "loc": "2:16-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};" + }, + { + "id": 324, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_meta.js", + "name": "./node_modules/core-js/library/modules/_meta.js", + "index": 98, + "index2": 93, + "size": 1556, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_meta", + "loc": "9:11-29" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n }return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n }return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};" + }, + { + "id": 325, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_enum-keys.js", + "name": "./node_modules/core-js/library/modules/_enum-keys.js", + "index": 106, + "index2": 114, + "size": 467, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_enum-keys", + "loc": "17:15-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n }return result;\n};" + }, + { + "id": 326, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_array-includes.js", + "name": "./node_modules/core-js/library/modules/_array-includes.js", + "index": 113, + "index2": 107, + "size": 925, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys-internal.js", + "issuerId": 181, + "issuerName": "./node_modules/core-js/library/modules/_object-keys-internal.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 181, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-keys-internal.js", + "module": "./node_modules/core-js/library/modules/_object-keys-internal.js", + "moduleName": "./node_modules/core-js/library/modules/_object-keys-internal.js", + "type": "cjs require", + "userRequest": "./_array-includes", + "loc": "3:19-47" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (; length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }return !IS_INCLUDES && -1;\n };\n};" + }, + { + "id": 327, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-length.js", + "name": "./node_modules/core-js/library/modules/_to-length.js", + "index": 114, + "index2": 105, + "size": 214, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_array-includes.js", + "issuerId": 326, + "issuerName": "./node_modules/core-js/library/modules/_array-includes.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 326, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_array-includes.js", + "module": "./node_modules/core-js/library/modules/_array-includes.js", + "moduleName": "./node_modules/core-js/library/modules/_array-includes.js", + "type": "cjs require", + "userRequest": "./_to-length", + "loc": "4:15-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};" + }, + { + "id": 328, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_to-absolute-index.js", + "name": "./node_modules/core-js/library/modules/_to-absolute-index.js", + "index": 116, + "index2": 106, + "size": 222, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_array-includes.js", + "issuerId": 326, + "issuerName": "./node_modules/core-js/library/modules/_array-includes.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 326, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_array-includes.js", + "module": "./node_modules/core-js/library/modules/_array-includes.js", + "moduleName": "./node_modules/core-js/library/modules/_array-includes.js", + "type": "cjs require", + "userRequest": "./_to-absolute-index", + "loc": "5:22-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};" + }, + { + "id": 329, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_is-array.js", + "name": "./node_modules/core-js/library/modules/_is-array.js", + "index": 121, + "index2": 115, + "size": 146, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_is-array", + "loc": "18:14-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};" + }, + { + "id": 330, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-dps.js", + "name": "./node_modules/core-js/library/modules/_object-dps.js", + "index": 123, + "index2": 116, + "size": 403, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "issuerId": 121, + "issuerName": "./node_modules/core-js/library/modules/_object-create.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 121, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "module": "./node_modules/core-js/library/modules/_object-create.js", + "moduleName": "./node_modules/core-js/library/modules/_object-create.js", + "type": "cjs require", + "userRequest": "./_object-dps", + "loc": "3:10-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};" + }, + { + "id": 331, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_html.js", + "name": "./node_modules/core-js/library/modules/_html.js", + "index": 124, + "index2": 117, + "size": 100, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "issuerId": 121, + "issuerName": "./node_modules/core-js/library/modules/_object-create.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 121, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-create.js", + "module": "./node_modules/core-js/library/modules/_object-create.js", + "moduleName": "./node_modules/core-js/library/modules/_object-create.js", + "type": "cjs require", + "userRequest": "./_html", + "loc": "18:2-20" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var document = require('./_global').document;\nmodule.exports = document && document.documentElement;" + }, + { + "id": 332, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-gopn-ext.js", + "name": "./node_modules/core-js/library/modules/_object-gopn-ext.js", + "index": 125, + "index2": 120, + "size": 601, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "issuerId": 176, + "issuerName": "./node_modules/core-js/library/modules/es6.symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 176, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.symbol.js", + "module": "./node_modules/core-js/library/modules/es6.symbol.js", + "moduleName": "./node_modules/core-js/library/modules/es6.symbol.js", + "type": "cjs require", + "userRequest": "./_object-gopn-ext", + "loc": "24:14-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};" + }, + { + "id": 333, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/index.js", + "name": "./node_modules/core-js/library/fn/symbol/index.js", + "index": 129, + "index2": 128, + "size": 239, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/symbol.js", + "issuerId": 186, + "issuerName": "./node_modules/babel-runtime/core-js/symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 186, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/symbol.js", + "module": "./node_modules/babel-runtime/core-js/symbol.js", + "moduleName": "./node_modules/babel-runtime/core-js/symbol.js", + "type": "cjs require", + "userRequest": "core-js/library/fn/symbol", + "loc": "1:30-66" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;" + }, + { + "id": 334, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.to-string.js", + "name": "./node_modules/core-js/library/modules/es6.object.to-string.js", + "index": 130, + "index2": 125, + "size": 0, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/index.js", + "issuerId": 333, + "issuerName": "./node_modules/core-js/library/fn/symbol/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 333, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/index.js", + "module": "./node_modules/core-js/library/fn/symbol/index.js", + "moduleName": "./node_modules/core-js/library/fn/symbol/index.js", + "type": "cjs require", + "userRequest": "../../modules/es6.object.to-string", + "loc": "2:0-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "" + }, + { + "id": 335, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es7.symbol.async-iterator.js", + "name": "./node_modules/core-js/library/modules/es7.symbol.async-iterator.js", + "index": 131, + "index2": 126, + "size": 42, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/index.js", + "issuerId": 333, + "issuerName": "./node_modules/core-js/library/fn/symbol/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 333, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/index.js", + "module": "./node_modules/core-js/library/fn/symbol/index.js", + "moduleName": "./node_modules/core-js/library/fn/symbol/index.js", + "type": "cjs require", + "userRequest": "../../modules/es7.symbol.async-iterator", + "loc": "3:0-50" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "require('./_wks-define')('asyncIterator');" + }, + { + "id": 336, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es7.symbol.observable.js", + "name": "./node_modules/core-js/library/modules/es7.symbol.observable.js", + "index": 132, + "index2": 127, + "size": 39, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/index.js", + "issuerId": 333, + "issuerName": "./node_modules/core-js/library/fn/symbol/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 333, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/index.js", + "module": "./node_modules/core-js/library/fn/symbol/index.js", + "moduleName": "./node_modules/core-js/library/fn/symbol/index.js", + "type": "cjs require", + "userRequest": "../../modules/es7.symbol.observable", + "loc": "4:0-46" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "require('./_wks-define')('observable');" + }, + { + "id": 337, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/symbol/iterator.js", + "name": "./node_modules/babel-runtime/core-js/symbol/iterator.js", + "index": 136, + "index2": 144, + "size": 96, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/typeof.js", + "issuerId": 35, + "issuerName": "./node_modules/babel-runtime/helpers/typeof.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 35, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/typeof.js", + "module": "./node_modules/babel-runtime/helpers/typeof.js", + "moduleName": "./node_modules/babel-runtime/helpers/typeof.js", + "type": "cjs require", + "userRequest": "../core-js/symbol/iterator", + "loc": "5:16-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };" + }, + { + "id": 338, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/iterator.js", + "name": "./node_modules/core-js/library/fn/symbol/iterator.js", + "index": 137, + "index2": 143, + "size": 154, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/symbol/iterator.js", + "issuerId": 337, + "issuerName": "./node_modules/babel-runtime/core-js/symbol/iterator.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 337, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/symbol/iterator.js", + "module": "./node_modules/babel-runtime/core-js/symbol/iterator.js", + "moduleName": "./node_modules/babel-runtime/core-js/symbol/iterator.js", + "type": "cjs require", + "userRequest": "core-js/library/fn/symbol/iterator", + "loc": "1:30-75" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');" + }, + { + "id": 339, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.string.iterator.js", + "name": "./node_modules/core-js/library/modules/es6.string.iterator.js", + "index": 138, + "index2": 138, + "size": 518, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/iterator.js", + "issuerId": 338, + "issuerName": "./node_modules/core-js/library/fn/symbol/iterator.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 338, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/iterator.js", + "module": "./node_modules/core-js/library/fn/symbol/iterator.js", + "moduleName": "./node_modules/core-js/library/fn/symbol/iterator.js", + "type": "cjs require", + "userRequest": "../../modules/es6.string.iterator", + "loc": "1:0-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n // 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});" + }, + { + "id": 340, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_string-at.js", + "name": "./node_modules/core-js/library/modules/_string-at.js", + "index": 139, + "index2": 132, + "size": 607, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.string.iterator.js", + "issuerId": 339, + "issuerName": "./node_modules/core-js/library/modules/es6.string.iterator.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 339, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.string.iterator.js", + "module": "./node_modules/core-js/library/modules/es6.string.iterator.js", + "moduleName": "./node_modules/core-js/library/modules/es6.string.iterator.js", + "type": "cjs require", + "userRequest": "./_string-at", + "loc": "3:10-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};" + }, + { + "id": 341, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-create.js", + "name": "./node_modules/core-js/library/modules/_iter-create.js", + "index": 142, + "index2": 134, + "size": 528, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "issuerId": 187, + "issuerName": "./node_modules/core-js/library/modules/_iter-define.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 187, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-define.js", + "module": "./node_modules/core-js/library/modules/_iter-define.js", + "moduleName": "./node_modules/core-js/library/modules/_iter-define.js", + "type": "cjs require", + "userRequest": "./_iter-create", + "loc": "9:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () {\n return this;\n});\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};" + }, + { + "id": 342, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/web.dom.iterable.js", + "name": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "index": 145, + "index2": 142, + "size": 960, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/iterator.js", + "issuerId": 338, + "issuerName": "./node_modules/core-js/library/fn/symbol/iterator.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 338, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/symbol/iterator.js", + "module": "./node_modules/core-js/library/fn/symbol/iterator.js", + "moduleName": "./node_modules/core-js/library/fn/symbol/iterator.js", + "type": "cjs require", + "userRequest": "../../modules/web.dom.iterable", + "loc": "2:0-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}" + }, + { + "id": 343, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.array.iterator.js", + "name": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "index": 146, + "index2": 141, + "size": 1085, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/web.dom.iterable.js", + "issuerId": 342, + "issuerName": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 342, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/web.dom.iterable.js", + "module": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "moduleName": "./node_modules/core-js/library/modules/web.dom.iterable.js", + "type": "cjs require", + "userRequest": "./es6.array.iterator", + "loc": "1:0-31" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n // 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');" + }, + { + "id": 344, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_add-to-unscopables.js", + "name": "./node_modules/core-js/library/modules/_add-to-unscopables.js", + "index": 147, + "index2": 139, + "size": 43, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.array.iterator.js", + "issuerId": 343, + "issuerName": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 343, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.array.iterator.js", + "module": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "moduleName": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "type": "cjs require", + "userRequest": "./_add-to-unscopables", + "loc": "3:23-55" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "module.exports = function () {/* empty */};" + }, + { + "id": 345, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_iter-step.js", + "name": "./node_modules/core-js/library/modules/_iter-step.js", + "index": 148, + "index2": 140, + "size": 85, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.array.iterator.js", + "issuerId": 343, + "issuerName": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 343, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.array.iterator.js", + "module": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "moduleName": "./node_modules/core-js/library/modules/es6.array.iterator.js", + "type": "cjs require", + "userRequest": "./_iter-step", + "loc": "4:11-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "module.exports = function (done, value) {\n return { value: value, done: !!done };\n};" + }, + { + "id": 346, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/set-prototype-of.js", + "name": "./node_modules/babel-runtime/core-js/object/set-prototype-of.js", + "index": 150, + "index2": 150, + "size": 104, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/inherits.js", + "issuerId": 4, + "issuerName": "./node_modules/babel-runtime/helpers/inherits.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 4, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/inherits.js", + "module": "./node_modules/babel-runtime/helpers/inherits.js", + "moduleName": "./node_modules/babel-runtime/helpers/inherits.js", + "type": "cjs require", + "userRequest": "../core-js/object/set-prototype-of", + "loc": "5:22-67" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };" + }, + { + "id": 347, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/set-prototype-of.js", + "name": "./node_modules/core-js/library/fn/object/set-prototype-of.js", + "index": 151, + "index2": 149, + "size": 124, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/set-prototype-of.js", + "issuerId": 346, + "issuerName": "./node_modules/babel-runtime/core-js/object/set-prototype-of.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 346, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/set-prototype-of.js", + "module": "./node_modules/babel-runtime/core-js/object/set-prototype-of.js", + "moduleName": "./node_modules/babel-runtime/core-js/object/set-prototype-of.js", + "type": "cjs require", + "userRequest": "core-js/library/fn/object/set-prototype-of", + "loc": "1:30-83" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;" + }, + { + "id": 348, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.set-prototype-of.js", + "name": "./node_modules/core-js/library/modules/es6.object.set-prototype-of.js", + "index": 152, + "index2": 148, + "size": 159, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/set-prototype-of.js", + "issuerId": 347, + "issuerName": "./node_modules/core-js/library/fn/object/set-prototype-of.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 347, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/set-prototype-of.js", + "module": "./node_modules/core-js/library/fn/object/set-prototype-of.js", + "moduleName": "./node_modules/core-js/library/fn/object/set-prototype-of.js", + "type": "cjs require", + "userRequest": "../../modules/es6.object.set-prototype-of", + "loc": "1:0-52" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });" + }, + { + "id": 349, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_set-proto.js", + "name": "./node_modules/core-js/library/modules/_set-proto.js", + "index": 153, + "index2": 147, + "size": 882, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.set-prototype-of.js", + "issuerId": 348, + "issuerName": "./node_modules/core-js/library/modules/es6.object.set-prototype-of.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 348, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.set-prototype-of.js", + "module": "./node_modules/core-js/library/modules/es6.object.set-prototype-of.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.set-prototype-of.js", + "type": "cjs require", + "userRequest": "./_set-proto", + "loc": "3:47-70" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) {\n buggy = true;\n }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};" + }, + { + "id": 350, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/create.js", + "name": "./node_modules/babel-runtime/core-js/object/create.js", + "index": 154, + "index2": 153, + "size": 94, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/inherits.js", + "issuerId": 4, + "issuerName": "./node_modules/babel-runtime/helpers/inherits.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 4, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/inherits.js", + "module": "./node_modules/babel-runtime/helpers/inherits.js", + "moduleName": "./node_modules/babel-runtime/helpers/inherits.js", + "type": "cjs require", + "userRequest": "../core-js/object/create", + "loc": "9:14-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };" + }, + { + "id": 351, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/create.js", + "name": "./node_modules/core-js/library/fn/object/create.js", + "index": 155, + "index2": 152, + "size": 171, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/create.js", + "issuerId": 350, + "issuerName": "./node_modules/babel-runtime/core-js/object/create.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 350, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/create.js", + "module": "./node_modules/babel-runtime/core-js/object/create.js", + "moduleName": "./node_modules/babel-runtime/core-js/object/create.js", + "type": "cjs require", + "userRequest": "core-js/library/fn/object/create", + "loc": "1:30-73" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};" + }, + { + "id": 352, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.create.js", + "name": "./node_modules/core-js/library/modules/es6.object.create.js", + "index": 156, + "index2": 151, + "size": 161, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/create.js", + "issuerId": 351, + "issuerName": "./node_modules/core-js/library/fn/object/create.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 351, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/create.js", + "module": "./node_modules/core-js/library/fn/object/create.js", + "moduleName": "./node_modules/core-js/library/fn/object/create.js", + "type": "cjs require", + "userRequest": "../../modules/es6.object.create", + "loc": "1:0-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });" + }, + { + "id": 353, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/cjs/react.production.min.js", + "name": "./node_modules/react/cjs/react.production.min.js", + "index": 158, + "index2": 158, + "size": 6835, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/index.js", + "issuerId": 0, + "issuerName": "./node_modules/react/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 0, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react/index.js", + "module": "./node_modules/react/index.js", + "moduleName": "./node_modules/react/index.js", + "type": "cjs require", + "userRequest": "./cjs/react.production.min.js", + "loc": "4:19-59" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "/*\n React v16.0.0\n react.production.min.js\n\n Copyright (c) 2013-present, Facebook, Inc.\n\n This source code is licensed under the MIT license found in the\n LICENSE file in the root directory of this source tree.\n*/\n'use strict';\nvar f = require(\"object-assign\"),\n p = require(\"fbjs/lib/emptyObject\");require(\"fbjs/lib/invariant\");var r = require(\"fbjs/lib/emptyFunction\");\nfunction t(a) {\n for (var b = arguments.length - 1, d = \"Minified React error #\" + a + \"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\\x3d\" + a, e = 0; e < b; e++) d += \"\\x26args[]\\x3d\" + encodeURIComponent(arguments[e + 1]);b = Error(d + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");b.name = \"Invariant Violation\";b.framesToPop = 1;throw b;\n}\nvar u = { isMounted: function () {\n return !1;\n }, enqueueForceUpdate: function () {}, enqueueReplaceState: function () {}, enqueueSetState: function () {} };function v(a, b, d) {\n this.props = a;this.context = b;this.refs = p;this.updater = d || u;\n}v.prototype.isReactComponent = {};v.prototype.setState = function (a, b) {\n \"object\" !== typeof a && \"function\" !== typeof a && null != a ? t(\"85\") : void 0;this.updater.enqueueSetState(this, a, b, \"setState\");\n};v.prototype.forceUpdate = function (a) {\n this.updater.enqueueForceUpdate(this, a, \"forceUpdate\");\n};\nfunction w(a, b, d) {\n this.props = a;this.context = b;this.refs = p;this.updater = d || u;\n}function x() {}x.prototype = v.prototype;var y = w.prototype = new x();y.constructor = w;f(y, v.prototype);y.isPureReactComponent = !0;function z(a, b, d) {\n this.props = a;this.context = b;this.refs = p;this.updater = d || u;\n}var A = z.prototype = new x();A.constructor = z;f(A, v.prototype);A.unstable_isAsyncReactComponent = !0;A.render = function () {\n return this.props.children;\n};\nvar B = { Component: v, PureComponent: w, AsyncComponent: z },\n C = { current: null },\n D = Object.prototype.hasOwnProperty,\n E = \"function\" === typeof Symbol && Symbol[\"for\"] && Symbol[\"for\"](\"react.element\") || 60103,\n F = { key: !0, ref: !0, __self: !0, __source: !0 };function G(a, b, d, e, c, g, k) {\n return { $$typeof: E, type: a, key: b, ref: d, props: k, _owner: g };\n}\nG.createElement = function (a, b, d) {\n var e,\n c = {},\n g = null,\n k = null,\n m = null,\n q = null;if (null != b) for (e in void 0 !== b.ref && (k = b.ref), void 0 !== b.key && (g = \"\" + b.key), m = void 0 === b.__self ? null : b.__self, q = void 0 === b.__source ? null : b.__source, b) D.call(b, e) && !F.hasOwnProperty(e) && (c[e] = b[e]);var l = arguments.length - 2;if (1 === l) c.children = d;else if (1 < l) {\n for (var h = Array(l), n = 0; n < l; n++) h[n] = arguments[n + 2];c.children = h;\n }if (a && a.defaultProps) for (e in l = a.defaultProps, l) void 0 === c[e] && (c[e] = l[e]);return G(a, g, k, m, q, C.current, c);\n};\nG.createFactory = function (a) {\n var b = G.createElement.bind(null, a);b.type = a;return b;\n};G.cloneAndReplaceKey = function (a, b) {\n return G(a.type, b, a.ref, a._self, a._source, a._owner, a.props);\n};\nG.cloneElement = function (a, b, d) {\n var e = f({}, a.props),\n c = a.key,\n g = a.ref,\n k = a._self,\n m = a._source,\n q = a._owner;if (null != b) {\n void 0 !== b.ref && (g = b.ref, q = C.current);void 0 !== b.key && (c = \"\" + b.key);if (a.type && a.type.defaultProps) var l = a.type.defaultProps;for (h in b) D.call(b, h) && !F.hasOwnProperty(h) && (e[h] = void 0 === b[h] && void 0 !== l ? l[h] : b[h]);\n }var h = arguments.length - 2;if (1 === h) e.children = d;else if (1 < h) {\n l = Array(h);for (var n = 0; n < h; n++) l[n] = arguments[n + 2];e.children = l;\n }return G(a.type, c, g, k, m, q, e);\n};\nG.isValidElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === E;\n};var H = \"function\" === typeof Symbol && Symbol.iterator,\n I = \"function\" === typeof Symbol && Symbol[\"for\"] && Symbol[\"for\"](\"react.element\") || 60103;function escape(a) {\n var b = { \"\\x3d\": \"\\x3d0\", \":\": \"\\x3d2\" };return \"$\" + (\"\" + a).replace(/[=:]/g, function (a) {\n return b[a];\n });\n}var J = /\\/+/g,\n K = [];\nfunction L(a, b, d, e) {\n if (K.length) {\n var c = K.pop();c.result = a;c.keyPrefix = b;c.func = d;c.context = e;c.count = 0;return c;\n }return { result: a, keyPrefix: b, func: d, context: e, count: 0 };\n}function M(a) {\n a.result = null;a.keyPrefix = null;a.func = null;a.context = null;a.count = 0;10 > K.length && K.push(a);\n}\nfunction N(a, b, d, e) {\n var c = typeof a;if (\"undefined\" === c || \"boolean\" === c) a = null;if (null === a || \"string\" === c || \"number\" === c || \"object\" === c && a.$$typeof === I) return d(e, a, \"\" === b ? \".\" + O(a, 0) : b), 1;var g = 0;b = \"\" === b ? \".\" : b + \":\";if (Array.isArray(a)) for (var k = 0; k < a.length; k++) {\n c = a[k];var m = b + O(c, k);g += N(c, m, d, e);\n } else if (m = H && a[H] || a[\"@@iterator\"], \"function\" === typeof m) for (a = m.call(a), k = 0; !(c = a.next()).done;) c = c.value, m = b + O(c, k++), g += N(c, m, d, e);else \"object\" === c && (d = \"\" + a, t(\"31\", \"[object Object]\" === d ? \"object with keys {\" + Object.keys(a).join(\", \") + \"}\" : d, \"\"));return g;\n}function O(a, b) {\n return \"object\" === typeof a && null !== a && null != a.key ? escape(a.key) : b.toString(36);\n}function P(a, b) {\n a.func.call(a.context, b, a.count++);\n}function Q(a, b, d) {\n var e = a.result,\n c = a.keyPrefix;a = a.func.call(a.context, b, a.count++);Array.isArray(a) ? R(a, e, d, r.thatReturnsArgument) : null != a && (G.isValidElement(a) && (a = G.cloneAndReplaceKey(a, c + (!a.key || b && b.key === a.key ? \"\" : (\"\" + a.key).replace(J, \"$\\x26/\") + \"/\") + d)), e.push(a));\n}\nfunction R(a, b, d, e, c) {\n var g = \"\";null != d && (g = (\"\" + d).replace(J, \"$\\x26/\") + \"/\");b = L(b, g, e, c);null == a || N(a, \"\", Q, b);M(b);\n}var S = { forEach: function (a, b, d) {\n if (null == a) return a;b = L(null, null, b, d);null == a || N(a, \"\", P, b);M(b);\n }, map: function (a, b, d) {\n if (null == a) return a;var e = [];R(a, e, null, b, d);return e;\n }, count: function (a) {\n return null == a ? 0 : N(a, \"\", r.thatReturnsNull, null);\n }, toArray: function (a) {\n var b = [];R(a, b, null, r.thatReturnsArgument);return b;\n } };\nmodule.exports = { Children: { map: S.map, forEach: S.forEach, count: S.count, toArray: S.toArray, only: function (a) {\n G.isValidElement(a) ? void 0 : t(\"143\");return a;\n } }, Component: B.Component, PureComponent: B.PureComponent, unstable_AsyncComponent: B.AsyncComponent, createElement: G.createElement, cloneElement: G.cloneElement, isValidElement: G.isValidElement, createFactory: G.createFactory, version: \"16.0.0\", __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { ReactCurrentOwner: C, assign: f } };" + }, + { + "id": 354, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/Provider.js", + "name": "./node_modules/react-redux/es/components/Provider.js", + "index": 163, + "index2": 165, + "size": 3094, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/index.js", + "issuerId": 9, + "issuerName": "./node_modules/react-redux/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 9, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/index.js", + "module": "./node_modules/react-redux/es/index.js", + "moduleName": "./node_modules/react-redux/es/index.js", + "type": "harmony import", + "userRequest": "./components/Provider", + "loc": "1:0-65" + } + ], + "usedExports": [ + "createProvider", + "default" + ], + "providedExports": [ + "createProvider", + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport { Component, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { storeShape, subscriptionShape } from '../utils/PropTypes';\nimport warning from '../utils/warning';\n\nvar didWarnAboutReceivingStore = false;\nfunction warnAboutReceivingStore() {\n if (didWarnAboutReceivingStore) {\n return;\n }\n didWarnAboutReceivingStore = true;\n\n warning(' does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reactjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');\n}\n\nexport function createProvider() {\n var _Provider$childContex;\n\n var storeKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'store';\n var subKey = arguments[1];\n\n var subscriptionKey = subKey || storeKey + 'Subscription';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[storeKey] = this[storeKey], _ref[subscriptionKey] = null, _ref;\n };\n\n function Provider(props, context) {\n _classCallCheck(this, Provider);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this[storeKey] = props.store;\n return _this;\n }\n\n Provider.prototype.render = function render() {\n return Children.only(this.props.children);\n };\n\n return Provider;\n }(Component);\n\n if (process.env.NODE_ENV !== 'production') {\n Provider.prototype.componentWillReceiveProps = function (nextProps) {\n if (this[storeKey] !== nextProps.store) {\n warnAboutReceivingStore();\n }\n };\n }\n\n Provider.propTypes = {\n store: storeShape.isRequired,\n children: PropTypes.element.isRequired\n };\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[storeKey] = storeShape.isRequired, _Provider$childContex[subscriptionKey] = subscriptionShape, _Provider$childContex);\n\n return Provider;\n}\n\nexport default createProvider();" + }, + { + "id": 355, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types/factoryWithThrowingShims.js", + "name": "./node_modules/prop-types/factoryWithThrowingShims.js", + "index": 165, + "index2": 161, + "size": 1462, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types/index.js", + "issuerId": 5, + "issuerName": "./node_modules/prop-types/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 5, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types/index.js", + "module": "./node_modules/prop-types/index.js", + "moduleName": "./node_modules/prop-types/index.js", + "type": "cjs require", + "userRequest": "./factoryWithThrowingShims", + "loc": "22:19-56" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function () {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(false, 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};" + }, + { + "id": 356, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types/lib/ReactPropTypesSecret.js", + "name": "./node_modules/prop-types/lib/ReactPropTypesSecret.js", + "index": 166, + "index2": 160, + "size": 313, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types/factoryWithThrowingShims.js", + "issuerId": 355, + "issuerName": "./node_modules/prop-types/factoryWithThrowingShims.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 355, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types/factoryWithThrowingShims.js", + "module": "./node_modules/prop-types/factoryWithThrowingShims.js", + "moduleName": "./node_modules/prop-types/factoryWithThrowingShims.js", + "type": "cjs require", + "userRequest": "./lib/ReactPropTypesSecret", + "loc": "12:27-64" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;" + }, + { + "id": 357, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/utils/Subscription.js", + "name": "./node_modules/react-redux/es/utils/Subscription.js", + "index": 172, + "index2": 168, + "size": 2651, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/connectAdvanced.js", + "issuerId": 190, + "issuerName": "./node_modules/react-redux/es/components/connectAdvanced.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 190, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/components/connectAdvanced.js", + "module": "./node_modules/react-redux/es/components/connectAdvanced.js", + "moduleName": "./node_modules/react-redux/es/components/connectAdvanced.js", + "type": "harmony import", + "userRequest": "../utils/Subscription", + "loc": "39:0-49" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\n// encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nvar CLEARED = null;\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n // the current/next pattern is copied from redux's createStore code.\n // TODO: refactor+expose that code to be reusable here?\n var current = [];\n var next = [];\n\n return {\n clear: function clear() {\n next = CLEARED;\n current = CLEARED;\n },\n notify: function notify() {\n var listeners = current = next;\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n },\n get: function get() {\n return next;\n },\n subscribe: function subscribe(listener) {\n var isSubscribed = true;\n if (next === current) next = current.slice();\n next.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed || current === CLEARED) return;\n isSubscribed = false;\n\n if (next === current) next = current.slice();\n next.splice(next.indexOf(listener), 1);\n };\n }\n };\n}\n\nvar Subscription = function () {\n function Subscription(store, parentSub, onStateChange) {\n _classCallCheck(this, Subscription);\n\n this.store = store;\n this.parentSub = parentSub;\n this.onStateChange = onStateChange;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n }\n\n Subscription.prototype.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n Subscription.prototype.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n Subscription.prototype.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n Subscription.prototype.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.onStateChange) : this.store.subscribe(this.onStateChange);\n\n this.listeners = createListenerCollection();\n }\n };\n\n Subscription.prototype.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexport { Subscription as default };" + }, + { + "id": 358, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "name": "./node_modules/react-redux/es/connect/connect.js", + "index": 173, + "index2": 199, + "size": 5378, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/index.js", + "issuerId": 9, + "issuerName": "./node_modules/react-redux/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 9, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/index.js", + "module": "./node_modules/react-redux/es/index.js", + "moduleName": "./node_modules/react-redux/es/index.js", + "type": "harmony import", + "userRequest": "./connect/connect", + "loc": "3:0-40" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "createConnect", + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\n}\n\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n\n/*\n connect is a facade over connectAdvanced. It turns its args into a compatible\n selectorFactory, which has the signature:\n\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\n \n connect passes its args to connectAdvanced as options, which will in turn pass them to\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\n\n selectorFactory returns a final props selector from its mapStateToProps,\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\n mergePropsFactories, and pure args.\n\n The resulting final props selector is called by the Connect component instance whenever\n it receives new props or store state.\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error('Invalid value of type ' + typeof arg + ' for ' + name + ' argument when connecting component ' + options.wrappedComponentName + '.');\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n\n// createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\nexport function createConnect() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === undefined ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === undefined ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === undefined ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === undefined ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === undefined ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps) {\n var _ref2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},\n _ref2$pure = _ref2.pure,\n pure = _ref2$pure === undefined ? true : _ref2$pure,\n _ref2$areStatesEqual = _ref2.areStatesEqual,\n areStatesEqual = _ref2$areStatesEqual === undefined ? strictEqual : _ref2$areStatesEqual,\n _ref2$areOwnPropsEqua = _ref2.areOwnPropsEqual,\n areOwnPropsEqual = _ref2$areOwnPropsEqua === undefined ? shallowEqual : _ref2$areOwnPropsEqua,\n _ref2$areStatePropsEq = _ref2.areStatePropsEqual,\n areStatePropsEqual = _ref2$areStatePropsEq === undefined ? shallowEqual : _ref2$areStatePropsEq,\n _ref2$areMergedPropsE = _ref2.areMergedPropsEqual,\n areMergedPropsEqual = _ref2$areMergedPropsE === undefined ? shallowEqual : _ref2$areMergedPropsE,\n extraOptions = _objectWithoutProperties(_ref2, ['pure', 'areStatesEqual', 'areOwnPropsEqual', 'areStatePropsEqual', 'areMergedPropsEqual']);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return 'Connect(' + name + ')';\n },\n\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n\n }, extraOptions));\n };\n}\n\nexport default createConnect();" + }, + { + "id": 359, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/utils/shallowEqual.js", + "name": "./node_modules/react-redux/es/utils/shallowEqual.js", + "index": 174, + "index2": 170, + "size": 677, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "issuerId": 358, + "issuerName": "./node_modules/react-redux/es/connect/connect.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 358, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "module": "./node_modules/react-redux/es/connect/connect.js", + "moduleName": "./node_modules/react-redux/es/connect/connect.js", + "type": "harmony import", + "userRequest": "../utils/shallowEqual", + "loc": "18:0-49" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "var hasOwn = Object.prototype.hasOwnProperty;\n\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}" + }, + { + "id": 360, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/mapDispatchToProps.js", + "name": "./node_modules/react-redux/es/connect/mapDispatchToProps.js", + "index": 175, + "index2": 194, + "size": 909, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "issuerId": 358, + "issuerName": "./node_modules/react-redux/es/connect/connect.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 358, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "module": "./node_modules/react-redux/es/connect/connect.js", + "moduleName": "./node_modules/react-redux/es/connect/connect.js", + "type": "harmony import", + "userRequest": "./mapDispatchToProps", + "loc": "19:0-70" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "whenMapDispatchToPropsIsFunction", + "whenMapDispatchToPropsIsMissing", + "whenMapDispatchToPropsIsObject", + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { bindActionCreators } from 'redux';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\n\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\n\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return { dispatch: dispatch };\n }) : undefined;\n}\n\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\n\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];" + }, + { + "id": 361, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_baseGetTag.js", + "name": "./node_modules/lodash-es/_baseGetTag.js", + "index": 179, + "index2": 176, + "size": 779, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/isPlainObject.js", + "issuerId": 125, + "issuerName": "./node_modules/lodash-es/isPlainObject.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 125, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/isPlainObject.js", + "module": "./node_modules/lodash-es/isPlainObject.js", + "moduleName": "./node_modules/lodash-es/isPlainObject.js", + "type": "harmony import", + "userRequest": "./_baseGetTag.js", + "loc": "1:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nexport default baseGetTag;" + }, + { + "id": 362, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_root.js", + "name": "./node_modules/lodash-es/_root.js", + "index": 181, + "index2": 172, + "size": 297, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_Symbol.js", + "issuerId": 194, + "issuerName": "./node_modules/lodash-es/_Symbol.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 194, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_Symbol.js", + "module": "./node_modules/lodash-es/_Symbol.js", + "moduleName": "./node_modules/lodash-es/_Symbol.js", + "type": "harmony import", + "userRequest": "./_root.js", + "loc": "1:0-30" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 8, + "source": "import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;" + }, + { + "id": 363, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_freeGlobal.js", + "name": "./node_modules/lodash-es/_freeGlobal.js", + "index": 182, + "index2": 171, + "size": 170, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_root.js", + "issuerId": 362, + "issuerName": "./node_modules/lodash-es/_root.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 362, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_root.js", + "module": "./node_modules/lodash-es/_root.js", + "moduleName": "./node_modules/lodash-es/_root.js", + "type": "harmony import", + "userRequest": "./_freeGlobal.js", + "loc": "1:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 9, + "source": "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;" + }, + { + "id": 364, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_getRawTag.js", + "name": "./node_modules/lodash-es/_getRawTag.js", + "index": 183, + "index2": 174, + "size": 1136, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_baseGetTag.js", + "issuerId": 361, + "issuerName": "./node_modules/lodash-es/_baseGetTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 361, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_baseGetTag.js", + "module": "./node_modules/lodash-es/_baseGetTag.js", + "moduleName": "./node_modules/lodash-es/_baseGetTag.js", + "type": "harmony import", + "userRequest": "./_getRawTag.js", + "loc": "2:0-40" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;" + }, + { + "id": 365, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_objectToString.js", + "name": "./node_modules/lodash-es/_objectToString.js", + "index": 184, + "index2": 175, + "size": 562, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_baseGetTag.js", + "issuerId": 361, + "issuerName": "./node_modules/lodash-es/_baseGetTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 361, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_baseGetTag.js", + "module": "./node_modules/lodash-es/_baseGetTag.js", + "moduleName": "./node_modules/lodash-es/_baseGetTag.js", + "type": "harmony import", + "userRequest": "./_objectToString.js", + "loc": "3:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;" + }, + { + "id": 366, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_getPrototype.js", + "name": "./node_modules/lodash-es/_getPrototype.js", + "index": 185, + "index2": 178, + "size": 160, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/isPlainObject.js", + "issuerId": 125, + "issuerName": "./node_modules/lodash-es/isPlainObject.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 125, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/isPlainObject.js", + "module": "./node_modules/lodash-es/isPlainObject.js", + "moduleName": "./node_modules/lodash-es/isPlainObject.js", + "type": "harmony import", + "userRequest": "./_getPrototype.js", + "loc": "2:0-46" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;" + }, + { + "id": 367, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_overArg.js", + "name": "./node_modules/lodash-es/_overArg.js", + "index": 186, + "index2": 177, + "size": 380, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_getPrototype.js", + "issuerId": 366, + "issuerName": "./node_modules/lodash-es/_getPrototype.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 366, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/_getPrototype.js", + "module": "./node_modules/lodash-es/_getPrototype.js", + "moduleName": "./node_modules/lodash-es/_getPrototype.js", + "type": "harmony import", + "userRequest": "./_overArg.js", + "loc": "1:0-36" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function (arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;" + }, + { + "id": 368, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/isObjectLike.js", + "name": "./node_modules/lodash-es/isObjectLike.js", + "index": 187, + "index2": 179, + "size": 611, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/isPlainObject.js", + "issuerId": 125, + "issuerName": "./node_modules/lodash-es/isPlainObject.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 125, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash-es/isPlainObject.js", + "module": "./node_modules/lodash-es/isPlainObject.js", + "moduleName": "./node_modules/lodash-es/isPlainObject.js", + "type": "harmony import", + "userRequest": "./isObjectLike.js", + "loc": "3:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;" + }, + { + "id": 369, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/symbol-observable/index.js", + "name": "./node_modules/symbol-observable/index.js", + "index": 188, + "index2": 184, + "size": 40, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/createStore.js", + "issuerId": 193, + "issuerName": "./node_modules/redux/es/createStore.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 193, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/createStore.js", + "module": "./node_modules/redux/es/createStore.js", + "moduleName": "./node_modules/redux/es/createStore.js", + "type": "harmony import", + "userRequest": "symbol-observable", + "loc": "2:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "module.exports = require('./lib/index');" + }, + { + "id": 370, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/symbol-observable/lib/index.js", + "name": "./node_modules/symbol-observable/lib/index.js", + "index": 189, + "index2": 183, + "size": 662, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/symbol-observable/index.js", + "issuerId": 369, + "issuerName": "./node_modules/symbol-observable/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 369, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/symbol-observable/index.js", + "module": "./node_modules/symbol-observable/index.js", + "moduleName": "./node_modules/symbol-observable/index.js", + "type": "cjs require", + "userRequest": "./lib/index", + "loc": "1:17-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ponyfill = require('./ponyfill');\n\nvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { 'default': obj };\n}\n\nvar root; /* global window */\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = (0, _ponyfill2['default'])(root);\nexports['default'] = result;" + }, + { + "id": 371, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/symbol-observable/lib/ponyfill.js", + "name": "./node_modules/symbol-observable/lib/ponyfill.js", + "index": 191, + "index2": 182, + "size": 449, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/symbol-observable/lib/index.js", + "issuerId": 370, + "issuerName": "./node_modules/symbol-observable/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 370, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/symbol-observable/lib/index.js", + "module": "./node_modules/symbol-observable/lib/index.js", + "moduleName": "./node_modules/symbol-observable/lib/index.js", + "type": "cjs require", + "userRequest": "./ponyfill", + "loc": "7:16-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports['default'] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar _Symbol = root.Symbol;\n\n\tif (typeof _Symbol === 'function') {\n\t\tif (_Symbol.observable) {\n\t\t\tresult = _Symbol.observable;\n\t\t} else {\n\t\t\tresult = _Symbol('observable');\n\t\t\t_Symbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};" + }, + { + "id": 372, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/combineReducers.js", + "name": "./node_modules/redux/es/combineReducers.js", + "index": 192, + "index2": 187, + "size": 5862, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "issuerId": 192, + "issuerName": "./node_modules/redux/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 192, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "module": "./node_modules/redux/es/index.js", + "moduleName": "./node_modules/redux/es/index.js", + "type": "harmony import", + "userRequest": "./combineReducers", + "loc": "2:0-48" + } + ], + "usedExports": false, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}" + }, + { + "id": 373, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/bindActionCreators.js", + "name": "./node_modules/redux/es/bindActionCreators.js", + "index": 194, + "index2": 188, + "size": 1975, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "issuerId": 192, + "issuerName": "./node_modules/redux/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 192, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "module": "./node_modules/redux/es/index.js", + "moduleName": "./node_modules/redux/es/index.js", + "type": "harmony import", + "userRequest": "./bindActionCreators", + "loc": "3:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "function bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}" + }, + { + "id": 374, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/applyMiddleware.js", + "name": "./node_modules/redux/es/applyMiddleware.js", + "index": 195, + "index2": 190, + "size": 1835, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "issuerId": 192, + "issuerName": "./node_modules/redux/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 192, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux/es/index.js", + "module": "./node_modules/redux/es/index.js", + "moduleName": "./node_modules/redux/es/index.js", + "type": "harmony import", + "userRequest": "./applyMiddleware", + "loc": "4:0-48" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nimport compose from './compose';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}" + }, + { + "id": 375, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/mapStateToProps.js", + "name": "./node_modules/react-redux/es/connect/mapStateToProps.js", + "index": 199, + "index2": 195, + "size": 507, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "issuerId": 358, + "issuerName": "./node_modules/react-redux/es/connect/connect.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 358, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "module": "./node_modules/react-redux/es/connect/connect.js", + "moduleName": "./node_modules/react-redux/es/connect/connect.js", + "type": "harmony import", + "userRequest": "./mapStateToProps", + "loc": "20:0-64" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "whenMapStateToPropsIsFunction", + "whenMapStateToPropsIsMissing", + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\n\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\n\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\n\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];" + }, + { + "id": 376, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/mergeProps.js", + "name": "./node_modules/react-redux/es/connect/mergeProps.js", + "index": 200, + "index2": 196, + "size": 1650, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "issuerId": 358, + "issuerName": "./node_modules/react-redux/es/connect/connect.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 358, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "module": "./node_modules/react-redux/es/connect/connect.js", + "moduleName": "./node_modules/react-redux/es/connect/connect.js", + "type": "harmony import", + "userRequest": "./mergeProps", + "loc": "21:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "defaultMergeProps", + "wrapMergePropsFunc", + "whenMergePropsIsFunction", + "whenMergePropsIsOmitted", + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nimport verifyPlainObject from '../utils/verifyPlainObject';\n\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\n\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n\n var hasRunOnce = false;\n var mergedProps = void 0;\n\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\n\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\n\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\n\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];" + }, + { + "id": 377, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/selectorFactory.js", + "name": "./node_modules/react-redux/es/connect/selectorFactory.js", + "index": 201, + "index2": 198, + "size": 4116, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "issuerId": 358, + "issuerName": "./node_modules/react-redux/es/connect/connect.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 358, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/connect.js", + "module": "./node_modules/react-redux/es/connect/connect.js", + "moduleName": "./node_modules/react-redux/es/connect/connect.js", + "type": "harmony import", + "userRequest": "./selectorFactory", + "loc": "22:0-55" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "impureFinalPropsSelectorFactory", + "pureFinalPropsSelectorFactory", + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "function _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\n}\n\nimport verifySubselectors from './verifySubselectors';\n\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\n\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n\n var hasRunAtLeastOnce = false;\n var state = void 0;\n var ownProps = void 0;\n var stateProps = void 0;\n var dispatchProps = void 0;\n var mergedProps = void 0;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n}\n\n// TODO: Add more comments\n\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutProperties(_ref2, ['initMapStateToProps', 'initMapDispatchToProps', 'initMergeProps']);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}" + }, + { + "id": 378, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/verifySubselectors.js", + "name": "./node_modules/react-redux/es/connect/verifySubselectors.js", + "index": 202, + "index2": 197, + "size": 764, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/selectorFactory.js", + "issuerId": 377, + "issuerName": "./node_modules/react-redux/es/connect/selectorFactory.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 377, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux/es/connect/selectorFactory.js", + "module": "./node_modules/react-redux/es/connect/selectorFactory.js", + "moduleName": "./node_modules/react-redux/es/connect/selectorFactory.js", + "type": "harmony import", + "userRequest": "./verifySubselectors", + "loc": "7:0-54" + } + ], + "usedExports": false, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import warning from '../utils/warning';\n\nfunction verify(selector, methodName, displayName) {\n if (!selector) {\n throw new Error('Unexpected value for ' + methodName + ' in ' + displayName + '.');\n } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') {\n if (!selector.hasOwnProperty('dependsOnOwnProps')) {\n warning('The selector for ' + methodName + ' of ' + displayName + ' did not specify a value for dependsOnOwnProps.');\n }\n }\n}\n\nexport default function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, displayName) {\n verify(mapStateToProps, 'mapStateToProps', displayName);\n verify(mapDispatchToProps, 'mapDispatchToProps', displayName);\n verify(mergeProps, 'mergeProps', displayName);\n}" + }, + { + "id": 379, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-thunk/lib/index.js", + "name": "./node_modules/redux-thunk/lib/index.js", + "index": 204, + "index2": 201, + "size": 529, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "issuerId": 126, + "issuerName": "./app/javascript/mastodon/store/configureStore.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 126, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "module": "./app/javascript/mastodon/store/configureStore.js", + "moduleName": "./app/javascript/mastodon/store/configureStore.js", + "type": "harmony import", + "userRequest": "redux-thunk", + "loc": "2:0-32" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "'use strict';\n\nexports.__esModule = true;\nfunction createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexports['default'] = thunk;" + }, + { + "id": 380, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "name": "./app/javascript/mastodon/reducers/index.js", + "index": 205, + "index2": 338, + "size": 1556, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "issuerId": 126, + "issuerName": "./app/javascript/mastodon/store/configureStore.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 126, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "module": "./app/javascript/mastodon/store/configureStore.js", + "moduleName": "./app/javascript/mastodon/store/configureStore.js", + "type": "harmony import", + "userRequest": "../reducers", + "loc": "3:0-37" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import { combineReducers } from 'redux-immutable';\nimport timelines from './timelines';\nimport meta from './meta';\nimport alerts from './alerts';\nimport { loadingBarReducer } from 'react-redux-loading-bar';\nimport modal from './modal';\nimport user_lists from './user_lists';\nimport accounts from './accounts';\nimport accounts_counters from './accounts_counters';\nimport statuses from './statuses';\nimport relationships from './relationships';\nimport settings from './settings';\nimport push_notifications from './push_notifications';\nimport status_lists from './status_lists';\nimport cards from './cards';\nimport reports from './reports';\nimport contexts from './contexts';\nimport compose from './compose';\nimport search from './search';\nimport media_attachments from './media_attachments';\nimport notifications from './notifications';\nimport height_cache from './height_cache';\nimport custom_emojis from './custom_emojis';\n\nvar reducers = {\n timelines: timelines,\n meta: meta,\n alerts: alerts,\n loadingBar: loadingBarReducer,\n modal: modal,\n user_lists: user_lists,\n status_lists: status_lists,\n accounts: accounts,\n accounts_counters: accounts_counters,\n statuses: statuses,\n relationships: relationships,\n settings: settings,\n push_notifications: push_notifications,\n cards: cards,\n reports: reports,\n contexts: contexts,\n compose: compose,\n search: search,\n media_attachments: media_attachments,\n notifications: notifications,\n height_cache: height_cache,\n custom_emojis: custom_emojis\n};\n\nexport default combineReducers(reducers);" + }, + { + "id": 381, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/index.js", + "name": "./node_modules/redux-immutable/dist/index.js", + "index": 206, + "index2": 208, + "size": 426, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "redux-immutable", + "loc": "1:0-50" + } + ], + "usedExports": [ + "combineReducers" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.combineReducers = undefined;\n\nvar _combineReducers2 = require('./combineReducers');\n\nvar _combineReducers3 = _interopRequireDefault(_combineReducers2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.combineReducers = _combineReducers3.default;\n//# sourceMappingURL=index.js.map" + }, + { + "id": 382, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/combineReducers.js", + "name": "./node_modules/redux-immutable/dist/combineReducers.js", + "index": 207, + "index2": 207, + "size": 1609, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/index.js", + "issuerId": 381, + "issuerName": "./node_modules/redux-immutable/dist/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 381, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/index.js", + "module": "./node_modules/redux-immutable/dist/index.js", + "moduleName": "./node_modules/redux-immutable/dist/index.js", + "type": "cjs require", + "userRequest": "./combineReducers", + "loc": "8:24-52" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _immutable = require('immutable');\n\nvar _immutable2 = _interopRequireDefault(_immutable);\n\nvar _utilities = require('./utilities');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function (reducers) {\n var getDefaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _immutable2.default.Map;\n\n var reducerKeys = Object.keys(reducers);\n\n // eslint-disable-next-line space-infix-ops\n return function () {\n var inputState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getDefaultState();\n var action = arguments[1];\n\n // eslint-disable-next-line no-process-env\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = (0, _utilities.getUnexpectedInvocationParameterMessage)(inputState, reducers, action);\n\n if (warningMessage) {\n // eslint-disable-next-line no-console\n console.error(warningMessage);\n }\n }\n\n return inputState.withMutations(function (temporaryState) {\n reducerKeys.forEach(function (reducerName) {\n var reducer = reducers[reducerName];\n var currentDomainState = temporaryState.get(reducerName);\n var nextDomainState = reducer(currentDomainState, action);\n\n (0, _utilities.validateNextState)(nextDomainState, reducerName, action);\n\n temporaryState.set(reducerName, nextDomainState);\n });\n });\n };\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=combineReducers.js.map" + }, + { + "id": 383, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/index.js", + "name": "./node_modules/redux-immutable/dist/utilities/index.js", + "index": 209, + "index2": 206, + "size": 991, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/combineReducers.js", + "issuerId": 382, + "issuerName": "./node_modules/redux-immutable/dist/combineReducers.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 382, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/combineReducers.js", + "module": "./node_modules/redux-immutable/dist/combineReducers.js", + "moduleName": "./node_modules/redux-immutable/dist/combineReducers.js", + "type": "cjs require", + "userRequest": "./utilities", + "loc": "11:17-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validateNextState = exports.getUnexpectedInvocationParameterMessage = exports.getStateName = undefined;\n\nvar _getStateName2 = require('./getStateName');\n\nvar _getStateName3 = _interopRequireDefault(_getStateName2);\n\nvar _getUnexpectedInvocationParameterMessage2 = require('./getUnexpectedInvocationParameterMessage');\n\nvar _getUnexpectedInvocationParameterMessage3 = _interopRequireDefault(_getUnexpectedInvocationParameterMessage2);\n\nvar _validateNextState2 = require('./validateNextState');\n\nvar _validateNextState3 = _interopRequireDefault(_validateNextState2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.getStateName = _getStateName3.default;\nexports.getUnexpectedInvocationParameterMessage = _getUnexpectedInvocationParameterMessage3.default;\nexports.validateNextState = _validateNextState3.default;\n//# sourceMappingURL=index.js.map" + }, + { + "id": 384, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/getUnexpectedInvocationParameterMessage.js", + "name": "./node_modules/redux-immutable/dist/utilities/getUnexpectedInvocationParameterMessage.js", + "index": 211, + "index2": 204, + "size": 1709, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/index.js", + "issuerId": 383, + "issuerName": "./node_modules/redux-immutable/dist/utilities/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 383, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/index.js", + "module": "./node_modules/redux-immutable/dist/utilities/index.js", + "moduleName": "./node_modules/redux-immutable/dist/utilities/index.js", + "type": "cjs require", + "userRequest": "./getUnexpectedInvocationParameterMessage", + "loc": "12:48-100" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _immutable = require('immutable');\n\nvar _immutable2 = _interopRequireDefault(_immutable);\n\nvar _getStateName = require('./getStateName');\n\nvar _getStateName2 = _interopRequireDefault(_getStateName);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nexports.default = function (state, reducers, action) {\n var reducerNames = Object.keys(reducers);\n\n if (!reducerNames.length) {\n return 'Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.';\n }\n\n var stateName = (0, _getStateName2.default)(action);\n\n if (_immutable2.default.isImmutable ? !_immutable2.default.isImmutable(state) : !_immutable2.default.Iterable.isIterable(state)) {\n return 'The ' + stateName + ' is of unexpected type. Expected argument to be an instance of Immutable.Collection or Immutable.Record with the following properties: \"' + reducerNames.join('\", \"') + '\".';\n }\n\n var unexpectedStatePropertyNames = state.toSeq().keySeq().toArray().filter(function (name) {\n return !reducers.hasOwnProperty(name);\n });\n\n if (unexpectedStatePropertyNames.length > 0) {\n return 'Unexpected ' + (unexpectedStatePropertyNames.length === 1 ? 'property' : 'properties') + ' \"' + unexpectedStatePropertyNames.join('\", \"') + '\" found in ' + stateName + '. Expected to find one of the known reducer property names instead: \"' + reducerNames.join('\", \"') + '\". Unexpected properties will be ignored.';\n }\n\n return null;\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=getUnexpectedInvocationParameterMessage.js.map" + }, + { + "id": 385, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/validateNextState.js", + "name": "./node_modules/redux-immutable/dist/utilities/validateNextState.js", + "index": 212, + "index2": 205, + "size": 494, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/index.js", + "issuerId": 383, + "issuerName": "./node_modules/redux-immutable/dist/utilities/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 383, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/redux-immutable/dist/utilities/index.js", + "module": "./node_modules/redux-immutable/dist/utilities/index.js", + "moduleName": "./node_modules/redux-immutable/dist/utilities/index.js", + "type": "cjs require", + "userRequest": "./validateNextState", + "loc": "16:26-56" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (nextState, reducerName, action) {\n // eslint-disable-next-line no-undefined\n if (nextState === undefined) {\n throw new Error('Reducer \"' + reducerName + '\" returned undefined when handling \"' + action.type + '\" action. To ignore an action, you must explicitly return the previous state.');\n }\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=validateNextState.js.map" + }, + { + "id": 386, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/timelines.js", + "name": "./app/javascript/mastodon/reducers/timelines.js", + "index": 213, + "index2": 245, + "size": 6094, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./timelines", + "loc": "2:0-36" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { TIMELINE_REFRESH_REQUEST, TIMELINE_REFRESH_SUCCESS, TIMELINE_REFRESH_FAIL, TIMELINE_UPDATE, TIMELINE_DELETE, TIMELINE_EXPAND_SUCCESS, TIMELINE_EXPAND_REQUEST, TIMELINE_EXPAND_FAIL, TIMELINE_SCROLL_TOP, TIMELINE_CONNECT, TIMELINE_DISCONNECT } from '../actions/timelines';\nimport { ACCOUNT_BLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS, ACCOUNT_UNFOLLOW_SUCCESS } from '../actions/accounts';\nimport { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';\n\nvar initialState = ImmutableMap();\n\nvar initialTimeline = ImmutableMap({\n unread: 0,\n online: false,\n top: true,\n loaded: false,\n isLoading: false,\n next: false,\n items: ImmutableList()\n});\n\nvar normalizeTimeline = function normalizeTimeline(state, timeline, statuses, next) {\n var oldIds = state.getIn([timeline, 'items'], ImmutableList());\n var ids = ImmutableList(statuses.map(function (status) {\n return status.get('id');\n })).filter(function (newId) {\n return !oldIds.includes(newId);\n });\n var wasLoaded = state.getIn([timeline, 'loaded']);\n var hadNext = state.getIn([timeline, 'next']);\n\n return state.update(timeline, initialTimeline, function (map) {\n return map.withMutations(function (mMap) {\n mMap.set('loaded', true);\n mMap.set('isLoading', false);\n if (!hadNext) mMap.set('next', next);\n mMap.set('items', wasLoaded ? ids.concat(oldIds) : ids);\n });\n });\n};\n\nvar appendNormalizedTimeline = function appendNormalizedTimeline(state, timeline, statuses, next) {\n var oldIds = state.getIn([timeline, 'items'], ImmutableList());\n var ids = ImmutableList(statuses.map(function (status) {\n return status.get('id');\n })).filter(function (newId) {\n return !oldIds.includes(newId);\n });\n\n return state.update(timeline, initialTimeline, function (map) {\n return map.withMutations(function (mMap) {\n mMap.set('isLoading', false);\n mMap.set('next', next);\n mMap.set('items', oldIds.concat(ids));\n });\n });\n};\n\nvar updateTimeline = function updateTimeline(state, timeline, status, references) {\n var top = state.getIn([timeline, 'top']);\n var ids = state.getIn([timeline, 'items'], ImmutableList());\n var includesId = ids.includes(status.get('id'));\n var unread = state.getIn([timeline, 'unread'], 0);\n\n if (includesId) {\n return state;\n }\n\n var newIds = ids;\n\n return state.update(timeline, initialTimeline, function (map) {\n return map.withMutations(function (mMap) {\n if (!top) mMap.set('unread', unread + 1);\n if (top && ids.size > 40) newIds = newIds.take(20);\n if (status.getIn(['reblog', 'id'], null) !== null) newIds = newIds.filterNot(function (item) {\n return references.includes(item);\n });\n mMap.set('items', newIds.unshift(status.get('id')));\n });\n });\n};\n\nvar deleteStatus = function deleteStatus(state, id, accountId, references) {\n state.keySeq().forEach(function (timeline) {\n state = state.updateIn([timeline, 'items'], function (list) {\n return list.filterNot(function (item) {\n return item === id;\n });\n });\n });\n\n // Remove reblogs of deleted status\n references.forEach(function (ref) {\n state = deleteStatus(state, ref[0], ref[1], []);\n });\n\n return state;\n};\n\nvar filterTimelines = function filterTimelines(state, relationship, statuses) {\n var references = void 0;\n\n statuses.forEach(function (status) {\n if (status.get('account') !== relationship.id) {\n return;\n }\n\n references = statuses.filter(function (item) {\n return item.get('reblog') === status.get('id');\n }).map(function (item) {\n return [item.get('id'), item.get('account')];\n });\n state = deleteStatus(state, status.get('id'), status.get('account'), references);\n });\n\n return state;\n};\n\nvar filterTimeline = function filterTimeline(timeline, state, relationship, statuses) {\n return state.updateIn([timeline, 'items'], ImmutableList(), function (list) {\n return list.filterNot(function (statusId) {\n return statuses.getIn([statusId, 'account']) === relationship.id;\n });\n });\n};\n\nvar updateTop = function updateTop(state, timeline, top) {\n return state.update(timeline, initialTimeline, function (map) {\n return map.withMutations(function (mMap) {\n if (top) mMap.set('unread', 0);\n mMap.set('top', top);\n });\n });\n};\n\nexport default function timelines() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case TIMELINE_REFRESH_REQUEST:\n case TIMELINE_EXPAND_REQUEST:\n return state.update(action.timeline, initialTimeline, function (map) {\n return map.set('isLoading', true);\n });\n case TIMELINE_REFRESH_FAIL:\n case TIMELINE_EXPAND_FAIL:\n return state.update(action.timeline, initialTimeline, function (map) {\n return map.set('isLoading', false);\n });\n case TIMELINE_REFRESH_SUCCESS:\n return normalizeTimeline(state, action.timeline, fromJS(action.statuses), action.next);\n case TIMELINE_EXPAND_SUCCESS:\n return appendNormalizedTimeline(state, action.timeline, fromJS(action.statuses), action.next);\n case TIMELINE_UPDATE:\n return updateTimeline(state, action.timeline, fromJS(action.status), action.references);\n case TIMELINE_DELETE:\n return deleteStatus(state, action.id, action.accountId, action.references, action.reblogOf);\n case ACCOUNT_BLOCK_SUCCESS:\n case ACCOUNT_MUTE_SUCCESS:\n return filterTimelines(state, action.relationship, action.statuses);\n case ACCOUNT_UNFOLLOW_SUCCESS:\n return filterTimeline('home', state, action.relationship, action.statuses);\n case TIMELINE_SCROLL_TOP:\n return updateTop(state, action.timeline, action.top);\n case TIMELINE_CONNECT:\n return state.update(action.timeline, initialTimeline, function (map) {\n return map.set('online', true);\n });\n case TIMELINE_DISCONNECT:\n return state.update(action.timeline, initialTimeline, function (map) {\n return map.set('online', false);\n });\n default:\n return state;\n }\n};" + }, + { + "id": 387, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "name": "./node_modules/axios/lib/axios.js", + "index": 217, + "index2": 234, + "size": 1367, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/index.js", + "issuerId": 72, + "issuerName": "./node_modules/axios/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 72, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/index.js", + "module": "./node_modules/axios/index.js", + "moduleName": "./node_modules/axios/index.js", + "type": "cjs require", + "userRequest": "./lib/axios", + "loc": "1:17-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;" + }, + { + "id": 388, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/is-buffer/index.js", + "name": "./node_modules/is-buffer/index.js", + "index": 220, + "index2": 210, + "size": 699, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/utils.js", + "issuerId": 20, + "issuerName": "./node_modules/axios/lib/utils.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 20, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/utils.js", + "module": "./node_modules/axios/lib/utils.js", + "moduleName": "./node_modules/axios/lib/utils.js", + "type": "cjs require", + "userRequest": "is-buffer", + "loc": "4:15-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer);\n};\n\nfunction isBuffer(obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer(obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0));\n}" + }, + { + "id": 389, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "name": "./node_modules/axios/lib/core/Axios.js", + "index": 221, + "index2": 230, + "size": 2449, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "issuerId": 387, + "issuerName": "./node_modules/axios/lib/axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 387, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "module": "./node_modules/axios/lib/axios.js", + "moduleName": "./node_modules/axios/lib/axios.js", + "type": "cjs require", + "userRequest": "./core/Axios", + "loc": "5:12-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, this.defaults, { method: 'get' }, config);\n config.method = config.method.toLowerCase();\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;" + }, + { + "id": 390, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/normalizeHeaderName.js", + "name": "./node_modules/axios/lib/helpers/normalizeHeaderName.js", + "index": 224, + "index2": 213, + "size": 356, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/defaults.js", + "issuerId": 127, + "issuerName": "./node_modules/axios/lib/defaults.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 127, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/defaults.js", + "module": "./node_modules/axios/lib/defaults.js", + "moduleName": "./node_modules/axios/lib/defaults.js", + "type": "cjs require", + "userRequest": "./helpers/normalizeHeaderName", + "loc": "4:26-66" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};" + }, + { + "id": 391, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/settle.js", + "name": "./node_modules/axios/lib/core/settle.js", + "index": 226, + "index2": 216, + "size": 720, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "issuerId": 201, + "issuerName": "./node_modules/axios/lib/adapters/xhr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 201, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "module": "./node_modules/axios/lib/adapters/xhr.js", + "moduleName": "./node_modules/axios/lib/adapters/xhr.js", + "type": "cjs require", + "userRequest": "./../core/settle", + "loc": "4:13-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};" + }, + { + "id": 392, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/enhanceError.js", + "name": "./node_modules/axios/lib/core/enhanceError.js", + "index": 228, + "index2": 214, + "size": 592, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/createError.js", + "issuerId": 202, + "issuerName": "./node_modules/axios/lib/core/createError.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 202, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/createError.js", + "module": "./node_modules/axios/lib/core/createError.js", + "moduleName": "./node_modules/axios/lib/core/createError.js", + "type": "cjs require", + "userRequest": "./enhanceError", + "loc": "3:19-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};" + }, + { + "id": 393, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/buildURL.js", + "name": "./node_modules/axios/lib/helpers/buildURL.js", + "index": 229, + "index2": 217, + "size": 1540, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "issuerId": 201, + "issuerName": "./node_modules/axios/lib/adapters/xhr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 201, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "module": "./node_modules/axios/lib/adapters/xhr.js", + "moduleName": "./node_modules/axios/lib/adapters/xhr.js", + "type": "cjs require", + "userRequest": "./../helpers/buildURL", + "loc": "5:15-47" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n }\n\n if (!utils.isArray(val)) {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};" + }, + { + "id": 394, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/parseHeaders.js", + "name": "./node_modules/axios/lib/helpers/parseHeaders.js", + "index": 230, + "index2": 218, + "size": 789, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "issuerId": 201, + "issuerName": "./node_modules/axios/lib/adapters/xhr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 201, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "module": "./node_modules/axios/lib/adapters/xhr.js", + "moduleName": "./node_modules/axios/lib/adapters/xhr.js", + "type": "cjs require", + "userRequest": "./../helpers/parseHeaders", + "loc": "6:19-55" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};" + }, + { + "id": 395, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/isURLSameOrigin.js", + "name": "./node_modules/axios/lib/helpers/isURLSameOrigin.js", + "index": 231, + "index2": 219, + "size": 2080, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "issuerId": 201, + "issuerName": "./node_modules/axios/lib/adapters/xhr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 201, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "module": "./node_modules/axios/lib/adapters/xhr.js", + "moduleName": "./node_modules/axios/lib/adapters/xhr.js", + "type": "cjs require", + "userRequest": "./../helpers/isURLSameOrigin", + "loc": "7:22-61" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() :\n\n// Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();" + }, + { + "id": 396, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/btoa.js", + "name": "./node_modules/axios/lib/helpers/btoa.js", + "index": 232, + "index2": 220, + "size": 968, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "issuerId": 201, + "issuerName": "./node_modules/axios/lib/adapters/xhr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 201, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "module": "./node_modules/axios/lib/adapters/xhr.js", + "moduleName": "./node_modules/axios/lib/adapters/xhr.js", + "type": "cjs require", + "userRequest": "./../helpers/btoa", + "loc": "9:87-115" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error();\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;" + }, + { + "id": 397, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/cookies.js", + "name": "./node_modules/axios/lib/helpers/cookies.js", + "index": 233, + "index2": 221, + "size": 1288, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "issuerId": 201, + "issuerName": "./node_modules/axios/lib/adapters/xhr.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 201, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/adapters/xhr.js", + "module": "./node_modules/axios/lib/adapters/xhr.js", + "moduleName": "./node_modules/axios/lib/adapters/xhr.js", + "type": "cjs require", + "userRequest": "./../helpers/cookies", + "loc": "102:20-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ?\n\n// Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();" + }, + { + "id": 398, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/InterceptorManager.js", + "name": "./node_modules/axios/lib/core/InterceptorManager.js", + "index": 234, + "index2": 224, + "size": 1250, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "issuerId": 389, + "issuerName": "./node_modules/axios/lib/core/Axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 389, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "module": "./node_modules/axios/lib/core/Axios.js", + "moduleName": "./node_modules/axios/lib/core/Axios.js", + "type": "cjs require", + "userRequest": "./InterceptorManager", + "loc": "5:25-56" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;" + }, + { + "id": 399, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/dispatchRequest.js", + "name": "./node_modules/axios/lib/core/dispatchRequest.js", + "index": 235, + "index2": 227, + "size": 1827, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "issuerId": 389, + "issuerName": "./node_modules/axios/lib/core/Axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 389, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "module": "./node_modules/axios/lib/core/Axios.js", + "moduleName": "./node_modules/axios/lib/core/Axios.js", + "type": "cjs require", + "userRequest": "./dispatchRequest", + "loc": "6:22-50" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(config.data, config.headers, config.transformRequest);\n\n // Flatten headers\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(response.data, response.headers, config.transformResponse);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};" + }, + { + "id": 400, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/transformData.js", + "name": "./node_modules/axios/lib/core/transformData.js", + "index": 236, + "index2": 225, + "size": 549, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/dispatchRequest.js", + "issuerId": 399, + "issuerName": "./node_modules/axios/lib/core/dispatchRequest.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 399, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/dispatchRequest.js", + "module": "./node_modules/axios/lib/core/dispatchRequest.js", + "moduleName": "./node_modules/axios/lib/core/dispatchRequest.js", + "type": "cjs require", + "userRequest": "./transformData", + "loc": "4:20-46" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};" + }, + { + "id": 401, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/isAbsoluteURL.js", + "name": "./node_modules/axios/lib/helpers/isAbsoluteURL.js", + "index": 238, + "index2": 228, + "size": 568, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "issuerId": 389, + "issuerName": "./node_modules/axios/lib/core/Axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 389, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "module": "./node_modules/axios/lib/core/Axios.js", + "moduleName": "./node_modules/axios/lib/core/Axios.js", + "type": "cjs require", + "userRequest": "./../helpers/isAbsoluteURL", + "loc": "7:20-57" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return (/^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url)\n );\n};" + }, + { + "id": 402, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/combineURLs.js", + "name": "./node_modules/axios/lib/helpers/combineURLs.js", + "index": 239, + "index2": 229, + "size": 372, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "issuerId": 389, + "issuerName": "./node_modules/axios/lib/core/Axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 389, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/core/Axios.js", + "module": "./node_modules/axios/lib/core/Axios.js", + "moduleName": "./node_modules/axios/lib/core/Axios.js", + "type": "cjs require", + "userRequest": "./../helpers/combineURLs", + "loc": "8:18-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};" + }, + { + "id": 403, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/cancel/CancelToken.js", + "name": "./node_modules/axios/lib/cancel/CancelToken.js", + "index": 241, + "index2": 232, + "size": 1239, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "issuerId": 387, + "issuerName": "./node_modules/axios/lib/axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 387, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "module": "./node_modules/axios/lib/axios.js", + "moduleName": "./node_modules/axios/lib/axios.js", + "type": "cjs require", + "userRequest": "./cancel/CancelToken", + "loc": "40:20-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;" + }, + { + "id": 404, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/helpers/spread.js", + "name": "./node_modules/axios/lib/helpers/spread.js", + "index": 242, + "index2": 233, + "size": 564, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "issuerId": 387, + "issuerName": "./node_modules/axios/lib/axios.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 387, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/axios/lib/axios.js", + "module": "./node_modules/axios/lib/axios.js", + "moduleName": "./node_modules/axios/lib/axios.js", + "type": "cjs require", + "userRequest": "./helpers/spread", + "loc": "47:15-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};" + }, + { + "id": 405, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/link_header.js", + "name": "./app/javascript/mastodon/link_header.js", + "index": 243, + "index2": 241, + "size": 800, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/api.js", + "issuerId": 17, + "issuerName": "./app/javascript/mastodon/api.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 17, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/api.js", + "module": "./app/javascript/mastodon/api.js", + "moduleName": "./app/javascript/mastodon/api.js", + "type": "harmony import", + "userRequest": "./link_header", + "loc": "2:0-39" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import Link from 'http-link-header';\nimport querystring from 'querystring';\n\nLink.parseAttrs = function (link, parts) {\n var match = null;\n var attr = '';\n var value = '';\n var attrs = '';\n\n var uriAttrs = /<(.*)>;\\s*(.*)/gi.exec(parts);\n\n if (uriAttrs) {\n attrs = uriAttrs[2];\n link = Link.parseParams(link, uriAttrs[1]);\n }\n\n while (match = Link.attrPattern.exec(attrs)) {\n // eslint-disable-line no-cond-assign\n attr = match[1].toLowerCase();\n value = match[4] || match[3] || match[2];\n\n if (/\\*$/.test(attr)) {\n Link.setAttr(link, attr, Link.parseExtendedValue(value));\n } else if (/%/.test(value)) {\n Link.setAttr(link, attr, querystring.decode(value));\n } else {\n Link.setAttr(link, attr, value);\n }\n }\n\n return link;\n};\n\nexport default Link;" + }, + { + "id": 406, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/http-link-header/lib/link.js", + "name": "./node_modules/http-link-header/lib/link.js", + "index": 244, + "index2": 240, + "size": 6186, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/link_header.js", + "issuerId": 405, + "issuerName": "./app/javascript/mastodon/link_header.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 405, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/link_header.js", + "module": "./app/javascript/mastodon/link_header.js", + "moduleName": "./app/javascript/mastodon/link_header.js", + "type": "harmony import", + "userRequest": "http-link-header", + "loc": "1:0-36" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var querystring = require('querystring');\nvar trim = require('./trim');\n\n/**\n * Link\n * @constructor\n * @return {Link}\n */\nfunction Link(value) {\n\n if (!(this instanceof Link)) {\n return new Link(value);\n }\n\n /** @type {Array} URI references */\n this.refs = [];\n}\n\n/**\n * General matching pattern\n * @type {RegExp}\n */\nLink.pattern = /(?:\\<([^\\>]+)\\>)((\\s*;\\s*([a-z\\*]+)=((\"[^\"]+\")|('[^']+')|([^\\,\\;]+)))*)(\\s*,\\s*|$)/gi;\n\n/**\n * Attribute matching pattern\n * @type {RegExp}\n */\nLink.attrPattern = /([a-z\\*]+)=(?:(?:\"([^\"]+)\")|(?:'([^']+)')|([^\\,\\;]+))/gi;\n\n/**\n * Determines whether an encoding can be\n * natively handled with a `Buffer`\n * @param {String} value\n * @return {Boolean}\n */\nLink.isCompatibleEncoding = function (value) {\n return (/^utf-?8|ascii|utf-?16-?le|ucs-?2|base-?64|latin-?1$/i.test(value)\n );\n};\n\n/**\n * Format a given extended attribute and it's value\n * @param {String} attr\n * @param {Object} data\n * @return {String}\n */\nLink.formatExtendedAttribute = function (attr, data) {\n\n var encoding = (data.encoding || 'utf-8').toUpperCase();\n var language = data.language || 'en';\n\n var encodedValue = '';\n\n if (Buffer.isBuffer(data.value) && Link.isCompatibleEncoding(encoding)) {\n encodedValue = data.value.toString(encoding);\n } else if (Buffer.isBuffer(data.value)) {\n encodedValue = data.value.toString('hex').replace(/[0-9a-f]{2}/gi, '%$1');\n } else {\n encodedValue = querystring.escape(data.value);\n }\n\n return attr + '=' + encoding + '\\'' + language + '\\'' + encodedValue;\n};\n\n/**\n * Format a given attribute and it's value\n * @param {String} attr\n * @param {String|Object} value\n * @return {String}\n */\nLink.formatAttribute = function (attr, value) {\n\n // NOTE: Properly test this condition\n if (/\\*$/.test(attr) || typeof value !== 'string') return Link.formatExtendedAttribute(attr, value);\n\n // Strictly, not all values matching this\n // selector would need quotes, but it's better to be safe\n var needsQuotes = /[^a-z]/i.test(value);\n\n if (needsQuotes) {\n // We don't need to escape <,> <;>\n value = querystring.escape(value).replace(/%20/g, ' ').replace(/%2C/g, ',').replace(/%3B/g, ';');\n\n value = '\"' + value + '\"';\n }\n\n return attr + '=' + value;\n};\n\n/**\n * Parses an extended value and attempts to decode it\n * @internal\n * @param {String} value\n * @return {Object}\n */\nLink.parseExtendedValue = function (value) {\n var parts = /([^']+)?(?:'([^']+)')?(.+)/.exec(value);\n return {\n language: parts[2].toLowerCase(),\n encoding: Link.isCompatibleEncoding(parts[1]) ? null : parts[1].toLowerCase(),\n value: Link.isCompatibleEncoding(parts[1]) ? querystring.unescape(parts[3]) : parts[3]\n };\n};\n\n/**\n * Set an attribute on a link ref\n * @param {Object} link\n * @param {String} attr\n * @param {String} value\n */\nLink.setAttr = function (link, attr, value) {\n\n // Occurrences after the first \"rel\" MUST be ignored by parsers\n // @see RFC 5988, Section 5.3: Relation Type\n if (attr === 'rel' && link[attr] != null) return link;\n\n if (Array.isArray(link[attr])) {\n link[attr].push(value);\n } else if (link[attr] != null) {\n link[attr] = [link[attr], value];\n } else {\n link[attr] = value;\n }\n\n return link;\n};\n\n/**\n * Parses uri attributes\n */\nLink.parseParams = function (link, uri) {\n\n var kvs = {};\n var params = /(.+)\\?(.+)/gi.exec(uri);\n\n if (!params) {\n return link;\n }\n\n params = params[2].split('&');\n\n for (var i = 0; i < params.length; i++) {\n var param = params[i].split('=');\n kvs[param[0]] = param[1];\n }\n\n Link.setAttr(link, 'params', kvs);\n\n return link;\n};\n\n/**\n * Parses out URI attributes\n * @internal\n * @param {Object} link\n * @param {String} parts\n * @return {Object} link\n */\nLink.parseAttrs = function (link, parts) {\n\n var match = null;\n var attr = '';\n var value = '';\n var attrs = '';\n\n var uriAttrs = /<(.*)>;\\s*(.*)/gi.exec(parts);\n if (uriAttrs) {\n attrs = uriAttrs[2];\n link = Link.parseParams(link, uriAttrs[1]);\n }\n\n while (match = Link.attrPattern.exec(attrs)) {\n attr = match[1].toLowerCase();\n value = match[4] || match[3] || match[2];\n if (/\\*$/.test(attr)) {\n Link.setAttr(link, attr, Link.parseExtendedValue(value));\n } else if (/%/.test(value)) {\n Link.setAttr(link, attr, querystring.unescape(value));\n } else {\n Link.setAttr(link, attr, value);\n }\n }\n\n return link;\n};\n\nLink.parse = function (value) {\n return new Link().parse(value);\n};\n\n/**\n * Link prototype\n * @type {Object}\n */\nLink.prototype = {\n\n constructor: Link,\n\n /**\n * Get refs with given relation type\n * @param {String} value\n * @return {Array}\n */\n rel: function (value) {\n\n var links = [];\n\n for (var i = 0; i < this.refs.length; i++) {\n if (this.refs[i].rel === value) {\n links.push(this.refs[i]);\n }\n }\n\n return links;\n },\n\n /**\n * Get refs where given attribute has a given value\n * @param {String} attr\n * @param {String} value\n * @return {Array}\n */\n get: function (attr, value) {\n\n attr = attr.toLowerCase();\n\n var links = [];\n\n for (var i = 0; i < this.refs.length; i++) {\n if (this.refs[i][attr] === value) {\n links.push(this.refs[i]);\n }\n }\n\n return links;\n },\n\n set: function (link) {\n this.refs.push(link);\n return this;\n },\n\n has: function (attr, value) {\n return this.get(attr, value) != null;\n },\n\n parse: function (value) {\n\n // Unfold folded lines\n value = trim(value).replace(/\\r?\\n[\\x20\\x09]+/g, '');\n\n var match = null;\n\n while (match = Link.pattern.exec(value)) {\n var link = Link.parseAttrs({ uri: match[1] }, match[0]);\n this.refs.push(link);\n }\n\n return this;\n },\n\n toString: function () {\n\n var refs = [];\n var link = '';\n var ref = null;\n\n for (var i = 0; i < this.refs.length; i++) {\n ref = this.refs[i];\n link = Object.keys(this.refs[i]).reduce(function (link, attr) {\n if (attr === 'uri') return link;\n return link + '; ' + Link.formatAttribute(attr, ref[attr]);\n }, '<' + ref.uri + '>');\n refs.push(link);\n }\n\n return refs.join(', ');\n }\n\n // Exports\n};module.exports = Link;" + }, + { + "id": 407, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/querystring-es3/decode.js", + "name": "./node_modules/querystring-es3/decode.js", + "index": 246, + "index2": 236, + "size": 2535, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/querystring-es3/index.js", + "issuerId": 205, + "issuerName": "./node_modules/querystring-es3/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 205, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/querystring-es3/index.js", + "module": "./node_modules/querystring-es3/index.js", + "moduleName": "./node_modules/querystring-es3/index.js", + "type": "cjs require", + "userRequest": "./decode", + "loc": "3:33-52" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function (qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr,\n vstr,\n k,\n v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};" + }, + { + "id": 408, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/querystring-es3/encode.js", + "name": "./node_modules/querystring-es3/encode.js", + "index": 247, + "index2": 237, + "size": 2536, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/querystring-es3/index.js", + "issuerId": 205, + "issuerName": "./node_modules/querystring-es3/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 205, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/querystring-es3/index.js", + "module": "./node_modules/querystring-es3/index.js", + "moduleName": "./node_modules/querystring-es3/index.js", + "type": "cjs require", + "userRequest": "./encode", + "loc": "4:37-56" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function (v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function (obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function (k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function (v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq + encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map(xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};" + }, + { + "id": 409, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/http-link-header/lib/trim.js", + "name": "./node_modules/http-link-header/lib/trim.js", + "index": 248, + "index2": 239, + "size": 108, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/http-link-header/lib/link.js", + "issuerId": 406, + "issuerName": "./node_modules/http-link-header/lib/link.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 406, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/http-link-header/lib/link.js", + "module": "./node_modules/http-link-header/lib/link.js", + "moduleName": "./node_modules/http-link-header/lib/link.js", + "type": "cjs require", + "userRequest": "./trim", + "loc": "2:11-28" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "module.exports = function trim(value) {\n return value.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};" + }, + { + "id": 410, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/meta.js", + "name": "./app/javascript/mastodon/reducers/meta.js", + "index": 250, + "index2": 247, + "size": 491, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./meta", + "loc": "3:0-26" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { STORE_HYDRATE } from '../actions/store';\nimport { Map as ImmutableMap } from 'immutable';\n\nvar initialState = ImmutableMap({\n streaming_api_base_url: null,\n access_token: null\n});\n\nexport default function meta() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case STORE_HYDRATE:\n return state.merge(action.state.get('meta'));\n default:\n return state;\n }\n};" + }, + { + "id": 411, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/alerts.js", + "name": "./app/javascript/mastodon/reducers/alerts.js", + "index": 252, + "index2": 249, + "size": 792, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./alerts", + "loc": "4:0-30" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { ALERT_SHOW, ALERT_DISMISS, ALERT_CLEAR } from '../actions/alerts';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\n\nvar initialState = ImmutableList([]);\n\nexport default function alerts() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case ALERT_SHOW:\n return state.push(ImmutableMap({\n key: state.size > 0 ? state.last().get('key') + 1 : 0,\n title: action.title,\n message: action.message\n }));\n case ALERT_DISMISS:\n return state.filterNot(function (item) {\n return item.get('key') === action.alert.key;\n });\n case ALERT_CLEAR:\n return state.clear();\n default:\n return state;\n }\n};" + }, + { + "id": 412, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/loading_bar_middleware.js", + "name": "./node_modules/react-redux-loading-bar/build/loading_bar_middleware.js", + "index": 256, + "index2": 252, + "size": 2110, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/index.js", + "issuerId": 129, + "issuerName": "./node_modules/react-redux-loading-bar/build/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 129, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/index.js", + "module": "./node_modules/react-redux-loading-bar/build/index.js", + "moduleName": "./node_modules/react-redux-loading-bar/build/index.js", + "type": "cjs require", + "userRequest": "./loading_bar_middleware", + "loc": "12:30-65" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];var _n = true;var _d = false;var _e = undefined;try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;_e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }return _arr;\n }return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\nexports.default = loadingBarMiddleware;\n\nvar _loading_bar_ducks = require('./loading_bar_ducks');\n\nvar defaultTypeSuffixes = ['PENDING', 'FULFILLED', 'REJECTED'];\n\nfunction loadingBarMiddleware() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var promiseTypeSuffixes = config.promiseTypeSuffixes || defaultTypeSuffixes;\n\n return function (_ref) {\n var dispatch = _ref.dispatch;\n return function (next) {\n return function (action) {\n if (action.type) {\n var _promiseTypeSuffixes = _slicedToArray(promiseTypeSuffixes, 3),\n PENDING = _promiseTypeSuffixes[0],\n FULFILLED = _promiseTypeSuffixes[1],\n REJECTED = _promiseTypeSuffixes[2];\n\n var isPending = new RegExp(PENDING + '$', 'g');\n var isFulfilled = new RegExp(FULFILLED + '$', 'g');\n var isRejected = new RegExp(REJECTED + '$', 'g');\n\n if (action.type.match(isPending)) {\n dispatch((0, _loading_bar_ducks.showLoading)());\n } else if (action.type.match(isFulfilled) || action.type.match(isRejected)) {\n dispatch((0, _loading_bar_ducks.hideLoading)());\n }\n }\n\n return next(action);\n };\n };\n };\n}" + }, + { + "id": 413, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/immutable.js", + "name": "./node_modules/react-redux-loading-bar/build/immutable.js", + "index": 258, + "index2": 253, + "size": 395, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/index.js", + "issuerId": 129, + "issuerName": "./node_modules/react-redux-loading-bar/build/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 129, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-redux-loading-bar/build/index.js", + "module": "./node_modules/react-redux-loading-bar/build/index.js", + "moduleName": "./node_modules/react-redux-loading-bar/build/index.js", + "type": "cjs require", + "userRequest": "./immutable", + "loc": "18:17-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _reactRedux = require('react-redux');\n\nvar _loading_bar = require('./loading_bar');\n\nvar mapImmutableStateToProps = function mapImmutableStateToProps(state) {\n return {\n loading: state.get('loadingBar')\n };\n};\n\nexports.default = (0, _reactRedux.connect)(mapImmutableStateToProps)(_loading_bar.LoadingBar);" + }, + { + "id": 414, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/modal.js", + "name": "./app/javascript/mastodon/reducers/modal.js", + "index": 259, + "index2": 256, + "size": 493, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./modal", + "loc": "6:0-28" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { MODAL_OPEN, MODAL_CLOSE } from '../actions/modal';\n\nvar initialState = {\n modalType: null,\n modalProps: {}\n};\n\nexport default function modal() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case MODAL_OPEN:\n return { modalType: action.modalType, modalProps: action.modalProps };\n case MODAL_CLOSE:\n return initialState;\n default:\n return state;\n }\n};" + }, + { + "id": 415, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/user_lists.js", + "name": "./app/javascript/mastodon/reducers/user_lists.js", + "index": 261, + "index2": 260, + "size": 4136, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./user_lists", + "loc": "7:0-38" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { FOLLOWERS_FETCH_SUCCESS, FOLLOWERS_EXPAND_SUCCESS, FOLLOWING_FETCH_SUCCESS, FOLLOWING_EXPAND_SUCCESS, FOLLOW_REQUESTS_FETCH_SUCCESS, FOLLOW_REQUESTS_EXPAND_SUCCESS, FOLLOW_REQUEST_AUTHORIZE_SUCCESS, FOLLOW_REQUEST_REJECT_SUCCESS } from '../actions/accounts';\nimport { REBLOGS_FETCH_SUCCESS, FAVOURITES_FETCH_SUCCESS } from '../actions/interactions';\nimport { BLOCKS_FETCH_SUCCESS, BLOCKS_EXPAND_SUCCESS } from '../actions/blocks';\nimport { MUTES_FETCH_SUCCESS, MUTES_EXPAND_SUCCESS } from '../actions/mutes';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\n\nvar initialState = ImmutableMap({\n followers: ImmutableMap(),\n following: ImmutableMap(),\n reblogged_by: ImmutableMap(),\n favourited_by: ImmutableMap(),\n follow_requests: ImmutableMap(),\n blocks: ImmutableMap(),\n mutes: ImmutableMap()\n});\n\nvar normalizeList = function normalizeList(state, type, id, accounts, next) {\n return state.setIn([type, id], ImmutableMap({\n next: next,\n items: ImmutableList(accounts.map(function (item) {\n return item.id;\n }))\n }));\n};\n\nvar appendToList = function appendToList(state, type, id, accounts, next) {\n return state.updateIn([type, id], function (map) {\n return map.set('next', next).update('items', function (list) {\n return list.concat(accounts.map(function (item) {\n return item.id;\n }));\n });\n });\n};\n\nexport default function userLists() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case FOLLOWERS_FETCH_SUCCESS:\n return normalizeList(state, 'followers', action.id, action.accounts, action.next);\n case FOLLOWERS_EXPAND_SUCCESS:\n return appendToList(state, 'followers', action.id, action.accounts, action.next);\n case FOLLOWING_FETCH_SUCCESS:\n return normalizeList(state, 'following', action.id, action.accounts, action.next);\n case FOLLOWING_EXPAND_SUCCESS:\n return appendToList(state, 'following', action.id, action.accounts, action.next);\n case REBLOGS_FETCH_SUCCESS:\n return state.setIn(['reblogged_by', action.id], ImmutableList(action.accounts.map(function (item) {\n return item.id;\n })));\n case FAVOURITES_FETCH_SUCCESS:\n return state.setIn(['favourited_by', action.id], ImmutableList(action.accounts.map(function (item) {\n return item.id;\n })));\n case FOLLOW_REQUESTS_FETCH_SUCCESS:\n return state.setIn(['follow_requests', 'items'], ImmutableList(action.accounts.map(function (item) {\n return item.id;\n }))).setIn(['follow_requests', 'next'], action.next);\n case FOLLOW_REQUESTS_EXPAND_SUCCESS:\n return state.updateIn(['follow_requests', 'items'], function (list) {\n return list.concat(action.accounts.map(function (item) {\n return item.id;\n }));\n }).setIn(['follow_requests', 'next'], action.next);\n case FOLLOW_REQUEST_AUTHORIZE_SUCCESS:\n case FOLLOW_REQUEST_REJECT_SUCCESS:\n return state.updateIn(['follow_requests', 'items'], function (list) {\n return list.filterNot(function (item) {\n return item === action.id;\n });\n });\n case BLOCKS_FETCH_SUCCESS:\n return state.setIn(['blocks', 'items'], ImmutableList(action.accounts.map(function (item) {\n return item.id;\n }))).setIn(['blocks', 'next'], action.next);\n case BLOCKS_EXPAND_SUCCESS:\n return state.updateIn(['blocks', 'items'], function (list) {\n return list.concat(action.accounts.map(function (item) {\n return item.id;\n }));\n }).setIn(['blocks', 'next'], action.next);\n case MUTES_FETCH_SUCCESS:\n return state.setIn(['mutes', 'items'], ImmutableList(action.accounts.map(function (item) {\n return item.id;\n }))).setIn(['mutes', 'next'], action.next);\n case MUTES_EXPAND_SUCCESS:\n return state.updateIn(['mutes', 'items'], function (list) {\n return list.concat(action.accounts.map(function (item) {\n return item.id;\n }));\n }).setIn(['mutes', 'next'], action.next);\n default:\n return state;\n }\n};" + }, + { + "id": 416, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts.js", + "name": "./app/javascript/mastodon/reducers/accounts.js", + "index": 265, + "index2": 315, + "size": 4225, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./accounts", + "loc": "8:0-34" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { ACCOUNT_FETCH_SUCCESS, FOLLOWERS_FETCH_SUCCESS, FOLLOWERS_EXPAND_SUCCESS, FOLLOWING_FETCH_SUCCESS, FOLLOWING_EXPAND_SUCCESS, FOLLOW_REQUESTS_FETCH_SUCCESS, FOLLOW_REQUESTS_EXPAND_SUCCESS } from '../actions/accounts';\nimport { BLOCKS_FETCH_SUCCESS, BLOCKS_EXPAND_SUCCESS } from '../actions/blocks';\nimport { MUTES_FETCH_SUCCESS, MUTES_EXPAND_SUCCESS } from '../actions/mutes';\nimport { COMPOSE_SUGGESTIONS_READY } from '../actions/compose';\nimport { REBLOG_SUCCESS, UNREBLOG_SUCCESS, FAVOURITE_SUCCESS, UNFAVOURITE_SUCCESS, REBLOGS_FETCH_SUCCESS, FAVOURITES_FETCH_SUCCESS } from '../actions/interactions';\nimport { TIMELINE_REFRESH_SUCCESS, TIMELINE_UPDATE, TIMELINE_EXPAND_SUCCESS } from '../actions/timelines';\nimport { STATUS_FETCH_SUCCESS, CONTEXT_FETCH_SUCCESS } from '../actions/statuses';\nimport { SEARCH_FETCH_SUCCESS } from '../actions/search';\nimport { NOTIFICATIONS_UPDATE, NOTIFICATIONS_REFRESH_SUCCESS, NOTIFICATIONS_EXPAND_SUCCESS } from '../actions/notifications';\nimport { FAVOURITED_STATUSES_FETCH_SUCCESS, FAVOURITED_STATUSES_EXPAND_SUCCESS } from '../actions/favourites';\nimport { STORE_HYDRATE } from '../actions/store';\nimport emojify from '../features/emoji/emoji';\nimport { Map as ImmutableMap, fromJS } from 'immutable';\nimport escapeTextContentForBrowser from 'escape-html';\n\nvar normalizeAccount = function normalizeAccount(state, account) {\n account = Object.assign({}, account);\n\n delete account.followers_count;\n delete account.following_count;\n delete account.statuses_count;\n\n var displayName = account.display_name.length === 0 ? account.username : account.display_name;\n account.display_name_html = emojify(escapeTextContentForBrowser(displayName));\n account.note_emojified = emojify(account.note);\n\n return state.set(account.id, fromJS(account));\n};\n\nvar normalizeAccounts = function normalizeAccounts(state, accounts) {\n accounts.forEach(function (account) {\n state = normalizeAccount(state, account);\n });\n\n return state;\n};\n\nvar normalizeAccountFromStatus = function normalizeAccountFromStatus(state, status) {\n state = normalizeAccount(state, status.account);\n\n if (status.reblog && status.reblog.account) {\n state = normalizeAccount(state, status.reblog.account);\n }\n\n return state;\n};\n\nvar normalizeAccountsFromStatuses = function normalizeAccountsFromStatuses(state, statuses) {\n statuses.forEach(function (status) {\n state = normalizeAccountFromStatus(state, status);\n });\n\n return state;\n};\n\nvar initialState = ImmutableMap();\n\nexport default function accounts() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case STORE_HYDRATE:\n return state.merge(action.state.get('accounts'));\n case ACCOUNT_FETCH_SUCCESS:\n case NOTIFICATIONS_UPDATE:\n return normalizeAccount(state, action.account);\n case FOLLOWERS_FETCH_SUCCESS:\n case FOLLOWERS_EXPAND_SUCCESS:\n case FOLLOWING_FETCH_SUCCESS:\n case FOLLOWING_EXPAND_SUCCESS:\n case REBLOGS_FETCH_SUCCESS:\n case FAVOURITES_FETCH_SUCCESS:\n case COMPOSE_SUGGESTIONS_READY:\n case FOLLOW_REQUESTS_FETCH_SUCCESS:\n case FOLLOW_REQUESTS_EXPAND_SUCCESS:\n case BLOCKS_FETCH_SUCCESS:\n case BLOCKS_EXPAND_SUCCESS:\n case MUTES_FETCH_SUCCESS:\n case MUTES_EXPAND_SUCCESS:\n return action.accounts ? normalizeAccounts(state, action.accounts) : state;\n case NOTIFICATIONS_REFRESH_SUCCESS:\n case NOTIFICATIONS_EXPAND_SUCCESS:\n case SEARCH_FETCH_SUCCESS:\n return normalizeAccountsFromStatuses(normalizeAccounts(state, action.accounts), action.statuses);\n case TIMELINE_REFRESH_SUCCESS:\n case TIMELINE_EXPAND_SUCCESS:\n case CONTEXT_FETCH_SUCCESS:\n case FAVOURITED_STATUSES_FETCH_SUCCESS:\n case FAVOURITED_STATUSES_EXPAND_SUCCESS:\n return normalizeAccountsFromStatuses(state, action.statuses);\n case REBLOG_SUCCESS:\n case FAVOURITE_SUCCESS:\n case UNREBLOG_SUCCESS:\n case UNFAVOURITE_SUCCESS:\n return normalizeAccountFromStatus(state, action.response);\n case TIMELINE_UPDATE:\n case STATUS_FETCH_SUCCESS:\n return normalizeAccountFromStatus(state, action.status);\n default:\n return state;\n }\n};" + }, + { + "id": 417, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/now.js", + "name": "./node_modules/lodash/now.js", + "index": 270, + "index2": 264, + "size": 520, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/debounce.js", + "issuerId": 42, + "issuerName": "./node_modules/lodash/debounce.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 42, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/debounce.js", + "module": "./node_modules/lodash/debounce.js", + "moduleName": "./node_modules/lodash/debounce.js", + "type": "cjs require", + "userRequest": "./now", + "loc": "2:10-26" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function () {\n return root.Date.now();\n};\n\nmodule.exports = now;" + }, + { + "id": 418, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/toNumber.js", + "name": "./node_modules/lodash/toNumber.js", + "index": 273, + "index2": 271, + "size": 1557, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/debounce.js", + "issuerId": 42, + "issuerName": "./node_modules/lodash/debounce.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 42, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/debounce.js", + "module": "./node_modules/lodash/debounce.js", + "moduleName": "./node_modules/lodash/debounce.js", + "type": "cjs require", + "userRequest": "./toNumber", + "loc": "3:15-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\n\nmodule.exports = toNumber;" + }, + { + "id": 419, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isSymbol.js", + "name": "./node_modules/lodash/isSymbol.js", + "index": 274, + "index2": 270, + "size": 677, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/toNumber.js", + "issuerId": 418, + "issuerName": "./node_modules/lodash/toNumber.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 418, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/toNumber.js", + "module": "./node_modules/lodash/toNumber.js", + "moduleName": "./node_modules/lodash/toNumber.js", + "type": "cjs require", + "userRequest": "./isSymbol", + "loc": "2:15-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;\n}\n\nmodule.exports = isSymbol;" + }, + { + "id": 420, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getRawTag.js", + "name": "./node_modules/lodash/_getRawTag.js", + "index": 277, + "index2": 266, + "size": 1138, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetTag.js", + "issuerId": 51, + "issuerName": "./node_modules/lodash/_baseGetTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 51, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetTag.js", + "module": "./node_modules/lodash/_baseGetTag.js", + "moduleName": "./node_modules/lodash/_baseGetTag.js", + "type": "cjs require", + "userRequest": "./_getRawTag", + "loc": "2:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;" + }, + { + "id": 421, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_objectToString.js", + "name": "./node_modules/lodash/_objectToString.js", + "index": 278, + "index2": 267, + "size": 564, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetTag.js", + "issuerId": 51, + "issuerName": "./node_modules/lodash/_baseGetTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 51, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetTag.js", + "module": "./node_modules/lodash/_baseGetTag.js", + "moduleName": "./node_modules/lodash/_baseGetTag.js", + "type": "cjs require", + "userRequest": "./_objectToString", + "loc": "3:21-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;" + }, + { + "id": 422, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/unicode_to_unified_name.js", + "name": "./app/javascript/mastodon/features/emoji/unicode_to_unified_name.js", + "index": 282, + "index2": 274, + "size": 351, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_mart_data_light.js", + "issuerId": 210, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji_mart_data_light.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 210, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_mart_data_light.js", + "module": "./app/javascript/mastodon/features/emoji/emoji_mart_data_light.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji_mart_data_light.js", + "type": "cjs require", + "userRequest": "./unicode_to_unified_name", + "loc": "4:15-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "function padLeft(str, num) {\n while (str.length < num) {\n str = '0' + str;\n }\n return str;\n}\n\nexports.unicodeToUnifiedName = function (str) {\n var output = '';\n for (var i = 0; i < str.length; i += 2) {\n if (i > 0) {\n output += '-';\n }\n output += padLeft(str.codePointAt(i).toString(16).toUpperCase(), 4);\n }\n return output;\n};" + }, + { + "id": 423, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_utils.js", + "name": "./app/javascript/mastodon/features/emoji/emoji_utils.js", + "index": 284, + "index2": 277, + "size": 6336, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "issuerId": 209, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 209, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "module": "./app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji_mart_search_light.js", + "type": "harmony import", + "userRequest": "./emoji_utils", + "loc": "5:0-69" + } + ], + "usedExports": [ + "getData", + "getSanitizedData", + "intersect" + ], + "providedExports": [ + "getData", + "getSanitizedData", + "uniq", + "intersect", + "deepMerge", + "unifiedToNative", + "measureScrollbar" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _typeof from 'babel-runtime/helpers/typeof';\n// This code is largely borrowed from:\n// https://github.com/missive/emoji-mart/blob/5f2ffcc/src/utils/index.js\n\nimport data from './emoji_mart_data_light';\n\nvar buildSearch = function buildSearch(data) {\n var search = [];\n\n var addToSearch = function addToSearch(strings, split) {\n if (!strings) {\n return;\n }\n\n (Array.isArray(strings) ? strings : [strings]).forEach(function (string) {\n (split ? string.split(/[-|_|\\s]+/) : [string]).forEach(function (s) {\n s = s.toLowerCase();\n\n if (search.indexOf(s) === -1) {\n search.push(s);\n }\n });\n });\n };\n\n addToSearch(data.short_names, true);\n addToSearch(data.name, true);\n addToSearch(data.keywords, false);\n addToSearch(data.emoticons, false);\n\n return search.join(',');\n};\n\nvar _String = String;\n\nvar stringFromCodePoint = _String.fromCodePoint || function () {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate = void 0;\n var lowSurrogate = void 0;\n var index = -1;\n var length = arguments.length;\n if (!length) {\n return '';\n }\n var result = '';\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n Math.floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n if (codePoint <= 0xFFFF) {\n // BMP code point\n codeUnits.push(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xD800;\n lowSurrogate = codePoint % 0x400 + 0xDC00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += String.fromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nvar _JSON = JSON;\n\nvar COLONS_REGEX = /^(?:\\:([^\\:]+)\\:)(?:\\:skin-tone-(\\d)\\:)?$/;\nvar SKINS = ['1F3FA', '1F3FB', '1F3FC', '1F3FD', '1F3FE', '1F3FF'];\n\nfunction unifiedToNative(unified) {\n var unicodes = unified.split('-'),\n codePoints = unicodes.map(function (u) {\n return '0x' + u;\n });\n\n return stringFromCodePoint.apply(null, codePoints);\n}\n\nfunction sanitize(emoji) {\n var name = emoji.name,\n short_names = emoji.short_names,\n skin_tone = emoji.skin_tone,\n skin_variations = emoji.skin_variations,\n emoticons = emoji.emoticons,\n unified = emoji.unified,\n custom = emoji.custom,\n imageUrl = emoji.imageUrl,\n id = emoji.id || short_names[0],\n colons = ':' + id + ':';\n\n\n if (custom) {\n return {\n id: id,\n name: name,\n colons: colons,\n emoticons: emoticons,\n custom: custom,\n imageUrl: imageUrl\n };\n }\n\n if (skin_tone) {\n colons += ':skin-tone-' + skin_tone + ':';\n }\n\n return {\n id: id,\n name: name,\n colons: colons,\n emoticons: emoticons,\n unified: unified.toLowerCase(),\n skin: skin_tone || (skin_variations ? 1 : null),\n native: unifiedToNative(unified)\n };\n}\n\nfunction getSanitizedData() {\n return sanitize(getData.apply(undefined, arguments));\n}\n\nfunction getData(emoji, skin, set) {\n var emojiData = {};\n\n if (typeof emoji === 'string') {\n var matches = emoji.match(COLONS_REGEX);\n\n if (matches) {\n emoji = matches[1];\n\n if (matches[2]) {\n skin = parseInt(matches[2]);\n }\n }\n\n if (data.short_names.hasOwnProperty(emoji)) {\n emoji = data.short_names[emoji];\n }\n\n if (data.emojis.hasOwnProperty(emoji)) {\n emojiData = data.emojis[emoji];\n }\n } else if (emoji.id) {\n if (data.short_names.hasOwnProperty(emoji.id)) {\n emoji.id = data.short_names[emoji.id];\n }\n\n if (data.emojis.hasOwnProperty(emoji.id)) {\n emojiData = data.emojis[emoji.id];\n skin = skin || emoji.skin;\n }\n }\n\n if (!Object.keys(emojiData).length) {\n emojiData = emoji;\n emojiData.custom = true;\n\n if (!emojiData.search) {\n emojiData.search = buildSearch(emoji);\n }\n }\n\n emojiData.emoticons = emojiData.emoticons || [];\n emojiData.variations = emojiData.variations || [];\n\n if (emojiData.skin_variations && skin > 1 && set) {\n emojiData = JSON.parse(_JSON.stringify(emojiData));\n\n var skinKey = SKINS[skin - 1],\n variationData = emojiData.skin_variations[skinKey];\n\n if (!variationData.variations && emojiData.variations) {\n delete emojiData.variations;\n }\n\n if (variationData['has_img_' + set]) {\n emojiData.skin_tone = skin;\n\n for (var k in variationData) {\n var v = variationData[k];\n emojiData[k] = v;\n }\n }\n }\n\n if (emojiData.variations && emojiData.variations.length) {\n emojiData = JSON.parse(_JSON.stringify(emojiData));\n emojiData.unified = emojiData.variations.shift();\n }\n\n return emojiData;\n}\n\nfunction uniq(arr) {\n return arr.reduce(function (acc, item) {\n if (acc.indexOf(item) === -1) {\n acc.push(item);\n }\n return acc;\n }, []);\n}\n\nfunction intersect(a, b) {\n var uniqA = uniq(a);\n var uniqB = uniq(b);\n\n return uniqA.filter(function (item) {\n return uniqB.indexOf(item) >= 0;\n });\n}\n\nfunction deepMerge(a, b) {\n var o = {};\n\n for (var key in a) {\n var originalValue = a[key],\n value = originalValue;\n\n if (b.hasOwnProperty(key)) {\n value = b[key];\n }\n\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n value = deepMerge(originalValue, value);\n }\n\n o[key] = value;\n }\n\n return o;\n}\n\n// https://github.com/sonicdoe/measure-scrollbar\nfunction measureScrollbar() {\n var div = document.createElement('div');\n\n div.style.width = '100px';\n div.style.height = '100px';\n div.style.overflow = 'scroll';\n div.style.position = 'absolute';\n div.style.top = '-9999px';\n\n document.body.appendChild(div);\n var scrollbarWidth = div.offsetWidth - div.clientWidth;\n document.body.removeChild(div);\n\n return scrollbarWidth;\n}\n\nexport { getData, getSanitizedData, uniq, intersect, deepMerge, unifiedToNative, measureScrollbar };" + }, + { + "id": 424, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/main.js", + "name": "./node_modules/intl-messageformat/lib/main.js", + "index": 292, + "index2": 292, + "size": 293, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/index.js", + "issuerId": 53, + "issuerName": "./node_modules/intl-messageformat/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 53, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/index.js", + "module": "./node_modules/intl-messageformat/index.js", + "moduleName": "./node_modules/intl-messageformat/index.js", + "type": "cjs require", + "userRequest": "./lib/main", + "loc": "5:24-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "/* jslint esnext: true */\n\n\"use strict\";\n\nvar src$core$$ = require(\"./core\"),\n src$en$$ = require(\"./en\");\n\nsrc$core$$[\"default\"].__addLocaleData(src$en$$[\"default\"]);\nsrc$core$$[\"default\"].defaultLocale = 'en';\n\nexports[\"default\"] = src$core$$[\"default\"];\n\n//# sourceMappingURL=main.js.map" + }, + { + "id": 425, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/core.js", + "name": "./node_modules/intl-messageformat/lib/core.js", + "index": 293, + "index2": 290, + "size": 8649, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/main.js", + "issuerId": 424, + "issuerName": "./node_modules/intl-messageformat/lib/main.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 424, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/main.js", + "module": "./node_modules/intl-messageformat/lib/main.js", + "moduleName": "./node_modules/intl-messageformat/lib/main.js", + "type": "cjs require", + "userRequest": "./core", + "loc": "5:17-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\n\nvar src$utils$$ = require(\"./utils\"),\n src$es5$$ = require(\"./es5\"),\n src$compiler$$ = require(\"./compiler\"),\n intl$messageformat$parser$$ = require(\"intl-messageformat-parser\");\nexports[\"default\"] = MessageFormat;\n\n// -- MessageFormat --------------------------------------------------------\n\nfunction MessageFormat(message, locales, formats) {\n // Parse string messages into an AST.\n var ast = typeof message === 'string' ? MessageFormat.__parse(message) : message;\n\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n formats = this._mergeFormats(MessageFormat.formats, formats);\n\n // Defined first because it's used to build the format pattern.\n src$es5$$.defineProperty(this, '_locale', { value: this._resolveLocale(locales) });\n\n // Compile the `ast` to a pattern that is highly optimized for repeated\n // `format()` invocations. **Note:** This passes the `locales` set provided\n // to the constructor instead of just the resolved locale.\n var pluralFn = this._findPluralRuleFunction(this._locale);\n var pattern = this._compilePattern(ast, locales, formats, pluralFn);\n\n // \"Bind\" `format()` method to `this` so it can be passed by reference like\n // the other `Intl` APIs.\n var messageFormat = this;\n this.format = function (values) {\n try {\n return messageFormat._format(pattern, values);\n } catch (e) {\n if (e.variableId) {\n throw new Error('The intl string context variable \\'' + e.variableId + '\\'' + ' was not provided to the string \\'' + message + '\\'');\n } else {\n throw e;\n }\n }\n };\n}\n\n// Default format options used as the prototype of the `formats` provided to the\n// constructor. These are used when constructing the internal Intl.NumberFormat\n// and Intl.DateTimeFormat instances.\nsrc$es5$$.defineProperty(MessageFormat, 'formats', {\n enumerable: true,\n\n value: {\n number: {\n 'currency': {\n style: 'currency'\n },\n\n 'percent': {\n style: 'percent'\n }\n },\n\n date: {\n 'short': {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit'\n },\n\n 'medium': {\n month: 'short',\n day: 'numeric',\n year: 'numeric'\n },\n\n 'long': {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n },\n\n 'full': {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n }\n },\n\n time: {\n 'short': {\n hour: 'numeric',\n minute: 'numeric'\n },\n\n 'medium': {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric'\n },\n\n 'long': {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n },\n\n 'full': {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n }\n }\n }\n});\n\n// Define internal private properties for dealing with locale data.\nsrc$es5$$.defineProperty(MessageFormat, '__localeData__', { value: src$es5$$.objCreate(null) });\nsrc$es5$$.defineProperty(MessageFormat, '__addLocaleData', { value: function (data) {\n if (!(data && data.locale)) {\n throw new Error('Locale data provided to IntlMessageFormat is missing a ' + '`locale` property');\n }\n\n MessageFormat.__localeData__[data.locale.toLowerCase()] = data;\n } });\n\n// Defines `__parse()` static method as an exposed private.\nsrc$es5$$.defineProperty(MessageFormat, '__parse', { value: intl$messageformat$parser$$[\"default\"].parse });\n\n// Define public `defaultLocale` property which defaults to English, but can be\n// set by the developer.\nsrc$es5$$.defineProperty(MessageFormat, 'defaultLocale', {\n enumerable: true,\n writable: true,\n value: undefined\n});\n\nMessageFormat.prototype.resolvedOptions = function () {\n // TODO: Provide anything else?\n return {\n locale: this._locale\n };\n};\n\nMessageFormat.prototype._compilePattern = function (ast, locales, formats, pluralFn) {\n var compiler = new src$compiler$$[\"default\"](locales, formats, pluralFn);\n return compiler.compile(ast);\n};\n\nMessageFormat.prototype._findPluralRuleFunction = function (locale) {\n var localeData = MessageFormat.__localeData__;\n var data = localeData[locale.toLowerCase()];\n\n // The locale data is de-duplicated, so we have to traverse the locale's\n // hierarchy until we find a `pluralRuleFunction` to return.\n while (data) {\n if (data.pluralRuleFunction) {\n return data.pluralRuleFunction;\n }\n\n data = data.parentLocale && localeData[data.parentLocale.toLowerCase()];\n }\n\n throw new Error('Locale data added to IntlMessageFormat is missing a ' + '`pluralRuleFunction` for :' + locale);\n};\n\nMessageFormat.prototype._format = function (pattern, values) {\n var result = '',\n i,\n len,\n part,\n id,\n value,\n err;\n\n for (i = 0, len = pattern.length; i < len; i += 1) {\n part = pattern[i];\n\n // Exist early for string parts.\n if (typeof part === 'string') {\n result += part;\n continue;\n }\n\n id = part.id;\n\n // Enforce that all required values are provided by the caller.\n if (!(values && src$utils$$.hop.call(values, id))) {\n err = new Error('A value must be provided for: ' + id);\n err.variableId = id;\n throw err;\n }\n\n value = values[id];\n\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (part.options) {\n result += this._format(part.getOption(value), values);\n } else {\n result += part.format(value);\n }\n }\n\n return result;\n};\n\nMessageFormat.prototype._mergeFormats = function (defaults, formats) {\n var mergedFormats = {},\n type,\n mergedType;\n\n for (type in defaults) {\n if (!src$utils$$.hop.call(defaults, type)) {\n continue;\n }\n\n mergedFormats[type] = mergedType = src$es5$$.objCreate(defaults[type]);\n\n if (formats && src$utils$$.hop.call(formats, type)) {\n src$utils$$.extend(mergedType, formats[type]);\n }\n }\n\n return mergedFormats;\n};\n\nMessageFormat.prototype._resolveLocale = function (locales) {\n if (typeof locales === 'string') {\n locales = [locales];\n }\n\n // Create a copy of the array so we can push on the default locale.\n locales = (locales || []).concat(MessageFormat.defaultLocale);\n\n var localeData = MessageFormat.__localeData__;\n var i, len, localeParts, data;\n\n // Using the set of locales + the default locale, we look for the first one\n // which that has been registered. When data does not exist for a locale, we\n // traverse its ancestors to find something that's been registered within\n // its hierarchy of locales. Since we lack the proper `parentLocale` data\n // here, we must take a naive approach to traversal.\n for (i = 0, len = locales.length; i < len; i += 1) {\n localeParts = locales[i].toLowerCase().split('-');\n\n while (localeParts.length) {\n data = localeData[localeParts.join('-')];\n if (data) {\n // Return the normalized locale string; e.g., we return \"en-US\",\n // instead of \"en-us\".\n return data.locale;\n }\n\n localeParts.pop();\n }\n }\n\n var defaultLocale = locales.pop();\n throw new Error('No locale data has been added to IntlMessageFormat for: ' + locales.join(', ') + ', or the default locale: ' + defaultLocale);\n};\n\n//# sourceMappingURL=core.js.map" + }, + { + "id": 426, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/es5.js", + "name": "./node_modules/intl-messageformat/lib/es5.js", + "index": 295, + "index2": 286, + "size": 1266, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/core.js", + "issuerId": 425, + "issuerName": "./node_modules/intl-messageformat/lib/core.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 425, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/core.js", + "module": "./node_modules/intl-messageformat/lib/core.js", + "moduleName": "./node_modules/intl-messageformat/lib/core.js", + "type": "cjs require", + "userRequest": "./es5", + "loc": "12:16-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\n\nvar src$utils$$ = require(\"./utils\");\n\n// Purposely using the same implementation as the Intl.js `Intl` polyfill.\n// Copyright 2013 Andy Earnshaw, MIT License\n\nvar realDefineProp = function () {\n try {\n return !!Object.defineProperty({}, 'a', {});\n } catch (e) {\n return false;\n }\n}();\n\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\nvar defineProperty = realDefineProp ? Object.defineProperty : function (obj, name, desc) {\n\n if ('get' in desc && obj.__defineGetter__) {\n obj.__defineGetter__(name, desc.get);\n } else if (!src$utils$$.hop.call(obj, name) || 'value' in desc) {\n obj[name] = desc.value;\n }\n};\n\nvar objCreate = Object.create || function (proto, props) {\n var obj, k;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (k in props) {\n if (src$utils$$.hop.call(props, k)) {\n defineProperty(obj, k, props[k]);\n }\n }\n\n return obj;\n};\n\nexports.defineProperty = defineProperty, exports.objCreate = objCreate;\n\n//# sourceMappingURL=es5.js.map" + }, + { + "id": 427, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/compiler.js", + "name": "./node_modules/intl-messageformat/lib/compiler.js", + "index": 296, + "index2": 287, + "size": 5881, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/core.js", + "issuerId": 425, + "issuerName": "./node_modules/intl-messageformat/lib/core.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 425, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/core.js", + "module": "./node_modules/intl-messageformat/lib/core.js", + "moduleName": "./node_modules/intl-messageformat/lib/core.js", + "type": "cjs require", + "userRequest": "./compiler", + "loc": "13:21-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\n\nexports[\"default\"] = Compiler;\n\nfunction Compiler(locales, formats, pluralFn) {\n this.locales = locales;\n this.formats = formats;\n this.pluralFn = pluralFn;\n}\n\nCompiler.prototype.compile = function (ast) {\n this.pluralStack = [];\n this.currentPlural = null;\n this.pluralNumberFormat = null;\n\n return this.compileMessage(ast);\n};\n\nCompiler.prototype.compileMessage = function (ast) {\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new Error('Message AST is not of type: \"messageFormatPattern\"');\n }\n\n var elements = ast.elements,\n pattern = [];\n\n var i, len, element;\n\n for (i = 0, len = elements.length; i < len; i += 1) {\n element = elements[i];\n\n switch (element.type) {\n case 'messageTextElement':\n pattern.push(this.compileMessageText(element));\n break;\n\n case 'argumentElement':\n pattern.push(this.compileArgument(element));\n break;\n\n default:\n throw new Error('Message element does not have a valid type');\n }\n }\n\n return pattern;\n};\n\nCompiler.prototype.compileMessageText = function (element) {\n // When this `element` is part of plural sub-pattern and its value contains\n // an unescaped '#', use a `PluralOffsetString` helper to properly output\n // the number with the correct offset in the string.\n if (this.currentPlural && /(^|[^\\\\])#/g.test(element.value)) {\n // Create a cache a NumberFormat instance that can be reused for any\n // PluralOffsetString instance in this message.\n if (!this.pluralNumberFormat) {\n this.pluralNumberFormat = new Intl.NumberFormat(this.locales);\n }\n\n return new PluralOffsetString(this.currentPlural.id, this.currentPlural.format.offset, this.pluralNumberFormat, element.value);\n }\n\n // Unescape the escaped '#'s in the message text.\n return element.value.replace(/\\\\#/g, '#');\n};\n\nCompiler.prototype.compileArgument = function (element) {\n var format = element.format;\n\n if (!format) {\n return new StringFormat(element.id);\n }\n\n var formats = this.formats,\n locales = this.locales,\n pluralFn = this.pluralFn,\n options;\n\n switch (format.type) {\n case 'numberFormat':\n options = formats.number[format.style];\n return {\n id: element.id,\n format: new Intl.NumberFormat(locales, options).format\n };\n\n case 'dateFormat':\n options = formats.date[format.style];\n return {\n id: element.id,\n format: new Intl.DateTimeFormat(locales, options).format\n };\n\n case 'timeFormat':\n options = formats.time[format.style];\n return {\n id: element.id,\n format: new Intl.DateTimeFormat(locales, options).format\n };\n\n case 'pluralFormat':\n options = this.compileOptions(element);\n return new PluralFormat(element.id, format.ordinal, format.offset, options, pluralFn);\n\n case 'selectFormat':\n options = this.compileOptions(element);\n return new SelectFormat(element.id, options);\n\n default:\n throw new Error('Message element does not have a valid format type');\n }\n};\n\nCompiler.prototype.compileOptions = function (element) {\n var format = element.format,\n options = format.options,\n optionsHash = {};\n\n // Save the current plural element, if any, then set it to a new value when\n // compiling the options sub-patterns. This conforms the spec's algorithm\n // for handling `\"#\"` syntax in message text.\n this.pluralStack.push(this.currentPlural);\n this.currentPlural = format.type === 'pluralFormat' ? element : null;\n\n var i, len, option;\n\n for (i = 0, len = options.length; i < len; i += 1) {\n option = options[i];\n\n // Compile the sub-pattern and save it under the options's selector.\n optionsHash[option.selector] = this.compileMessage(option.value);\n }\n\n // Pop the plural stack to put back the original current plural value.\n this.currentPlural = this.pluralStack.pop();\n\n return optionsHash;\n};\n\n// -- Compiler Helper Classes --------------------------------------------------\n\nfunction StringFormat(id) {\n this.id = id;\n}\n\nStringFormat.prototype.format = function (value) {\n if (!value && typeof value !== 'number') {\n return '';\n }\n\n return typeof value === 'string' ? value : String(value);\n};\n\nfunction PluralFormat(id, useOrdinal, offset, options, pluralFn) {\n this.id = id;\n this.useOrdinal = useOrdinal;\n this.offset = offset;\n this.options = options;\n this.pluralFn = pluralFn;\n}\n\nPluralFormat.prototype.getOption = function (value) {\n var options = this.options;\n\n var option = options['=' + value] || options[this.pluralFn(value - this.offset, this.useOrdinal)];\n\n return option || options.other;\n};\n\nfunction PluralOffsetString(id, offset, numberFormat, string) {\n this.id = id;\n this.offset = offset;\n this.numberFormat = numberFormat;\n this.string = string;\n}\n\nPluralOffsetString.prototype.format = function (value) {\n var number = this.numberFormat.format(value - this.offset);\n\n return this.string.replace(/(^|[^\\\\])#/g, '$1' + number).replace(/\\\\#/g, '#');\n};\n\nfunction SelectFormat(id, options) {\n this.id = id;\n this.options = options;\n}\n\nSelectFormat.prototype.getOption = function (value) {\n var options = this.options;\n return options[value] || options.other;\n};\n\n//# sourceMappingURL=compiler.js.map" + }, + { + "id": 428, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat-parser/index.js", + "name": "./node_modules/intl-messageformat-parser/index.js", + "index": 297, + "index2": 289, + "size": 107, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/core.js", + "issuerId": 425, + "issuerName": "./node_modules/intl-messageformat/lib/core.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 425, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/core.js", + "module": "./node_modules/intl-messageformat/lib/core.js", + "moduleName": "./node_modules/intl-messageformat/lib/core.js", + "type": "cjs require", + "userRequest": "intl-messageformat-parser", + "loc": "14:34-70" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nexports = module.exports = require('./lib/parser')['default'];\nexports['default'] = exports;" + }, + { + "id": 429, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat-parser/lib/parser.js", + "name": "./node_modules/intl-messageformat-parser/lib/parser.js", + "index": 298, + "index2": 288, + "size": 37584, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat-parser/index.js", + "issuerId": 428, + "issuerName": "./node_modules/intl-messageformat-parser/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 428, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat-parser/index.js", + "module": "./node_modules/intl-messageformat-parser/index.js", + "moduleName": "./node_modules/intl-messageformat-parser/index.js", + "type": "cjs require", + "userRequest": "./lib/parser", + "loc": "3:27-50" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "\"use strict\";\n\nexports[\"default\"] = function () {\n /*\n * Generated by PEG.js 0.8.0.\n *\n * http://pegjs.majda.cz/\n */\n\n function peg$subclass(child, parent) {\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n }\n\n function SyntaxError(message, expected, found, offset, line, column) {\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.offset = offset;\n this.line = line;\n this.column = column;\n\n this.name = \"SyntaxError\";\n }\n\n peg$subclass(SyntaxError, Error);\n\n function parse(input) {\n var options = arguments.length > 1 ? arguments[1] : {},\n peg$FAILED = {},\n peg$startRuleFunctions = { start: peg$parsestart },\n peg$startRuleFunction = peg$parsestart,\n peg$c0 = [],\n peg$c1 = function (elements) {\n return {\n type: 'messageFormatPattern',\n elements: elements\n };\n },\n peg$c2 = peg$FAILED,\n peg$c3 = function (text) {\n var string = '',\n i,\n j,\n outerLen,\n inner,\n innerLen;\n\n for (i = 0, outerLen = text.length; i < outerLen; i += 1) {\n inner = text[i];\n\n for (j = 0, innerLen = inner.length; j < innerLen; j += 1) {\n string += inner[j];\n }\n }\n\n return string;\n },\n peg$c4 = function (messageText) {\n return {\n type: 'messageTextElement',\n value: messageText\n };\n },\n peg$c5 = /^[^ \\t\\n\\r,.+={}#]/,\n peg$c6 = { type: \"class\", value: \"[^ \\\\t\\\\n\\\\r,.+={}#]\", description: \"[^ \\\\t\\\\n\\\\r,.+={}#]\" },\n peg$c7 = \"{\",\n peg$c8 = { type: \"literal\", value: \"{\", description: \"\\\"{\\\"\" },\n peg$c9 = null,\n peg$c10 = \",\",\n peg$c11 = { type: \"literal\", value: \",\", description: \"\\\",\\\"\" },\n peg$c12 = \"}\",\n peg$c13 = { type: \"literal\", value: \"}\", description: \"\\\"}\\\"\" },\n peg$c14 = function (id, format) {\n return {\n type: 'argumentElement',\n id: id,\n format: format && format[2]\n };\n },\n peg$c15 = \"number\",\n peg$c16 = { type: \"literal\", value: \"number\", description: \"\\\"number\\\"\" },\n peg$c17 = \"date\",\n peg$c18 = { type: \"literal\", value: \"date\", description: \"\\\"date\\\"\" },\n peg$c19 = \"time\",\n peg$c20 = { type: \"literal\", value: \"time\", description: \"\\\"time\\\"\" },\n peg$c21 = function (type, style) {\n return {\n type: type + 'Format',\n style: style && style[2]\n };\n },\n peg$c22 = \"plural\",\n peg$c23 = { type: \"literal\", value: \"plural\", description: \"\\\"plural\\\"\" },\n peg$c24 = function (pluralStyle) {\n return {\n type: pluralStyle.type,\n ordinal: false,\n offset: pluralStyle.offset || 0,\n options: pluralStyle.options\n };\n },\n peg$c25 = \"selectordinal\",\n peg$c26 = { type: \"literal\", value: \"selectordinal\", description: \"\\\"selectordinal\\\"\" },\n peg$c27 = function (pluralStyle) {\n return {\n type: pluralStyle.type,\n ordinal: true,\n offset: pluralStyle.offset || 0,\n options: pluralStyle.options\n };\n },\n peg$c28 = \"select\",\n peg$c29 = { type: \"literal\", value: \"select\", description: \"\\\"select\\\"\" },\n peg$c30 = function (options) {\n return {\n type: 'selectFormat',\n options: options\n };\n },\n peg$c31 = \"=\",\n peg$c32 = { type: \"literal\", value: \"=\", description: \"\\\"=\\\"\" },\n peg$c33 = function (selector, pattern) {\n return {\n type: 'optionalFormatPattern',\n selector: selector,\n value: pattern\n };\n },\n peg$c34 = \"offset:\",\n peg$c35 = { type: \"literal\", value: \"offset:\", description: \"\\\"offset:\\\"\" },\n peg$c36 = function (number) {\n return number;\n },\n peg$c37 = function (offset, options) {\n return {\n type: 'pluralFormat',\n offset: offset,\n options: options\n };\n },\n peg$c38 = { type: \"other\", description: \"whitespace\" },\n peg$c39 = /^[ \\t\\n\\r]/,\n peg$c40 = { type: \"class\", value: \"[ \\\\t\\\\n\\\\r]\", description: \"[ \\\\t\\\\n\\\\r]\" },\n peg$c41 = { type: \"other\", description: \"optionalWhitespace\" },\n peg$c42 = /^[0-9]/,\n peg$c43 = { type: \"class\", value: \"[0-9]\", description: \"[0-9]\" },\n peg$c44 = /^[0-9a-f]/i,\n peg$c45 = { type: \"class\", value: \"[0-9a-f]i\", description: \"[0-9a-f]i\" },\n peg$c46 = \"0\",\n peg$c47 = { type: \"literal\", value: \"0\", description: \"\\\"0\\\"\" },\n peg$c48 = /^[1-9]/,\n peg$c49 = { type: \"class\", value: \"[1-9]\", description: \"[1-9]\" },\n peg$c50 = function (digits) {\n return parseInt(digits, 10);\n },\n peg$c51 = /^[^{}\\\\\\0-\\x1F \\t\\n\\r]/,\n peg$c52 = { type: \"class\", value: \"[^{}\\\\\\\\\\\\0-\\\\x1F \\\\t\\\\n\\\\r]\", description: \"[^{}\\\\\\\\\\\\0-\\\\x1F \\\\t\\\\n\\\\r]\" },\n peg$c53 = \"\\\\\\\\\",\n peg$c54 = { type: \"literal\", value: \"\\\\\\\\\", description: \"\\\"\\\\\\\\\\\\\\\\\\\"\" },\n peg$c55 = function () {\n return '\\\\';\n },\n peg$c56 = \"\\\\#\",\n peg$c57 = { type: \"literal\", value: \"\\\\#\", description: \"\\\"\\\\\\\\#\\\"\" },\n peg$c58 = function () {\n return '\\\\#';\n },\n peg$c59 = \"\\\\{\",\n peg$c60 = { type: \"literal\", value: \"\\\\{\", description: \"\\\"\\\\\\\\{\\\"\" },\n peg$c61 = function () {\n return '\\u007B';\n },\n peg$c62 = \"\\\\}\",\n peg$c63 = { type: \"literal\", value: \"\\\\}\", description: \"\\\"\\\\\\\\}\\\"\" },\n peg$c64 = function () {\n return '\\u007D';\n },\n peg$c65 = \"\\\\u\",\n peg$c66 = { type: \"literal\", value: \"\\\\u\", description: \"\\\"\\\\\\\\u\\\"\" },\n peg$c67 = function (digits) {\n return String.fromCharCode(parseInt(digits, 16));\n },\n peg$c68 = function (chars) {\n return chars.join('');\n },\n peg$currPos = 0,\n peg$reportedPos = 0,\n peg$cachedPos = 0,\n peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },\n peg$maxFailPos = 0,\n peg$maxFailExpected = [],\n peg$silentFails = 0,\n peg$result;\n\n if (\"startRule\" in options) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$reportedPos, peg$currPos);\n }\n\n function offset() {\n return peg$reportedPos;\n }\n\n function line() {\n return peg$computePosDetails(peg$reportedPos).line;\n }\n\n function column() {\n return peg$computePosDetails(peg$reportedPos).column;\n }\n\n function expected(description) {\n throw peg$buildException(null, [{ type: \"other\", description: description }], peg$reportedPos);\n }\n\n function error(message) {\n throw peg$buildException(message, null, peg$reportedPos);\n }\n\n function peg$computePosDetails(pos) {\n function advance(details, startPos, endPos) {\n var p, ch;\n\n for (p = startPos; p < endPos; p++) {\n ch = input.charAt(p);\n if (ch === \"\\n\") {\n if (!details.seenCR) {\n details.line++;\n }\n details.column = 1;\n details.seenCR = false;\n } else if (ch === \"\\r\" || ch === \"\\u2028\" || ch === \"\\u2029\") {\n details.line++;\n details.column = 1;\n details.seenCR = true;\n } else {\n details.column++;\n details.seenCR = false;\n }\n }\n }\n\n if (peg$cachedPos !== pos) {\n if (peg$cachedPos > pos) {\n peg$cachedPos = 0;\n peg$cachedPosDetails = { line: 1, column: 1, seenCR: false };\n }\n advance(peg$cachedPosDetails, peg$cachedPos, pos);\n peg$cachedPos = pos;\n }\n\n return peg$cachedPosDetails;\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildException(message, expected, pos) {\n function cleanupExpected(expected) {\n var i = 1;\n\n expected.sort(function (a, b) {\n if (a.description < b.description) {\n return -1;\n } else if (a.description > b.description) {\n return 1;\n } else {\n return 0;\n }\n });\n\n while (i < expected.length) {\n if (expected[i - 1] === expected[i]) {\n expected.splice(i, 1);\n } else {\n i++;\n }\n }\n }\n\n function buildMessage(expected, found) {\n function stringEscape(s) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n return s.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"').replace(/\\x08/g, '\\\\b').replace(/\\t/g, '\\\\t').replace(/\\n/g, '\\\\n').replace(/\\f/g, '\\\\f').replace(/\\r/g, '\\\\r').replace(/[\\x00-\\x07\\x0B\\x0E\\x0F]/g, function (ch) {\n return '\\\\x0' + hex(ch);\n }).replace(/[\\x10-\\x1F\\x80-\\xFF]/g, function (ch) {\n return '\\\\x' + hex(ch);\n }).replace(/[\\u0180-\\u0FFF]/g, function (ch) {\n return '\\\\u0' + hex(ch);\n }).replace(/[\\u1080-\\uFFFF]/g, function (ch) {\n return '\\\\u' + hex(ch);\n });\n }\n\n var expectedDescs = new Array(expected.length),\n expectedDesc,\n foundDesc,\n i;\n\n for (i = 0; i < expected.length; i++) {\n expectedDescs[i] = expected[i].description;\n }\n\n expectedDesc = expected.length > 1 ? expectedDescs.slice(0, -1).join(\", \") + \" or \" + expectedDescs[expected.length - 1] : expectedDescs[0];\n\n foundDesc = found ? \"\\\"\" + stringEscape(found) + \"\\\"\" : \"end of input\";\n\n return \"Expected \" + expectedDesc + \" but \" + foundDesc + \" found.\";\n }\n\n var posDetails = peg$computePosDetails(pos),\n found = pos < input.length ? input.charAt(pos) : null;\n\n if (expected !== null) {\n cleanupExpected(expected);\n }\n\n return new SyntaxError(message !== null ? message : buildMessage(expected, found), expected, found, pos, posDetails.line, posDetails.column);\n }\n\n function peg$parsestart() {\n var s0;\n\n s0 = peg$parsemessageFormatPattern();\n\n return s0;\n }\n\n function peg$parsemessageFormatPattern() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsemessageFormatElement();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsemessageFormatElement();\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsemessageFormatElement() {\n var s0;\n\n s0 = peg$parsemessageTextElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n }\n\n return s0;\n }\n\n function peg$parsemessageText() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$c2;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$c2;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$c2;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$c2;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$c2;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$c2;\n }\n }\n } else {\n s1 = peg$c2;\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c3(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsews();\n if (s1 !== peg$FAILED) {\n s1 = input.substring(s0, peg$currPos);\n }\n s0 = s1;\n }\n\n return s0;\n }\n\n function peg$parsemessageTextElement() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c4(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseargument() {\n var s0, s1, s2;\n\n s0 = peg$parsenumber();\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = [];\n if (peg$c5.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n if (peg$c5.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n }\n } else {\n s1 = peg$c2;\n }\n if (s1 !== peg$FAILED) {\n s1 = input.substring(s0, peg$currPos);\n }\n s0 = s1;\n }\n\n return s0;\n }\n\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c7;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c8);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargument();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s6 = peg$c10;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseelementFormat();\n if (s8 !== peg$FAILED) {\n s6 = [s6, s7, s8];\n s5 = s6;\n } else {\n peg$currPos = s5;\n s5 = peg$c2;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$c2;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$c2;\n }\n if (s5 === peg$FAILED) {\n s5 = peg$c9;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c12;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c13);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c14(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parseelementFormat() {\n var s0;\n\n s0 = peg$parsesimpleFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectOrdinalFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectFormat();\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsesimpleFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c15) {\n s1 = peg$c15;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c16);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c17) {\n s1 = peg$c17;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c18);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c19) {\n s1 = peg$c19;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s4 = peg$c10;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsechars();\n if (s6 !== peg$FAILED) {\n s4 = [s4, s5, s6];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$c2;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$c2;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$c2;\n }\n if (s3 === peg$FAILED) {\n s3 = peg$c9;\n }\n if (s3 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c21(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parsepluralFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c23);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c10;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c24(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parseselectOrdinalFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 13) === peg$c25) {\n s1 = peg$c25;\n peg$currPos += 13;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c26);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c10;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c27(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parseselectFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c28) {\n s1 = peg$c28;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c10;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseoptionalFormatPattern();\n if (s6 !== peg$FAILED) {\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseoptionalFormatPattern();\n }\n } else {\n s5 = peg$c2;\n }\n if (s5 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c30(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parseselector() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c31;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c32);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$c2;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$c2;\n }\n if (s1 !== peg$FAILED) {\n s1 = input.substring(s0, peg$currPos);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$parsechars();\n }\n\n return s0;\n }\n\n function peg$parseoptionalFormatPattern() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseselector();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c7;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c8);\n }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessageFormatPattern();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s8 = peg$c12;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c13);\n }\n }\n if (s8 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c33(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parseoffset() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c34) {\n s1 = peg$c34;\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c36(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parsepluralStyle() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parseoffset();\n if (s1 === peg$FAILED) {\n s1 = peg$c9;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parseoptionalFormatPattern();\n if (s4 !== peg$FAILED) {\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parseoptionalFormatPattern();\n }\n } else {\n s3 = peg$c2;\n }\n if (s3 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c37(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n\n return s0;\n }\n\n function peg$parsews() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = [];\n if (peg$c39.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c40);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c39.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c40);\n }\n }\n }\n } else {\n s0 = peg$c2;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsews();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsews();\n }\n if (s1 !== peg$FAILED) {\n s1 = input.substring(s0, peg$currPos);\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c41);\n }\n }\n\n return s0;\n }\n\n function peg$parsedigit() {\n var s0;\n\n if (peg$c42.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n\n return s0;\n }\n\n function peg$parsehexDigit() {\n var s0;\n\n if (peg$c44.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c45);\n }\n }\n\n return s0;\n }\n\n function peg$parsenumber() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c46;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c47);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = peg$currPos;\n s2 = peg$currPos;\n if (peg$c48.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c49);\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsedigit();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsedigit();\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$c2;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$c2;\n }\n if (s2 !== peg$FAILED) {\n s2 = input.substring(s1, peg$currPos);\n }\n s1 = s2;\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c50(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsechar() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n if (peg$c51.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\n }\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c53) {\n s1 = peg$c53;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c55();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c56) {\n s1 = peg$c56;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c57);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c58();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c59) {\n s1 = peg$c59;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c60);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c61();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c62) {\n s1 = peg$c62;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c63);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c64();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c65) {\n s1 = peg$c65;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c66);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n s4 = peg$parsehexDigit();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsehexDigit();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsehexDigit();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsehexDigit();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$c2;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$c2;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$c2;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$c2;\n }\n if (s3 !== peg$FAILED) {\n s3 = input.substring(s2, peg$currPos);\n }\n s2 = s3;\n if (s2 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c67(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$c2;\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsechars() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsechar();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsechar();\n }\n } else {\n s1 = peg$c2;\n }\n if (s1 !== peg$FAILED) {\n peg$reportedPos = s0;\n s1 = peg$c68(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail({ type: \"end\", description: \"end of input\" });\n }\n\n throw peg$buildException(null, peg$maxFailExpected, peg$maxFailPos);\n }\n }\n\n return {\n SyntaxError: SyntaxError,\n parse: parse\n };\n}();\n\n//# sourceMappingURL=parser.js.map" + }, + { + "id": 430, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/en.js", + "name": "./node_modules/intl-messageformat/lib/en.js", + "index": 299, + "index2": 291, + "size": 472, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/main.js", + "issuerId": 424, + "issuerName": "./node_modules/intl-messageformat/lib/main.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 424, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/lib/main.js", + "module": "./node_modules/intl-messageformat/lib/main.js", + "moduleName": "./node_modules/intl-messageformat/lib/main.js", + "type": "cjs require", + "userRequest": "./en", + "loc": "6:15-30" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "// GENERATED FILE\n\"use strict\";\n\nexports[\"default\"] = { \"locale\": \"en\", \"pluralRuleFunction\": function (n, ord) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";return n == 1 && v0 ? \"one\" : \"other\";\n } };\n\n//# sourceMappingURL=en.js.map" + }, + { + "id": 431, + "identifier": "ignored /home/lambda/repos/mastodon/node_modules/intl-messageformat ./lib/locales", + "name": "./lib/locales (ignored)", + "index": 300, + "index2": 293, + "size": 15, + "cacheable": true, + "built": false, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/index.js", + "issuerId": 53, + "issuerName": "./node_modules/intl-messageformat/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 53, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-messageformat/index.js", + "module": "./node_modules/intl-messageformat/index.js", + "moduleName": "./node_modules/intl-messageformat/index.js", + "type": "cjs require", + "userRequest": "./lib/locales", + "loc": "9:0-24" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4 + }, + { + "id": 432, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/main.js", + "name": "./node_modules/intl-relativeformat/lib/main.js", + "index": 304, + "index2": 300, + "size": 293, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/index.js", + "issuerId": 64, + "issuerName": "./node_modules/intl-relativeformat/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 64, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/index.js", + "module": "./node_modules/intl-relativeformat/index.js", + "moduleName": "./node_modules/intl-relativeformat/index.js", + "type": "cjs require", + "userRequest": "./lib/main", + "loc": "5:25-46" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "/* jslint esnext: true */\n\n\"use strict\";\n\nvar src$core$$ = require(\"./core\"),\n src$en$$ = require(\"./en\");\n\nsrc$core$$[\"default\"].__addLocaleData(src$en$$[\"default\"]);\nsrc$core$$[\"default\"].defaultLocale = 'en';\n\nexports[\"default\"] = src$core$$[\"default\"];\n\n//# sourceMappingURL=main.js.map" + }, + { + "id": 433, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/core.js", + "name": "./node_modules/intl-relativeformat/lib/core.js", + "index": 305, + "index2": 298, + "size": 9623, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/main.js", + "issuerId": 432, + "issuerName": "./node_modules/intl-relativeformat/lib/main.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 432, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/main.js", + "module": "./node_modules/intl-relativeformat/lib/main.js", + "moduleName": "./node_modules/intl-relativeformat/lib/main.js", + "type": "cjs require", + "userRequest": "./core", + "loc": "5:17-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\n\nvar intl$messageformat$$ = require(\"intl-messageformat\"),\n src$diff$$ = require(\"./diff\"),\n src$es5$$ = require(\"./es5\");\nexports[\"default\"] = RelativeFormat;\n\n// -----------------------------------------------------------------------------\n\nvar FIELDS = ['second', 'second-short', 'minute', 'minute-short', 'hour', 'hour-short', 'day', 'day-short', 'month', 'month-short', 'year', 'year-short'];\nvar STYLES = ['best fit', 'numeric'];\n\n// -- RelativeFormat -----------------------------------------------------------\n\nfunction RelativeFormat(locales, options) {\n options = options || {};\n\n // Make a copy of `locales` if it's an array, so that it doesn't change\n // since it's used lazily.\n if (src$es5$$.isArray(locales)) {\n locales = locales.concat();\n }\n\n src$es5$$.defineProperty(this, '_locale', { value: this._resolveLocale(locales) });\n src$es5$$.defineProperty(this, '_options', { value: {\n style: this._resolveStyle(options.style),\n units: this._isValidUnits(options.units) && options.units\n } });\n\n src$es5$$.defineProperty(this, '_locales', { value: locales });\n src$es5$$.defineProperty(this, '_fields', { value: this._findFields(this._locale) });\n src$es5$$.defineProperty(this, '_messages', { value: src$es5$$.objCreate(null) });\n\n // \"Bind\" `format()` method to `this` so it can be passed by reference like\n // the other `Intl` APIs.\n var relativeFormat = this;\n this.format = function format(date, options) {\n return relativeFormat._format(date, options);\n };\n}\n\n// Define internal private properties for dealing with locale data.\nsrc$es5$$.defineProperty(RelativeFormat, '__localeData__', { value: src$es5$$.objCreate(null) });\nsrc$es5$$.defineProperty(RelativeFormat, '__addLocaleData', { value: function (data) {\n if (!(data && data.locale)) {\n throw new Error('Locale data provided to IntlRelativeFormat is missing a ' + '`locale` property value');\n }\n\n RelativeFormat.__localeData__[data.locale.toLowerCase()] = data;\n\n // Add data to IntlMessageFormat.\n intl$messageformat$$[\"default\"].__addLocaleData(data);\n } });\n\n// Define public `defaultLocale` property which can be set by the developer, or\n// it will be set when the first RelativeFormat instance is created by\n// leveraging the resolved locale from `Intl`.\nsrc$es5$$.defineProperty(RelativeFormat, 'defaultLocale', {\n enumerable: true,\n writable: true,\n value: undefined\n});\n\n// Define public `thresholds` property which can be set by the developer, and\n// defaults to relative time thresholds from moment.js.\nsrc$es5$$.defineProperty(RelativeFormat, 'thresholds', {\n enumerable: true,\n\n value: {\n second: 45, 'second-short': 45, // seconds to minute\n minute: 45, 'minute-short': 45, // minutes to hour\n hour: 22, 'hour-short': 22, // hours to day\n day: 26, 'day-short': 26, // days to month\n month: 11, 'month-short': 11 // months to year\n }\n});\n\nRelativeFormat.prototype.resolvedOptions = function () {\n return {\n locale: this._locale,\n style: this._options.style,\n units: this._options.units\n };\n};\n\nRelativeFormat.prototype._compileMessage = function (units) {\n // `this._locales` is the original set of locales the user specified to the\n // constructor, while `this._locale` is the resolved root locale.\n var locales = this._locales;\n var resolvedLocale = this._locale;\n\n var field = this._fields[units];\n var relativeTime = field.relativeTime;\n var future = '';\n var past = '';\n var i;\n\n for (i in relativeTime.future) {\n if (relativeTime.future.hasOwnProperty(i)) {\n future += ' ' + i + ' {' + relativeTime.future[i].replace('{0}', '#') + '}';\n }\n }\n\n for (i in relativeTime.past) {\n if (relativeTime.past.hasOwnProperty(i)) {\n past += ' ' + i + ' {' + relativeTime.past[i].replace('{0}', '#') + '}';\n }\n }\n\n var message = '{when, select, future {{0, plural, ' + future + '}}' + 'past {{0, plural, ' + past + '}}}';\n\n // Create the synthetic IntlMessageFormat instance using the original\n // locales value specified by the user when constructing the the parent\n // IntlRelativeFormat instance.\n return new intl$messageformat$$[\"default\"](message, locales);\n};\n\nRelativeFormat.prototype._getMessage = function (units) {\n var messages = this._messages;\n\n // Create a new synthetic message based on the locale data from CLDR.\n if (!messages[units]) {\n messages[units] = this._compileMessage(units);\n }\n\n return messages[units];\n};\n\nRelativeFormat.prototype._getRelativeUnits = function (diff, units) {\n var field = this._fields[units];\n\n if (field.relative) {\n return field.relative[diff];\n }\n};\n\nRelativeFormat.prototype._findFields = function (locale) {\n var localeData = RelativeFormat.__localeData__;\n var data = localeData[locale.toLowerCase()];\n\n // The locale data is de-duplicated, so we have to traverse the locale's\n // hierarchy until we find `fields` to return.\n while (data) {\n if (data.fields) {\n return data.fields;\n }\n\n data = data.parentLocale && localeData[data.parentLocale.toLowerCase()];\n }\n\n throw new Error('Locale data added to IntlRelativeFormat is missing `fields` for :' + locale);\n};\n\nRelativeFormat.prototype._format = function (date, options) {\n var now = options && options.now !== undefined ? options.now : src$es5$$.dateNow();\n\n if (date === undefined) {\n date = now;\n }\n\n // Determine if the `date` and optional `now` values are valid, and throw a\n // similar error to what `Intl.DateTimeFormat#format()` would throw.\n if (!isFinite(now)) {\n throw new RangeError('The `now` option provided to IntlRelativeFormat#format() is not ' + 'in valid range.');\n }\n\n if (!isFinite(date)) {\n throw new RangeError('The date value provided to IntlRelativeFormat#format() is not ' + 'in valid range.');\n }\n\n var diffReport = src$diff$$[\"default\"](now, date);\n var units = this._options.units || this._selectUnits(diffReport);\n var diffInUnits = diffReport[units];\n\n if (this._options.style !== 'numeric') {\n var relativeUnits = this._getRelativeUnits(diffInUnits, units);\n if (relativeUnits) {\n return relativeUnits;\n }\n }\n\n return this._getMessage(units).format({\n '0': Math.abs(diffInUnits),\n when: diffInUnits < 0 ? 'past' : 'future'\n });\n};\n\nRelativeFormat.prototype._isValidUnits = function (units) {\n if (!units || src$es5$$.arrIndexOf.call(FIELDS, units) >= 0) {\n return true;\n }\n\n if (typeof units === 'string') {\n var suggestion = /s$/.test(units) && units.substr(0, units.length - 1);\n if (suggestion && src$es5$$.arrIndexOf.call(FIELDS, suggestion) >= 0) {\n throw new Error('\"' + units + '\" is not a valid IntlRelativeFormat `units` ' + 'value, did you mean: ' + suggestion);\n }\n }\n\n throw new Error('\"' + units + '\" is not a valid IntlRelativeFormat `units` value, it ' + 'must be one of: \"' + FIELDS.join('\", \"') + '\"');\n};\n\nRelativeFormat.prototype._resolveLocale = function (locales) {\n if (typeof locales === 'string') {\n locales = [locales];\n }\n\n // Create a copy of the array so we can push on the default locale.\n locales = (locales || []).concat(RelativeFormat.defaultLocale);\n\n var localeData = RelativeFormat.__localeData__;\n var i, len, localeParts, data;\n\n // Using the set of locales + the default locale, we look for the first one\n // which that has been registered. When data does not exist for a locale, we\n // traverse its ancestors to find something that's been registered within\n // its hierarchy of locales. Since we lack the proper `parentLocale` data\n // here, we must take a naive approach to traversal.\n for (i = 0, len = locales.length; i < len; i += 1) {\n localeParts = locales[i].toLowerCase().split('-');\n\n while (localeParts.length) {\n data = localeData[localeParts.join('-')];\n if (data) {\n // Return the normalized locale string; e.g., we return \"en-US\",\n // instead of \"en-us\".\n return data.locale;\n }\n\n localeParts.pop();\n }\n }\n\n var defaultLocale = locales.pop();\n throw new Error('No locale data has been added to IntlRelativeFormat for: ' + locales.join(', ') + ', or the default locale: ' + defaultLocale);\n};\n\nRelativeFormat.prototype._resolveStyle = function (style) {\n // Default to \"best fit\" style.\n if (!style) {\n return STYLES[0];\n }\n\n if (src$es5$$.arrIndexOf.call(STYLES, style) >= 0) {\n return style;\n }\n\n throw new Error('\"' + style + '\" is not a valid IntlRelativeFormat `style` value, it ' + 'must be one of: \"' + STYLES.join('\", \"') + '\"');\n};\n\nRelativeFormat.prototype._selectUnits = function (diffReport) {\n var i, l, units;\n var fields = FIELDS.filter(function (field) {\n return field.indexOf('-short') < 1;\n });\n\n for (i = 0, l = fields.length; i < l; i += 1) {\n units = fields[i];\n\n if (Math.abs(diffReport[units]) < RelativeFormat.thresholds[units]) {\n break;\n }\n }\n\n return units;\n};\n\n//# sourceMappingURL=core.js.map" + }, + { + "id": 434, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/diff.js", + "name": "./node_modules/intl-relativeformat/lib/diff.js", + "index": 306, + "index2": 296, + "size": 1233, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/core.js", + "issuerId": 433, + "issuerName": "./node_modules/intl-relativeformat/lib/core.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 433, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/core.js", + "module": "./node_modules/intl-relativeformat/lib/core.js", + "moduleName": "./node_modules/intl-relativeformat/lib/core.js", + "type": "cjs require", + "userRequest": "./diff", + "loc": "12:17-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\n\nvar round = Math.round;\n\nfunction daysToYears(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n return days * 400 / 146097;\n}\n\nexports[\"default\"] = function (from, to) {\n // Convert to ms timestamps.\n from = +from;\n to = +to;\n\n var millisecond = round(to - from),\n second = round(millisecond / 1000),\n minute = round(second / 60),\n hour = round(minute / 60),\n day = round(hour / 24),\n week = round(day / 7);\n\n var rawYears = daysToYears(day),\n month = round(rawYears * 12),\n year = round(rawYears);\n\n return {\n millisecond: millisecond,\n second: second,\n 'second-short': second,\n minute: minute,\n 'minute-short': minute,\n hour: hour,\n 'hour-short': hour,\n day: day,\n 'day-short': day,\n week: week,\n 'week-short': week,\n month: month,\n 'month-short': month,\n year: year,\n 'year-short': year\n };\n};\n\n//# sourceMappingURL=diff.js.map" + }, + { + "id": 435, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/es5.js", + "name": "./node_modules/intl-relativeformat/lib/es5.js", + "index": 307, + "index2": 297, + "size": 1890, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/core.js", + "issuerId": 433, + "issuerName": "./node_modules/intl-relativeformat/lib/core.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 433, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/core.js", + "module": "./node_modules/intl-relativeformat/lib/core.js", + "moduleName": "./node_modules/intl-relativeformat/lib/core.js", + "type": "cjs require", + "userRequest": "./es5", + "loc": "13:16-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n// Purposely using the same implementation as the Intl.js `Intl` polyfill.\n// Copyright 2013 Andy Earnshaw, MIT License\n\n\"use strict\";\n\nvar hop = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nvar realDefineProp = function () {\n try {\n return !!Object.defineProperty({}, 'a', {});\n } catch (e) {\n return false;\n }\n}();\n\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\nvar defineProperty = realDefineProp ? Object.defineProperty : function (obj, name, desc) {\n\n if ('get' in desc && obj.__defineGetter__) {\n obj.__defineGetter__(name, desc.get);\n } else if (!hop.call(obj, name) || 'value' in desc) {\n obj[name] = desc.value;\n }\n};\n\nvar objCreate = Object.create || function (proto, props) {\n var obj, k;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (k in props) {\n if (hop.call(props, k)) {\n defineProperty(obj, k, props[k]);\n }\n }\n\n return obj;\n};\n\nvar arrIndexOf = Array.prototype.indexOf || function (search, fromIndex) {\n /*jshint validthis:true */\n var arr = this;\n if (!arr.length) {\n return -1;\n }\n\n for (var i = fromIndex || 0, max = arr.length; i < max; i++) {\n if (arr[i] === search) {\n return i;\n }\n }\n\n return -1;\n};\n\nvar isArray = Array.isArray || function (obj) {\n return toString.call(obj) === '[object Array]';\n};\n\nvar dateNow = Date.now || function () {\n return new Date().getTime();\n};\n\nexports.defineProperty = defineProperty, exports.objCreate = objCreate, exports.arrIndexOf = arrIndexOf, exports.isArray = isArray, exports.dateNow = dateNow;\n\n//# sourceMappingURL=es5.js.map" + }, + { + "id": 436, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/en.js", + "name": "./node_modules/intl-relativeformat/lib/en.js", + "index": 308, + "index2": 299, + "size": 3253, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/main.js", + "issuerId": 432, + "issuerName": "./node_modules/intl-relativeformat/lib/main.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 432, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/lib/main.js", + "module": "./node_modules/intl-relativeformat/lib/main.js", + "moduleName": "./node_modules/intl-relativeformat/lib/main.js", + "type": "cjs require", + "userRequest": "./en", + "loc": "6:15-30" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "// GENERATED FILE\n\"use strict\";\n\nexports[\"default\"] = { \"locale\": \"en\", \"pluralRuleFunction\": function (n, ord) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";return n == 1 && v0 ? \"one\" : \"other\";\n }, \"fields\": { \"year\": { \"displayName\": \"year\", \"relative\": { \"0\": \"this year\", \"1\": \"next year\", \"-1\": \"last year\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} year\", \"other\": \"in {0} years\" }, \"past\": { \"one\": \"{0} year ago\", \"other\": \"{0} years ago\" } } }, \"year-short\": { \"displayName\": \"yr.\", \"relative\": { \"0\": \"this yr.\", \"1\": \"next yr.\", \"-1\": \"last yr.\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} yr.\", \"other\": \"in {0} yr.\" }, \"past\": { \"one\": \"{0} yr. ago\", \"other\": \"{0} yr. ago\" } } }, \"month\": { \"displayName\": \"month\", \"relative\": { \"0\": \"this month\", \"1\": \"next month\", \"-1\": \"last month\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} month\", \"other\": \"in {0} months\" }, \"past\": { \"one\": \"{0} month ago\", \"other\": \"{0} months ago\" } } }, \"month-short\": { \"displayName\": \"mo.\", \"relative\": { \"0\": \"this mo.\", \"1\": \"next mo.\", \"-1\": \"last mo.\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} mo.\", \"other\": \"in {0} mo.\" }, \"past\": { \"one\": \"{0} mo. ago\", \"other\": \"{0} mo. ago\" } } }, \"day\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"day-short\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"hour\": { \"displayName\": \"hour\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hour\", \"other\": \"in {0} hours\" }, \"past\": { \"one\": \"{0} hour ago\", \"other\": \"{0} hours ago\" } } }, \"hour-short\": { \"displayName\": \"hr.\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hr.\", \"other\": \"in {0} hr.\" }, \"past\": { \"one\": \"{0} hr. ago\", \"other\": \"{0} hr. ago\" } } }, \"minute\": { \"displayName\": \"minute\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} minute\", \"other\": \"in {0} minutes\" }, \"past\": { \"one\": \"{0} minute ago\", \"other\": \"{0} minutes ago\" } } }, \"minute-short\": { \"displayName\": \"min.\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} min.\", \"other\": \"in {0} min.\" }, \"past\": { \"one\": \"{0} min. ago\", \"other\": \"{0} min. ago\" } } }, \"second\": { \"displayName\": \"second\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} second\", \"other\": \"in {0} seconds\" }, \"past\": { \"one\": \"{0} second ago\", \"other\": \"{0} seconds ago\" } } }, \"second-short\": { \"displayName\": \"sec.\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} sec.\", \"other\": \"in {0} sec.\" }, \"past\": { \"one\": \"{0} sec. ago\", \"other\": \"{0} sec. ago\" } } } } };\n\n//# sourceMappingURL=en.js.map" + }, + { + "id": 437, + "identifier": "ignored /home/lambda/repos/mastodon/node_modules/intl-relativeformat ./lib/locales", + "name": "./lib/locales (ignored)", + "index": 309, + "index2": 301, + "size": 15, + "cacheable": true, + "built": false, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/index.js", + "issuerId": 64, + "issuerName": "./node_modules/intl-relativeformat/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 64, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-relativeformat/index.js", + "module": "./node_modules/intl-relativeformat/index.js", + "moduleName": "./node_modules/intl-relativeformat/index.js", + "type": "cjs require", + "userRequest": "./lib/locales", + "loc": "9:0-24" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2 + }, + { + "id": 438, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-format-cache/lib/memoizer.js", + "name": "./node_modules/intl-format-cache/lib/memoizer.js", + "index": 311, + "index2": 304, + "size": 1736, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-format-cache/index.js", + "issuerId": 82, + "issuerName": "./node_modules/intl-format-cache/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 82, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-format-cache/index.js", + "module": "./node_modules/intl-format-cache/index.js", + "moduleName": "./node_modules/intl-format-cache/index.js", + "type": "cjs require", + "userRequest": "./lib/memoizer", + "loc": "3:27-52" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "\"use strict\";\n\nvar src$es5$$ = require(\"./es5\");\nexports[\"default\"] = createFormatCache;\n\n// -----------------------------------------------------------------------------\n\nfunction createFormatCache(FormatConstructor) {\n var cache = src$es5$$.objCreate(null);\n\n return function () {\n var args = Array.prototype.slice.call(arguments);\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n\n if (!format) {\n format = new (src$es5$$.bind.apply(FormatConstructor, [null].concat(args)))();\n\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n\n return format;\n };\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction getCacheId(inputs) {\n // When JSON is not available in the runtime, we will not create a cache id.\n if (typeof JSON === 'undefined') {\n return;\n }\n\n var cacheId = [];\n\n var i, len, input;\n\n for (i = 0, len = inputs.length; i < len; i += 1) {\n input = inputs[i];\n\n if (input && typeof input === 'object') {\n cacheId.push(orderedProps(input));\n } else {\n cacheId.push(input);\n }\n }\n\n return JSON.stringify(cacheId);\n}\n\nfunction orderedProps(obj) {\n var props = [],\n keys = [];\n\n var key, i, len, prop;\n\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n\n var orderedKeys = keys.sort();\n\n for (i = 0, len = orderedKeys.length; i < len; i += 1) {\n key = orderedKeys[i];\n prop = {};\n\n prop[key] = obj[key];\n props[i] = prop;\n }\n\n return props;\n}\n\n//# sourceMappingURL=memoizer.js.map" + }, + { + "id": 439, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-format-cache/lib/es5.js", + "name": "./node_modules/intl-format-cache/lib/es5.js", + "index": 312, + "index2": 303, + "size": 2201, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-format-cache/lib/memoizer.js", + "issuerId": 438, + "issuerName": "./node_modules/intl-format-cache/lib/memoizer.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 438, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/intl-format-cache/lib/memoizer.js", + "module": "./node_modules/intl-format-cache/lib/memoizer.js", + "moduleName": "./node_modules/intl-format-cache/lib/memoizer.js", + "type": "cjs require", + "userRequest": "./es5", + "loc": "3:16-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n// Function.prototype.bind implementation from Mozilla Developer Network:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill\n\nvar bind = Function.prototype.bind || function (oThis) {\n if (typeof this !== 'function') {\n // closest thing possible to the ECMAScript 5\n // internal IsCallable function\n throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function () {},\n fBound = function () {\n return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n if (this.prototype) {\n // native functions don't have a prototype\n fNOP.prototype = this.prototype;\n }\n fBound.prototype = new fNOP();\n\n return fBound;\n};\n\n// Purposely using the same implementation as the Intl.js `Intl` polyfill.\n// Copyright 2013 Andy Earnshaw, MIT License\n\nvar hop = Object.prototype.hasOwnProperty;\n\nvar realDefineProp = function () {\n try {\n return !!Object.defineProperty({}, 'a', {});\n } catch (e) {\n return false;\n }\n}();\n\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\nvar defineProperty = realDefineProp ? Object.defineProperty : function (obj, name, desc) {\n\n if ('get' in desc && obj.__defineGetter__) {\n obj.__defineGetter__(name, desc.get);\n } else if (!hop.call(obj, name) || 'value' in desc) {\n obj[name] = desc.value;\n }\n};\n\nvar objCreate = Object.create || function (proto, props) {\n var obj, k;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (k in props) {\n if (hop.call(props, k)) {\n defineProperty(obj, k, props[k]);\n }\n }\n\n return obj;\n};\n\nexports.bind = bind, exports.defineProperty = defineProperty, exports.objCreate = objCreate;\n\n//# sourceMappingURL=es5.js.map" + }, + { + "id": 440, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/unicode_to_filename.js", + "name": "./app/javascript/mastodon/features/emoji/unicode_to_filename.js", + "index": 317, + "index2": 310, + "size": 663, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "issuerId": 160, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 160, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "module": "./app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji_unicode_mapping_light.js", + "type": "cjs require", + "userRequest": "./unicode_to_filename", + "loc": "13:16-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "// taken from:\n// https://github.com/twitter/twemoji/blob/47732c7/twemoji-generator.js#L848-L866\nexports.unicodeToFilename = function (str) {\n var result = '';\n var charCode = 0;\n var p = 0;\n var i = 0;\n while (i < str.length) {\n charCode = str.charCodeAt(i++);\n if (p) {\n if (result.length > 0) {\n result += '-';\n }\n result += (0x10000 + (p - 0xD800 << 10) + (charCode - 0xDC00)).toString(16);\n p = 0;\n } else if (0xD800 <= charCode && charCode <= 0xDBFF) {\n p = charCode;\n } else {\n if (result.length > 0) {\n result += '-';\n }\n result += charCode.toString(16);\n }\n }\n return result;\n};" + }, + { + "id": 441, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/substring-trie/index.js", + "name": "./node_modules/substring-trie/index.js", + "index": 318, + "index2": 312, + "size": 824, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji.js", + "issuerId": 60, + "issuerName": "./app/javascript/mastodon/features/emoji/emoji.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 60, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/emoji/emoji.js", + "module": "./app/javascript/mastodon/features/emoji/emoji.js", + "moduleName": "./app/javascript/mastodon/features/emoji/emoji.js", + "type": "harmony import", + "userRequest": "substring-trie", + "loc": "3:0-34" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "'use strict';\n\nvar CODA_MARKER = '$$'; // marks the end of the string\n\nfunction MiniTrie(words) {\n this._dict = {};\n for (var i = 0, len = words.length; i < len; i++) {\n var word = words[i];\n var dict = this._dict;\n for (var j = 0, len2 = word.length; j < len2; j++) {\n var char = word.charAt(j);\n dict = dict[char] = dict[char] || {};\n }\n dict[CODA_MARKER] = true;\n }\n}\n\nMiniTrie.prototype.search = function (str) {\n var i = -1;\n var len = str.length;\n var stack = [this._dict];\n while (++i < len) {\n var dict = stack[i];\n var char = str.charAt(i);\n if (char in dict) {\n stack.push(dict[char]);\n } else {\n break;\n }\n }\n while (stack.length) {\n if (stack.pop()[CODA_MARKER]) {\n return str.substring(0, stack.length);\n }\n }\n};\n\nmodule.exports = MiniTrie;" + }, + { + "id": 442, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/accounts_counters.js", + "name": "./app/javascript/mastodon/reducers/accounts_counters.js", + "index": 320, + "index2": 316, + "size": 4503, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./accounts_counters", + "loc": "9:0-52" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { ACCOUNT_FETCH_SUCCESS, FOLLOWERS_FETCH_SUCCESS, FOLLOWERS_EXPAND_SUCCESS, FOLLOWING_FETCH_SUCCESS, FOLLOWING_EXPAND_SUCCESS, FOLLOW_REQUESTS_FETCH_SUCCESS, FOLLOW_REQUESTS_EXPAND_SUCCESS, ACCOUNT_FOLLOW_SUCCESS, ACCOUNT_UNFOLLOW_SUCCESS } from '../actions/accounts';\nimport { BLOCKS_FETCH_SUCCESS, BLOCKS_EXPAND_SUCCESS } from '../actions/blocks';\nimport { MUTES_FETCH_SUCCESS, MUTES_EXPAND_SUCCESS } from '../actions/mutes';\nimport { COMPOSE_SUGGESTIONS_READY } from '../actions/compose';\nimport { REBLOG_SUCCESS, UNREBLOG_SUCCESS, FAVOURITE_SUCCESS, UNFAVOURITE_SUCCESS, REBLOGS_FETCH_SUCCESS, FAVOURITES_FETCH_SUCCESS } from '../actions/interactions';\nimport { TIMELINE_REFRESH_SUCCESS, TIMELINE_UPDATE, TIMELINE_EXPAND_SUCCESS } from '../actions/timelines';\nimport { STATUS_FETCH_SUCCESS, CONTEXT_FETCH_SUCCESS } from '../actions/statuses';\nimport { SEARCH_FETCH_SUCCESS } from '../actions/search';\nimport { NOTIFICATIONS_UPDATE, NOTIFICATIONS_REFRESH_SUCCESS, NOTIFICATIONS_EXPAND_SUCCESS } from '../actions/notifications';\nimport { FAVOURITED_STATUSES_FETCH_SUCCESS, FAVOURITED_STATUSES_EXPAND_SUCCESS } from '../actions/favourites';\nimport { STORE_HYDRATE } from '../actions/store';\nimport { Map as ImmutableMap, fromJS } from 'immutable';\n\nvar normalizeAccount = function normalizeAccount(state, account) {\n return state.set(account.id, fromJS({\n followers_count: account.followers_count,\n following_count: account.following_count,\n statuses_count: account.statuses_count\n }));\n};\n\nvar normalizeAccounts = function normalizeAccounts(state, accounts) {\n accounts.forEach(function (account) {\n state = normalizeAccount(state, account);\n });\n\n return state;\n};\n\nvar normalizeAccountFromStatus = function normalizeAccountFromStatus(state, status) {\n state = normalizeAccount(state, status.account);\n\n if (status.reblog && status.reblog.account) {\n state = normalizeAccount(state, status.reblog.account);\n }\n\n return state;\n};\n\nvar normalizeAccountsFromStatuses = function normalizeAccountsFromStatuses(state, statuses) {\n statuses.forEach(function (status) {\n state = normalizeAccountFromStatus(state, status);\n });\n\n return state;\n};\n\nvar initialState = ImmutableMap();\n\nexport default function accountsCounters() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case STORE_HYDRATE:\n return state.merge(action.state.get('accounts').map(function (item) {\n return fromJS({\n followers_count: item.get('followers_count'),\n following_count: item.get('following_count'),\n statuses_count: item.get('statuses_count')\n });\n }));\n case ACCOUNT_FETCH_SUCCESS:\n case NOTIFICATIONS_UPDATE:\n return normalizeAccount(state, action.account);\n case FOLLOWERS_FETCH_SUCCESS:\n case FOLLOWERS_EXPAND_SUCCESS:\n case FOLLOWING_FETCH_SUCCESS:\n case FOLLOWING_EXPAND_SUCCESS:\n case REBLOGS_FETCH_SUCCESS:\n case FAVOURITES_FETCH_SUCCESS:\n case COMPOSE_SUGGESTIONS_READY:\n case FOLLOW_REQUESTS_FETCH_SUCCESS:\n case FOLLOW_REQUESTS_EXPAND_SUCCESS:\n case BLOCKS_FETCH_SUCCESS:\n case BLOCKS_EXPAND_SUCCESS:\n case MUTES_FETCH_SUCCESS:\n case MUTES_EXPAND_SUCCESS:\n return action.accounts ? normalizeAccounts(state, action.accounts) : state;\n case NOTIFICATIONS_REFRESH_SUCCESS:\n case NOTIFICATIONS_EXPAND_SUCCESS:\n case SEARCH_FETCH_SUCCESS:\n return normalizeAccountsFromStatuses(normalizeAccounts(state, action.accounts), action.statuses);\n case TIMELINE_REFRESH_SUCCESS:\n case TIMELINE_EXPAND_SUCCESS:\n case CONTEXT_FETCH_SUCCESS:\n case FAVOURITED_STATUSES_FETCH_SUCCESS:\n case FAVOURITED_STATUSES_EXPAND_SUCCESS:\n return normalizeAccountsFromStatuses(state, action.statuses);\n case REBLOG_SUCCESS:\n case FAVOURITE_SUCCESS:\n case UNREBLOG_SUCCESS:\n case UNFAVOURITE_SUCCESS:\n return normalizeAccountFromStatus(state, action.response);\n case TIMELINE_UPDATE:\n case STATUS_FETCH_SUCCESS:\n return normalizeAccountFromStatus(state, action.status);\n case ACCOUNT_FOLLOW_SUCCESS:\n return state.updateIn([action.relationship.id, 'followers_count'], function (num) {\n return num + 1;\n });\n case ACCOUNT_UNFOLLOW_SUCCESS:\n return state.updateIn([action.relationship.id, 'followers_count'], function (num) {\n return Math.max(0, num - 1);\n });\n default:\n return state;\n }\n};" + }, + { + "id": 443, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/statuses.js", + "name": "./app/javascript/mastodon/reducers/statuses.js", + "index": 321, + "index2": 318, + "size": 4661, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./statuses", + "loc": "10:0-34" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { REBLOG_REQUEST, REBLOG_SUCCESS, REBLOG_FAIL, UNREBLOG_SUCCESS, FAVOURITE_REQUEST, FAVOURITE_SUCCESS, FAVOURITE_FAIL, UNFAVOURITE_SUCCESS, PIN_SUCCESS, UNPIN_SUCCESS } from '../actions/interactions';\nimport { STATUS_FETCH_SUCCESS, CONTEXT_FETCH_SUCCESS, STATUS_MUTE_SUCCESS, STATUS_UNMUTE_SUCCESS } from '../actions/statuses';\nimport { TIMELINE_REFRESH_SUCCESS, TIMELINE_UPDATE, TIMELINE_DELETE, TIMELINE_EXPAND_SUCCESS } from '../actions/timelines';\nimport { ACCOUNT_BLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS } from '../actions/accounts';\nimport { NOTIFICATIONS_UPDATE, NOTIFICATIONS_REFRESH_SUCCESS, NOTIFICATIONS_EXPAND_SUCCESS } from '../actions/notifications';\nimport { FAVOURITED_STATUSES_FETCH_SUCCESS, FAVOURITED_STATUSES_EXPAND_SUCCESS } from '../actions/favourites';\nimport { PINNED_STATUSES_FETCH_SUCCESS } from '../actions/pin_statuses';\nimport { SEARCH_FETCH_SUCCESS } from '../actions/search';\nimport emojify from '../features/emoji/emoji';\nimport { Map as ImmutableMap, fromJS } from 'immutable';\nimport escapeTextContentForBrowser from 'escape-html';\n\nvar domParser = new DOMParser();\n\nvar normalizeStatus = function normalizeStatus(state, status) {\n if (!status) {\n return state;\n }\n\n var normalStatus = Object.assign({}, status);\n normalStatus.account = status.account.id;\n\n if (status.reblog && status.reblog.id) {\n state = normalizeStatus(state, status.reblog);\n normalStatus.reblog = status.reblog.id;\n }\n\n console.log(normalStatus);\n\n var searchContent = [status.spoiler_text, status.content].join('\\n\\n').replace(/
/g, '\\n').replace(/<\\/p>

/g, '\\n\\n');\n\n var emojiMap = normalStatus.emojis.reduce(function (obj, emoji) {\n obj[':' + emoji.shortcode + ':'] = emoji;\n return obj;\n }, {});\n\n normalStatus.search_index = domParser.parseFromString(searchContent, 'text/html').documentElement.textContent;\n normalStatus.contentHtml = emojify(normalStatus.content, emojiMap);\n normalStatus.spoilerHtml = emojify(escapeTextContentForBrowser(normalStatus.spoiler_text || ''), emojiMap);\n\n return state.update(status.id, ImmutableMap(), function (map) {\n return map.mergeDeep(fromJS(normalStatus));\n });\n};\n\nvar normalizeStatuses = function normalizeStatuses(state, statuses) {\n statuses.forEach(function (status) {\n state = normalizeStatus(state, status);\n });\n\n return state;\n};\n\nvar deleteStatus = function deleteStatus(state, id, references) {\n references.forEach(function (ref) {\n state = deleteStatus(state, ref[0], []);\n });\n\n return state.delete(id);\n};\n\nvar filterStatuses = function filterStatuses(state, relationship) {\n state.forEach(function (status) {\n if (status.get('account') !== relationship.id) {\n return;\n }\n\n state = deleteStatus(state, status.get('id'), state.filter(function (item) {\n return item.get('reblog') === status.get('id');\n }));\n });\n\n return state;\n};\n\nvar initialState = ImmutableMap();\n\nexport default function statuses() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case TIMELINE_UPDATE:\n case STATUS_FETCH_SUCCESS:\n case NOTIFICATIONS_UPDATE:\n return normalizeStatus(state, action.status);\n case REBLOG_SUCCESS:\n case UNREBLOG_SUCCESS:\n case FAVOURITE_SUCCESS:\n case UNFAVOURITE_SUCCESS:\n case PIN_SUCCESS:\n case UNPIN_SUCCESS:\n return normalizeStatus(state, action.response);\n case FAVOURITE_REQUEST:\n return state.setIn([action.status.get('id'), 'favourited'], true);\n case FAVOURITE_FAIL:\n return state.setIn([action.status.get('id'), 'favourited'], false);\n case REBLOG_REQUEST:\n return state.setIn([action.status.get('id'), 'reblogged'], true);\n case REBLOG_FAIL:\n return state.setIn([action.status.get('id'), 'reblogged'], false);\n case STATUS_MUTE_SUCCESS:\n return state.setIn([action.id, 'muted'], true);\n case STATUS_UNMUTE_SUCCESS:\n return state.setIn([action.id, 'muted'], false);\n case TIMELINE_REFRESH_SUCCESS:\n case TIMELINE_EXPAND_SUCCESS:\n case CONTEXT_FETCH_SUCCESS:\n case NOTIFICATIONS_REFRESH_SUCCESS:\n case NOTIFICATIONS_EXPAND_SUCCESS:\n case FAVOURITED_STATUSES_FETCH_SUCCESS:\n case FAVOURITED_STATUSES_EXPAND_SUCCESS:\n case PINNED_STATUSES_FETCH_SUCCESS:\n case SEARCH_FETCH_SUCCESS:\n return normalizeStatuses(state, action.statuses);\n case TIMELINE_DELETE:\n return deleteStatus(state, action.id, action.references);\n case ACCOUNT_BLOCK_SUCCESS:\n case ACCOUNT_MUTE_SUCCESS:\n return filterStatuses(state, action.relationship);\n default:\n return state;\n }\n};" + }, + { + "id": 444, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/relationships.js", + "name": "./app/javascript/mastodon/reducers/relationships.js", + "index": 323, + "index2": 320, + "size": 1562, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./relationships", + "loc": "11:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { ACCOUNT_FOLLOW_SUCCESS, ACCOUNT_UNFOLLOW_SUCCESS, ACCOUNT_BLOCK_SUCCESS, ACCOUNT_UNBLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS, ACCOUNT_UNMUTE_SUCCESS, RELATIONSHIPS_FETCH_SUCCESS } from '../actions/accounts';\nimport { DOMAIN_BLOCK_SUCCESS, DOMAIN_UNBLOCK_SUCCESS } from '../actions/domain_blocks';\nimport { Map as ImmutableMap, fromJS } from 'immutable';\n\nvar normalizeRelationship = function normalizeRelationship(state, relationship) {\n return state.set(relationship.id, fromJS(relationship));\n};\n\nvar normalizeRelationships = function normalizeRelationships(state, relationships) {\n relationships.forEach(function (relationship) {\n state = normalizeRelationship(state, relationship);\n });\n\n return state;\n};\n\nvar initialState = ImmutableMap();\n\nexport default function relationships() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case ACCOUNT_FOLLOW_SUCCESS:\n case ACCOUNT_UNFOLLOW_SUCCESS:\n case ACCOUNT_BLOCK_SUCCESS:\n case ACCOUNT_UNBLOCK_SUCCESS:\n case ACCOUNT_MUTE_SUCCESS:\n case ACCOUNT_UNMUTE_SUCCESS:\n return normalizeRelationship(state, action.relationship);\n case RELATIONSHIPS_FETCH_SUCCESS:\n return normalizeRelationships(state, action.relationships);\n case DOMAIN_BLOCK_SUCCESS:\n return state.setIn([action.accountId, 'domain_blocking'], true);\n case DOMAIN_UNBLOCK_SUCCESS:\n return state.setIn([action.accountId, 'domain_blocking'], false);\n default:\n return state;\n }\n};" + }, + { + "id": 445, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/settings.js", + "name": "./app/javascript/mastodon/reducers/settings.js", + "index": 325, + "index2": 323, + "size": 3286, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./settings", + "loc": "12:0-34" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { SETTING_CHANGE, SETTING_SAVE } from '../actions/settings';\nimport { COLUMN_ADD, COLUMN_REMOVE, COLUMN_MOVE } from '../actions/columns';\nimport { STORE_HYDRATE } from '../actions/store';\nimport { EMOJI_USE } from '../actions/emojis';\nimport { Map as ImmutableMap, fromJS } from 'immutable';\nimport uuid from '../uuid';\n\nvar initialState = ImmutableMap({\n saved: true,\n\n onboarded: false,\n\n skinTone: 1,\n\n home: ImmutableMap({\n shows: ImmutableMap({\n reblog: true,\n reply: true\n }),\n\n regex: ImmutableMap({\n body: ''\n })\n }),\n\n notifications: ImmutableMap({\n alerts: ImmutableMap({\n follow: true,\n favourite: true,\n reblog: true,\n mention: true\n }),\n\n shows: ImmutableMap({\n follow: true,\n favourite: true,\n reblog: true,\n mention: true\n }),\n\n sounds: ImmutableMap({\n follow: true,\n favourite: true,\n reblog: true,\n mention: true\n })\n }),\n\n community: ImmutableMap({\n regex: ImmutableMap({\n body: ''\n })\n }),\n\n public: ImmutableMap({\n regex: ImmutableMap({\n body: ''\n })\n })\n});\n\nvar defaultColumns = fromJS([{ id: 'COMPOSE', uuid: uuid(), params: {} }, { id: 'HOME', uuid: uuid(), params: {} }, { id: 'NOTIFICATIONS', uuid: uuid(), params: {} }]);\n\nvar hydrate = function hydrate(state, settings) {\n return state.mergeDeep(settings).update('columns', function () {\n var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultColumns;\n return val;\n });\n};\n\nvar moveColumn = function moveColumn(state, uuid, direction) {\n var columns = state.get('columns');\n var index = columns.findIndex(function (item) {\n return item.get('uuid') === uuid;\n });\n var newIndex = index + direction;\n\n var newColumns = void 0;\n\n newColumns = columns.splice(index, 1);\n newColumns = newColumns.splice(newIndex, 0, columns.get(index));\n\n return state.set('columns', newColumns).set('saved', false);\n};\n\nvar updateFrequentEmojis = function updateFrequentEmojis(state, emoji) {\n return state.update('frequentlyUsedEmojis', ImmutableMap(), function (map) {\n return map.update(emoji.id, 0, function (count) {\n return count + 1;\n });\n }).set('saved', false);\n};\n\nexport default function settings() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case STORE_HYDRATE:\n return hydrate(state, action.state.get('settings'));\n case SETTING_CHANGE:\n return state.setIn(action.key, action.value).set('saved', false);\n case COLUMN_ADD:\n return state.update('columns', function (list) {\n return list.push(fromJS({ id: action.id, uuid: uuid(), params: action.params }));\n }).set('saved', false);\n case COLUMN_REMOVE:\n return state.update('columns', function (list) {\n return list.filterNot(function (item) {\n return item.get('uuid') === action.uuid;\n });\n }).set('saved', false);\n case COLUMN_MOVE:\n return moveColumn(state, action.uuid, action.direction);\n case EMOJI_USE:\n return updateFrequentEmojis(state, action.emoji);\n case SETTING_SAVE:\n return state.set('saved', true);\n default:\n return state;\n }\n};" + }, + { + "id": 446, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/push_notifications.js", + "name": "./app/javascript/mastodon/reducers/push_notifications.js", + "index": 328, + "index2": 325, + "size": 1614, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./push_notifications", + "loc": "13:0-54" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { STORE_HYDRATE } from '../actions/store';\nimport { SET_BROWSER_SUPPORT, SET_SUBSCRIPTION, CLEAR_SUBSCRIPTION, ALERTS_CHANGE } from '../actions/push_notifications';\nimport Immutable from 'immutable';\n\nvar initialState = Immutable.Map({\n subscription: null,\n alerts: new Immutable.Map({\n follow: false,\n favourite: false,\n reblog: false,\n mention: false\n }),\n isSubscribed: false,\n browserSupport: false\n});\n\nexport default function push_subscriptions() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case STORE_HYDRATE:\n {\n var push_subscription = action.state.get('push_subscription');\n\n if (push_subscription) {\n return state.set('subscription', new Immutable.Map({\n id: push_subscription.get('id'),\n endpoint: push_subscription.get('endpoint')\n })).set('alerts', push_subscription.get('alerts') || initialState.get('alerts')).set('isSubscribed', true);\n }\n\n return state;\n }\n case SET_SUBSCRIPTION:\n return state.set('subscription', new Immutable.Map({\n id: action.subscription.id,\n endpoint: action.subscription.endpoint\n })).set('alerts', new Immutable.Map(action.subscription.alerts)).set('isSubscribed', true);\n case SET_BROWSER_SUPPORT:\n return state.set('browserSupport', action.value);\n case CLEAR_SUBSCRIPTION:\n return initialState;\n case ALERTS_CHANGE:\n return state.setIn(action.key, action.value);\n default:\n return state;\n }\n};" + }, + { + "id": 447, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/status_lists.js", + "name": "./app/javascript/mastodon/reducers/status_lists.js", + "index": 330, + "index2": 326, + "size": 2829, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./status_lists", + "loc": "14:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { FAVOURITED_STATUSES_FETCH_SUCCESS, FAVOURITED_STATUSES_EXPAND_SUCCESS } from '../actions/favourites';\nimport { PINNED_STATUSES_FETCH_SUCCESS } from '../actions/pin_statuses';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\nimport { FAVOURITE_SUCCESS, UNFAVOURITE_SUCCESS, PIN_SUCCESS, UNPIN_SUCCESS } from '../actions/interactions';\n\nvar initialState = ImmutableMap({\n favourites: ImmutableMap({\n next: null,\n loaded: false,\n items: ImmutableList()\n }),\n pins: ImmutableMap({\n next: null,\n loaded: false,\n items: ImmutableList()\n })\n});\n\nvar normalizeList = function normalizeList(state, listType, statuses, next) {\n return state.update(listType, function (listMap) {\n return listMap.withMutations(function (map) {\n map.set('next', next);\n map.set('loaded', true);\n map.set('items', ImmutableList(statuses.map(function (item) {\n return item.id;\n })));\n });\n });\n};\n\nvar appendToList = function appendToList(state, listType, statuses, next) {\n return state.update(listType, function (listMap) {\n return listMap.withMutations(function (map) {\n map.set('next', next);\n map.set('items', map.get('items').concat(statuses.map(function (item) {\n return item.id;\n })));\n });\n });\n};\n\nvar prependOneToList = function prependOneToList(state, listType, status) {\n return state.update(listType, function (listMap) {\n return listMap.withMutations(function (map) {\n map.set('items', map.get('items').unshift(status.get('id')));\n });\n });\n};\n\nvar removeOneFromList = function removeOneFromList(state, listType, status) {\n return state.update(listType, function (listMap) {\n return listMap.withMutations(function (map) {\n map.set('items', map.get('items').filter(function (item) {\n return item !== status.get('id');\n }));\n });\n });\n};\n\nexport default function statusLists() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case FAVOURITED_STATUSES_FETCH_SUCCESS:\n return normalizeList(state, 'favourites', action.statuses, action.next);\n case FAVOURITED_STATUSES_EXPAND_SUCCESS:\n return appendToList(state, 'favourites', action.statuses, action.next);\n case FAVOURITE_SUCCESS:\n return prependOneToList(state, 'favourites', action.status);\n case UNFAVOURITE_SUCCESS:\n return removeOneFromList(state, 'favourites', action.status);\n case PINNED_STATUSES_FETCH_SUCCESS:\n return normalizeList(state, 'pins', action.statuses, action.next);\n case PIN_SUCCESS:\n return prependOneToList(state, 'pins', action.status);\n case UNPIN_SUCCESS:\n return removeOneFromList(state, 'pins', action.status);\n default:\n return state;\n }\n};" + }, + { + "id": 448, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/cards.js", + "name": "./app/javascript/mastodon/reducers/cards.js", + "index": 331, + "index2": 327, + "size": 473, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./cards", + "loc": "15:0-28" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { STATUS_CARD_FETCH_SUCCESS } from '../actions/cards';\n\nimport { Map as ImmutableMap, fromJS } from 'immutable';\n\nvar initialState = ImmutableMap();\n\nexport default function cards() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case STATUS_CARD_FETCH_SUCCESS:\n return state.set(action.id, fromJS(action.card));\n default:\n return state;\n }\n};" + }, + { + "id": 449, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/reports.js", + "name": "./app/javascript/mastodon/reducers/reports.js", + "index": 332, + "index2": 329, + "size": 2187, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./reports", + "loc": "16:0-32" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { REPORT_INIT, REPORT_SUBMIT_REQUEST, REPORT_SUBMIT_SUCCESS, REPORT_SUBMIT_FAIL, REPORT_CANCEL, REPORT_STATUS_TOGGLE, REPORT_COMMENT_CHANGE } from '../actions/reports';\nimport { Map as ImmutableMap, Set as ImmutableSet } from 'immutable';\n\nvar initialState = ImmutableMap({\n new: ImmutableMap({\n isSubmitting: false,\n account_id: null,\n status_ids: ImmutableSet(),\n comment: ''\n })\n});\n\nexport default function reports() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case REPORT_INIT:\n return state.withMutations(function (map) {\n map.setIn(['new', 'isSubmitting'], false);\n map.setIn(['new', 'account_id'], action.account.get('id'));\n\n if (state.getIn(['new', 'account_id']) !== action.account.get('id')) {\n map.setIn(['new', 'status_ids'], action.status ? ImmutableSet([action.status.getIn(['reblog', 'id'], action.status.get('id'))]) : ImmutableSet());\n map.setIn(['new', 'comment'], '');\n } else if (action.status) {\n map.updateIn(['new', 'status_ids'], ImmutableSet(), function (set) {\n return set.add(action.status.getIn(['reblog', 'id'], action.status.get('id')));\n });\n }\n });\n case REPORT_STATUS_TOGGLE:\n return state.updateIn(['new', 'status_ids'], ImmutableSet(), function (set) {\n if (action.checked) {\n return set.add(action.statusId);\n }\n\n return set.remove(action.statusId);\n });\n case REPORT_COMMENT_CHANGE:\n return state.setIn(['new', 'comment'], action.comment);\n case REPORT_SUBMIT_REQUEST:\n return state.setIn(['new', 'isSubmitting'], true);\n case REPORT_SUBMIT_FAIL:\n return state.setIn(['new', 'isSubmitting'], false);\n case REPORT_CANCEL:\n case REPORT_SUBMIT_SUCCESS:\n return state.withMutations(function (map) {\n map.setIn(['new', 'account_id'], null);\n map.setIn(['new', 'status_ids'], ImmutableSet());\n map.setIn(['new', 'comment'], '');\n map.setIn(['new', 'isSubmitting'], false);\n });\n default:\n return state;\n }\n};" + }, + { + "id": 450, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/contexts.js", + "name": "./app/javascript/mastodon/reducers/contexts.js", + "index": 334, + "index2": 330, + "size": 2407, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./contexts", + "loc": "17:0-34" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { CONTEXT_FETCH_SUCCESS } from '../actions/statuses';\nimport { TIMELINE_DELETE, TIMELINE_CONTEXT_UPDATE } from '../actions/timelines';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\n\nvar initialState = ImmutableMap({\n ancestors: ImmutableMap(),\n descendants: ImmutableMap()\n});\n\nvar normalizeContext = function normalizeContext(state, id, ancestors, descendants) {\n var ancestorsIds = ImmutableList(ancestors.map(function (ancestor) {\n return ancestor.id;\n }));\n var descendantsIds = ImmutableList(descendants.map(function (descendant) {\n return descendant.id;\n }));\n\n return state.withMutations(function (map) {\n map.setIn(['ancestors', id], ancestorsIds);\n map.setIn(['descendants', id], descendantsIds);\n });\n};\n\nvar deleteFromContexts = function deleteFromContexts(state, id) {\n state.getIn(['descendants', id], ImmutableList()).forEach(function (descendantId) {\n state = state.updateIn(['ancestors', descendantId], ImmutableList(), function (list) {\n return list.filterNot(function (itemId) {\n return itemId === id;\n });\n });\n });\n\n state.getIn(['ancestors', id], ImmutableList()).forEach(function (ancestorId) {\n state = state.updateIn(['descendants', ancestorId], ImmutableList(), function (list) {\n return list.filterNot(function (itemId) {\n return itemId === id;\n });\n });\n });\n\n state = state.deleteIn(['descendants', id]).deleteIn(['ancestors', id]);\n\n return state;\n};\n\nvar updateContext = function updateContext(state, status, references) {\n return state.update('descendants', function (map) {\n references.forEach(function (parentId) {\n map = map.update(parentId, ImmutableList(), function (list) {\n if (list.includes(status.id)) {\n return list;\n }\n\n return list.push(status.id);\n });\n });\n\n return map;\n });\n};\n\nexport default function contexts() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case CONTEXT_FETCH_SUCCESS:\n return normalizeContext(state, action.id, action.ancestors, action.descendants);\n case TIMELINE_DELETE:\n return deleteFromContexts(state, action.id);\n case TIMELINE_CONTEXT_UPDATE:\n return updateContext(state, action.status, action.references);\n default:\n return state;\n }\n};" + }, + { + "id": 451, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/compose.js", + "name": "./app/javascript/mastodon/reducers/compose.js", + "index": 335, + "index2": 331, + "size": 9749, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./compose", + "loc": "18:0-32" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { COMPOSE_MOUNT, COMPOSE_UNMOUNT, COMPOSE_CHANGE, COMPOSE_REPLY, COMPOSE_REPLY_CANCEL, COMPOSE_MENTION, COMPOSE_SUBMIT_REQUEST, COMPOSE_SUBMIT_SUCCESS, COMPOSE_SUBMIT_FAIL, COMPOSE_UPLOAD_REQUEST, COMPOSE_UPLOAD_SUCCESS, COMPOSE_UPLOAD_FAIL, COMPOSE_UPLOAD_UNDO, COMPOSE_UPLOAD_PROGRESS, COMPOSE_SUGGESTIONS_CLEAR, COMPOSE_SUGGESTIONS_READY, COMPOSE_SUGGESTION_SELECT, COMPOSE_SENSITIVITY_CHANGE, COMPOSE_SPOILERNESS_CHANGE, COMPOSE_SPOILER_TEXT_CHANGE, COMPOSE_VISIBILITY_CHANGE, COMPOSE_COMPOSING_CHANGE, COMPOSE_EMOJI_INSERT, COMPOSE_UPLOAD_CHANGE_REQUEST, COMPOSE_UPLOAD_CHANGE_SUCCESS, COMPOSE_UPLOAD_CHANGE_FAIL, COMPOSE_RESET } from '../actions/compose';\nimport { TIMELINE_DELETE } from '../actions/timelines';\nimport { STORE_HYDRATE } from '../actions/store';\nimport { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';\nimport uuid from '../uuid';\nimport { me } from '../initial_state';\n\nvar initialState = ImmutableMap({\n mounted: false,\n sensitive: false,\n spoiler: false,\n spoiler_text: '',\n privacy: null,\n text: '',\n focusDate: null,\n preselectDate: null,\n in_reply_to: null,\n is_composing: false,\n is_submitting: false,\n is_uploading: false,\n progress: 0,\n media_attachments: ImmutableList(),\n suggestion_token: null,\n suggestions: ImmutableList(),\n default_privacy: 'public',\n default_sensitive: false,\n resetFileKey: Math.floor(Math.random() * 0x10000),\n idempotencyKey: null\n});\n\nfunction statusToTextMentions(state, status) {\n var set = ImmutableOrderedSet([]);\n\n if (status.getIn(['account', 'id']) !== me) {\n set = set.add('@' + status.getIn(['account', 'acct']) + ' ');\n }\n\n return set.union(status.get('mentions').filterNot(function (mention) {\n return mention.get('id') === me;\n }).map(function (mention) {\n return '@' + mention.get('acct') + ' ';\n })).join('');\n};\n\nfunction clearAll(state) {\n return state.withMutations(function (map) {\n map.set('text', '');\n map.set('spoiler', false);\n map.set('spoiler_text', '');\n map.set('is_submitting', false);\n map.set('in_reply_to', null);\n map.set('privacy', state.get('default_privacy'));\n map.set('sensitive', false);\n map.update('media_attachments', function (list) {\n return list.clear();\n });\n map.set('idempotencyKey', uuid());\n });\n};\n\nfunction appendMedia(state, media) {\n var prevSize = state.get('media_attachments').size;\n\n return state.withMutations(function (map) {\n map.update('media_attachments', function (list) {\n return list.push(media);\n });\n map.set('is_uploading', false);\n map.set('resetFileKey', Math.floor(Math.random() * 0x10000));\n map.update('text', function (oldText) {\n return oldText.trim() + ' ' + media.get('text_url');\n });\n map.set('focusDate', new Date());\n map.set('idempotencyKey', uuid());\n\n if (prevSize === 0 && (state.get('default_sensitive') || state.get('spoiler'))) {\n map.set('sensitive', true);\n }\n });\n};\n\nfunction removeMedia(state, mediaId) {\n var media = state.get('media_attachments').find(function (item) {\n return item.get('id') === mediaId;\n });\n var prevSize = state.get('media_attachments').size;\n\n return state.withMutations(function (map) {\n map.update('media_attachments', function (list) {\n return list.filterNot(function (item) {\n return item.get('id') === mediaId;\n });\n });\n map.update('text', function (text) {\n return text.replace(media.get('text_url'), '').trim();\n });\n map.set('idempotencyKey', uuid());\n\n if (prevSize === 1) {\n map.set('sensitive', false);\n }\n });\n};\n\nvar insertSuggestion = function insertSuggestion(state, position, token, completion) {\n return state.withMutations(function (map) {\n map.update('text', function (oldText) {\n return '' + oldText.slice(0, position) + completion + ' ' + oldText.slice(position + token.length);\n });\n map.set('suggestion_token', null);\n map.update('suggestions', ImmutableList(), function (list) {\n return list.clear();\n });\n map.set('focusDate', new Date());\n map.set('idempotencyKey', uuid());\n });\n};\n\nvar insertEmoji = function insertEmoji(state, position, emojiData) {\n var emoji = emojiData.native;\n\n return state.withMutations(function (map) {\n map.update('text', function (oldText) {\n return '' + oldText.slice(0, position) + emoji + ' ' + oldText.slice(position);\n });\n map.set('focusDate', new Date());\n map.set('idempotencyKey', uuid());\n });\n};\n\nvar privacyPreference = function privacyPreference(a, b) {\n if (a === 'direct' || b === 'direct') {\n return 'direct';\n } else if (a === 'private' || b === 'private') {\n return 'private';\n } else if (a === 'unlisted' || b === 'unlisted') {\n return 'unlisted';\n } else {\n return 'public';\n }\n};\n\nvar hydrate = function hydrate(state, hydratedState) {\n state = clearAll(state.merge(hydratedState));\n\n if (hydratedState.has('text')) {\n state = state.set('text', hydratedState.get('text'));\n }\n\n return state;\n};\n\nexport default function compose() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case STORE_HYDRATE:\n return hydrate(state, action.state.get('compose'));\n case COMPOSE_MOUNT:\n return state.set('mounted', true);\n case COMPOSE_UNMOUNT:\n return state.set('mounted', false).set('is_composing', false);\n case COMPOSE_SENSITIVITY_CHANGE:\n return state.withMutations(function (map) {\n if (!state.get('spoiler')) {\n map.set('sensitive', !state.get('sensitive'));\n }\n\n map.set('idempotencyKey', uuid());\n });\n case COMPOSE_SPOILERNESS_CHANGE:\n return state.withMutations(function (map) {\n map.set('spoiler_text', '');\n map.set('spoiler', !state.get('spoiler'));\n map.set('idempotencyKey', uuid());\n\n if (!state.get('sensitive') && state.get('media_attachments').size >= 1) {\n map.set('sensitive', true);\n }\n });\n case COMPOSE_SPOILER_TEXT_CHANGE:\n return state.set('spoiler_text', action.text).set('idempotencyKey', uuid());\n case COMPOSE_VISIBILITY_CHANGE:\n return state.set('privacy', action.value).set('idempotencyKey', uuid());\n case COMPOSE_CHANGE:\n return state.set('text', action.text).set('idempotencyKey', uuid());\n case COMPOSE_COMPOSING_CHANGE:\n return state.set('is_composing', action.value);\n case COMPOSE_REPLY:\n return state.withMutations(function (map) {\n map.set('in_reply_to', action.status.get('id'));\n map.set('text', statusToTextMentions(state, action.status));\n map.set('privacy', privacyPreference(action.status.get('visibility'), state.get('default_privacy')));\n map.set('focusDate', new Date());\n map.set('preselectDate', new Date());\n map.set('idempotencyKey', uuid());\n\n if (action.status.get('spoiler_text').length > 0) {\n map.set('spoiler', true);\n map.set('spoiler_text', action.status.get('spoiler_text'));\n } else {\n map.set('spoiler', false);\n map.set('spoiler_text', '');\n }\n });\n case COMPOSE_REPLY_CANCEL:\n case COMPOSE_RESET:\n return state.withMutations(function (map) {\n map.set('in_reply_to', null);\n map.set('text', '');\n map.set('spoiler', false);\n map.set('spoiler_text', '');\n map.set('privacy', state.get('default_privacy'));\n map.set('idempotencyKey', uuid());\n });\n case COMPOSE_SUBMIT_REQUEST:\n case COMPOSE_UPLOAD_CHANGE_REQUEST:\n return state.set('is_submitting', true);\n case COMPOSE_SUBMIT_SUCCESS:\n return clearAll(state);\n case COMPOSE_SUBMIT_FAIL:\n case COMPOSE_UPLOAD_CHANGE_FAIL:\n return state.set('is_submitting', false);\n case COMPOSE_UPLOAD_REQUEST:\n return state.set('is_uploading', true);\n case COMPOSE_UPLOAD_SUCCESS:\n return appendMedia(state, fromJS(action.media));\n case COMPOSE_UPLOAD_FAIL:\n return state.set('is_uploading', false);\n case COMPOSE_UPLOAD_UNDO:\n return removeMedia(state, action.media_id);\n case COMPOSE_UPLOAD_PROGRESS:\n return state.set('progress', Math.round(action.loaded / action.total * 100));\n case COMPOSE_MENTION:\n return state.update('text', function (text) {\n return text + '@' + action.account.get('acct') + ' ';\n }).set('focusDate', new Date()).set('idempotencyKey', uuid());\n case COMPOSE_SUGGESTIONS_CLEAR:\n return state.update('suggestions', ImmutableList(), function (list) {\n return list.clear();\n }).set('suggestion_token', null);\n case COMPOSE_SUGGESTIONS_READY:\n return state.set('suggestions', ImmutableList(action.accounts ? action.accounts.map(function (item) {\n return item.id;\n }) : action.emojis)).set('suggestion_token', action.token);\n case COMPOSE_SUGGESTION_SELECT:\n return insertSuggestion(state, action.position, action.token, action.completion);\n case TIMELINE_DELETE:\n if (action.id === state.get('in_reply_to')) {\n return state.set('in_reply_to', null);\n } else {\n return state;\n }\n case COMPOSE_EMOJI_INSERT:\n return insertEmoji(state, action.position, action.emoji);\n case COMPOSE_UPLOAD_CHANGE_SUCCESS:\n return state.set('is_submitting', false).update('media_attachments', function (list) {\n return list.map(function (item) {\n if (item.get('id') === action.media.id) {\n return item.set('description', action.media.description);\n }\n\n return item;\n });\n });\n default:\n return state;\n }\n};" + }, + { + "id": 452, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/search.js", + "name": "./app/javascript/mastodon/reducers/search.js", + "index": 336, + "index2": 332, + "size": 1439, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./search", + "loc": "19:0-30" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { SEARCH_CHANGE, SEARCH_CLEAR, SEARCH_FETCH_SUCCESS, SEARCH_SHOW } from '../actions/search';\nimport { COMPOSE_MENTION, COMPOSE_REPLY } from '../actions/compose';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\n\nvar initialState = ImmutableMap({\n value: '',\n submitted: false,\n hidden: false,\n results: ImmutableMap()\n});\n\nexport default function search() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case SEARCH_CHANGE:\n return state.set('value', action.value);\n case SEARCH_CLEAR:\n return state.withMutations(function (map) {\n map.set('value', '');\n map.set('results', ImmutableMap());\n map.set('submitted', false);\n map.set('hidden', false);\n });\n case SEARCH_SHOW:\n return state.set('hidden', false);\n case COMPOSE_REPLY:\n case COMPOSE_MENTION:\n return state.set('hidden', true);\n case SEARCH_FETCH_SUCCESS:\n return state.set('results', ImmutableMap({\n accounts: ImmutableList(action.results.accounts.map(function (item) {\n return item.id;\n })),\n statuses: ImmutableList(action.results.statuses.map(function (item) {\n return item.id;\n })),\n hashtags: ImmutableList(action.results.hashtags)\n })).set('submitted', true);\n default:\n return state;\n }\n};" + }, + { + "id": 453, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/media_attachments.js", + "name": "./app/javascript/mastodon/reducers/media_attachments.js", + "index": 337, + "index2": 333, + "size": 478, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./media_attachments", + "loc": "20:0-52" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { STORE_HYDRATE } from '../actions/store';\nimport { Map as ImmutableMap } from 'immutable';\n\nvar initialState = ImmutableMap({\n accept_content_types: []\n});\n\nexport default function meta() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case STORE_HYDRATE:\n return state.merge(action.state.get('media_attachments'));\n default:\n return state;\n }\n};" + }, + { + "id": 454, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/notifications.js", + "name": "./app/javascript/mastodon/reducers/notifications.js", + "index": 338, + "index2": 334, + "size": 3910, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./notifications", + "loc": "21:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { NOTIFICATIONS_UPDATE, NOTIFICATIONS_REFRESH_SUCCESS, NOTIFICATIONS_EXPAND_SUCCESS, NOTIFICATIONS_REFRESH_REQUEST, NOTIFICATIONS_EXPAND_REQUEST, NOTIFICATIONS_REFRESH_FAIL, NOTIFICATIONS_EXPAND_FAIL, NOTIFICATIONS_CLEAR, NOTIFICATIONS_SCROLL_TOP } from '../actions/notifications';\nimport { ACCOUNT_BLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS } from '../actions/accounts';\nimport { TIMELINE_DELETE } from '../actions/timelines';\nimport { Map as ImmutableMap, List as ImmutableList } from 'immutable';\n\nvar initialState = ImmutableMap({\n items: ImmutableList(),\n next: null,\n top: true,\n unread: 0,\n loaded: false,\n isLoading: true\n});\n\nvar notificationToMap = function notificationToMap(notification) {\n return ImmutableMap({\n id: notification.id,\n type: notification.type,\n account: notification.account.id,\n status: notification.status ? notification.status.id : null\n });\n};\n\nvar normalizeNotification = function normalizeNotification(state, notification) {\n var top = state.get('top');\n\n if (!top) {\n state = state.update('unread', function (unread) {\n return unread + 1;\n });\n }\n\n return state.update('items', function (list) {\n if (top && list.size > 40) {\n list = list.take(20);\n }\n\n return list.unshift(notificationToMap(notification));\n });\n};\n\nvar normalizeNotifications = function normalizeNotifications(state, notifications, next) {\n var items = ImmutableList();\n var loaded = state.get('loaded');\n\n notifications.forEach(function (n, i) {\n items = items.set(i, notificationToMap(n));\n });\n\n if (state.get('next') === null) {\n state = state.set('next', next);\n }\n\n return state.update('items', function (list) {\n return loaded ? items.concat(list) : list.concat(items);\n }).set('loaded', true).set('isLoading', false);\n};\n\nvar appendNormalizedNotifications = function appendNormalizedNotifications(state, notifications, next) {\n var items = ImmutableList();\n\n notifications.forEach(function (n, i) {\n items = items.set(i, notificationToMap(n));\n });\n\n return state.update('items', function (list) {\n return list.concat(items);\n }).set('next', next).set('isLoading', false);\n};\n\nvar filterNotifications = function filterNotifications(state, relationship) {\n return state.update('items', function (list) {\n return list.filterNot(function (item) {\n return item.get('account') === relationship.id;\n });\n });\n};\n\nvar updateTop = function updateTop(state, top) {\n if (top) {\n state = state.set('unread', 0);\n }\n\n return state.set('top', top);\n};\n\nvar deleteByStatus = function deleteByStatus(state, statusId) {\n return state.update('items', function (list) {\n return list.filterNot(function (item) {\n return item.get('status') === statusId;\n });\n });\n};\n\nexport default function notifications() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case NOTIFICATIONS_REFRESH_REQUEST:\n case NOTIFICATIONS_EXPAND_REQUEST:\n case NOTIFICATIONS_REFRESH_FAIL:\n case NOTIFICATIONS_EXPAND_FAIL:\n return state.set('isLoading', true);\n case NOTIFICATIONS_SCROLL_TOP:\n return updateTop(state, action.top);\n case NOTIFICATIONS_UPDATE:\n return normalizeNotification(state, action.notification);\n case NOTIFICATIONS_REFRESH_SUCCESS:\n return normalizeNotifications(state, action.notifications, action.next);\n case NOTIFICATIONS_EXPAND_SUCCESS:\n return appendNormalizedNotifications(state, action.notifications, action.next);\n case ACCOUNT_BLOCK_SUCCESS:\n case ACCOUNT_MUTE_SUCCESS:\n return filterNotifications(state, action.relationship);\n case NOTIFICATIONS_CLEAR:\n return state.set('items', ImmutableList()).set('next', null);\n case TIMELINE_DELETE:\n return deleteByStatus(state, action.id);\n default:\n return state;\n }\n};" + }, + { + "id": 455, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/height_cache.js", + "name": "./app/javascript/mastodon/reducers/height_cache.js", + "index": 339, + "index2": 336, + "size": 784, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./height_cache", + "loc": "22:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { Map as ImmutableMap } from 'immutable';\nimport { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from '../actions/height_cache';\n\nvar initialState = ImmutableMap();\n\nvar setHeight = function setHeight(state, key, id, height) {\n return state.update(key, ImmutableMap(), function (map) {\n return map.set(id, height);\n });\n};\n\nvar clearHeights = function clearHeights() {\n return ImmutableMap();\n};\n\nexport default function statuses() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case HEIGHT_CACHE_SET:\n return setHeight(state, action.key, action.id, action.height);\n case HEIGHT_CACHE_CLEAR:\n return clearHeights();\n default:\n return state;\n }\n};" + }, + { + "id": 456, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/custom_emojis.js", + "name": "./app/javascript/mastodon/reducers/custom_emojis.js", + "index": 341, + "index2": 337, + "size": 680, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "issuerId": 380, + "issuerName": "./app/javascript/mastodon/reducers/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 380, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/reducers/index.js", + "module": "./app/javascript/mastodon/reducers/index.js", + "moduleName": "./app/javascript/mastodon/reducers/index.js", + "type": "harmony import", + "userRequest": "./custom_emojis", + "loc": "23:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import { List as ImmutableList } from 'immutable';\nimport { STORE_HYDRATE } from '../actions/store';\nimport { search as emojiSearch } from '../features/emoji/emoji_mart_search_light';\nimport { buildCustomEmojis } from '../features/emoji/emoji';\n\nvar initialState = ImmutableList();\n\nexport default function custom_emojis() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n switch (action.type) {\n case STORE_HYDRATE:\n emojiSearch('', { custom: buildCustomEmojis(action.state.get('custom_emojis', [])) });\n return action.state.get('custom_emojis');\n default:\n return state;\n }\n};" + }, + { + "id": 457, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/middleware/loading_bar.js", + "name": "./app/javascript/mastodon/middleware/loading_bar.js", + "index": 342, + "index2": 339, + "size": 1137, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "issuerId": 126, + "issuerName": "./app/javascript/mastodon/store/configureStore.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 126, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "module": "./app/javascript/mastodon/store/configureStore.js", + "moduleName": "./app/javascript/mastodon/store/configureStore.js", + "type": "harmony import", + "userRequest": "../middleware/loading_bar", + "loc": "4:0-61" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import { showLoading, hideLoading } from 'react-redux-loading-bar';\n\nvar defaultTypeSuffixes = ['PENDING', 'FULFILLED', 'REJECTED'];\n\nexport default function loadingBarMiddleware() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var promiseTypeSuffixes = config.promiseTypeSuffixes || defaultTypeSuffixes;\n\n return function (_ref) {\n var dispatch = _ref.dispatch;\n return function (next) {\n return function (action) {\n if (action.type && !action.skipLoading) {\n var PENDING = promiseTypeSuffixes[0],\n FULFILLED = promiseTypeSuffixes[1],\n REJECTED = promiseTypeSuffixes[2];\n\n\n var isPending = new RegExp(PENDING + '$', 'g');\n var isFulfilled = new RegExp(FULFILLED + '$', 'g');\n var isRejected = new RegExp(REJECTED + '$', 'g');\n\n if (action.type.match(isPending)) {\n dispatch(showLoading());\n } else if (action.type.match(isFulfilled) || action.type.match(isRejected)) {\n dispatch(hideLoading());\n }\n }\n\n return next(action);\n };\n };\n };\n};" + }, + { + "id": 458, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/middleware/errors.js", + "name": "./app/javascript/mastodon/middleware/errors.js", + "index": 343, + "index2": 340, + "size": 1137, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "issuerId": 126, + "issuerName": "./app/javascript/mastodon/store/configureStore.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 126, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "module": "./app/javascript/mastodon/store/configureStore.js", + "moduleName": "./app/javascript/mastodon/store/configureStore.js", + "type": "harmony import", + "userRequest": "../middleware/errors", + "loc": "5:0-52" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "import { showAlert } from '../actions/alerts';\n\nvar defaultFailSuffix = 'FAIL';\n\nexport default function errorsMiddleware() {\n return function (_ref) {\n var dispatch = _ref.dispatch;\n return function (next) {\n return function (action) {\n if (action.type && !action.skipAlert) {\n var isFail = new RegExp(defaultFailSuffix + '$', 'g');\n\n if (action.type.match(isFail)) {\n if (action.error.response) {\n var _action$error$respons = action.error.response,\n data = _action$error$respons.data,\n status = _action$error$respons.status,\n statusText = _action$error$respons.statusText;\n\n\n var message = statusText;\n var title = '' + status;\n\n if (data.error) {\n message = data.error;\n }\n\n dispatch(showAlert(title, message));\n } else {\n console.error(action.error);\n dispatch(showAlert('Oops!', 'An unexpected error occurred.'));\n }\n }\n }\n\n return next(action);\n };\n };\n };\n};" + }, + { + "id": 459, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/middleware/sounds.js", + "name": "./app/javascript/mastodon/middleware/sounds.js", + "index": 344, + "index2": 341, + "size": 1033, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "issuerId": 126, + "issuerName": "./app/javascript/mastodon/store/configureStore.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 126, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/store/configureStore.js", + "module": "./app/javascript/mastodon/store/configureStore.js", + "moduleName": "./app/javascript/mastodon/store/configureStore.js", + "type": "harmony import", + "userRequest": "../middleware/sounds", + "loc": "6:0-52" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 3, + "source": "var createAudio = function createAudio(sources) {\n var audio = new Audio();\n sources.forEach(function (_ref) {\n var type = _ref.type,\n src = _ref.src;\n\n var source = document.createElement('source');\n source.type = type;\n source.src = src;\n audio.appendChild(source);\n });\n return audio;\n};\n\nvar play = function play(audio) {\n if (!audio.paused) {\n audio.pause();\n if (typeof audio.fastSeek === 'function') {\n audio.fastSeek(0);\n } else {\n audio.seek(0);\n }\n }\n\n audio.play();\n};\n\nexport default function soundsMiddleware() {\n var soundCache = {\n boop: createAudio([{\n src: '/sounds/boop.ogg',\n type: 'audio/ogg'\n }, {\n src: '/sounds/boop.mp3',\n type: 'audio/mpeg'\n }])\n };\n\n return function () {\n return function (next) {\n return function (action) {\n if (action.meta && action.meta.sound && soundCache[action.meta.sound]) {\n play(soundCache[action.meta.sound]);\n }\n\n return next(action);\n };\n };\n };\n};" + }, + { + "id": 461, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/assign.js", + "name": "./node_modules/core-js/library/fn/object/assign.js", + "index": 351, + "index2": 346, + "size": 106, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/assign.js", + "issuerId": 216, + "issuerName": "./node_modules/babel-runtime/core-js/object/assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 216, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/assign.js", + "module": "./node_modules/babel-runtime/core-js/object/assign.js", + "moduleName": "./node_modules/babel-runtime/core-js/object/assign.js", + "type": "cjs require", + "userRequest": "core-js/library/fn/object/assign", + "loc": "1:30-73" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;" + }, + { + "id": 462, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.assign.js", + "name": "./node_modules/core-js/library/modules/es6.object.assign.js", + "index": 352, + "index2": 345, + "size": 161, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/assign.js", + "issuerId": 461, + "issuerName": "./node_modules/core-js/library/fn/object/assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 461, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/assign.js", + "module": "./node_modules/core-js/library/fn/object/assign.js", + "moduleName": "./node_modules/core-js/library/fn/object/assign.js", + "type": "cjs require", + "userRequest": "../../modules/es6.object.assign", + "loc": "1:0-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });" + }, + { + "id": 463, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/_object-assign.js", + "name": "./node_modules/core-js/library/modules/_object-assign.js", + "index": 353, + "index2": 344, + "size": 1202, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.assign.js", + "issuerId": 462, + "issuerName": "./node_modules/core-js/library/modules/es6.object.assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 462, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.assign.js", + "module": "./node_modules/core-js/library/modules/es6.object.assign.js", + "moduleName": "./node_modules/core-js/library/modules/es6.object.assign.js", + "type": "cjs require", + "userRequest": "./_object-assign", + "loc": "4:51-78" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\n\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) {\n B[k] = k;\n });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) {\n // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n }return T;\n} : $assign;" + }, + { + "id": 464, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/avatar_overlay.js", + "name": "./app/javascript/mastodon/components/avatar_overlay.js", + "index": 359, + "index2": 352, + "size": 1277, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "issuerId": 153, + "issuerName": "./app/javascript/mastodon/components/status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "./avatar_overlay", + "loc": "15:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar AvatarOverlay = function (_React$PureComponent) {\n _inherits(AvatarOverlay, _React$PureComponent);\n\n function AvatarOverlay() {\n _classCallCheck(this, AvatarOverlay);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n AvatarOverlay.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n friend = _props.friend;\n\n\n var baseStyle = {\n backgroundImage: 'url(' + account.get('avatar_static') + ')'\n };\n\n var overlayStyle = {\n backgroundImage: 'url(' + friend.get('avatar_static') + ')'\n };\n\n return _jsx('div', {\n className: 'account__avatar-overlay'\n }, void 0, _jsx('div', {\n className: 'account__avatar-overlay-base',\n style: baseStyle\n }), _jsx('div', {\n className: 'account__avatar-overlay-overlay',\n style: overlayStyle\n }));\n };\n\n return AvatarOverlay;\n}(React.PureComponent);\n\nexport { AvatarOverlay as default };" + }, + { + "id": 465, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status_action_bar.js", + "name": "./app/javascript/mastodon/components/status_action_bar.js", + "index": 366, + "index2": 419, + "size": 8988, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "issuerId": 153, + "issuerName": "./app/javascript/mastodon/components/status.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 153, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/status.js", + "module": "./app/javascript/mastodon/components/status.js", + "moduleName": "./app/javascript/mastodon/components/status.js", + "type": "harmony import", + "userRequest": "./status_action_bar", + "loc": "19:0-50" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport IconButton from './icon_button';\nimport DropdownMenuContainer from '../containers/dropdown_menu_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nvar messages = defineMessages({\n delete: {\n 'id': 'status.delete',\n 'defaultMessage': 'Delete'\n },\n mention: {\n 'id': 'status.mention',\n 'defaultMessage': 'Mention @{name}'\n },\n mute: {\n 'id': 'account.mute',\n 'defaultMessage': 'Mute @{name}'\n },\n block: {\n 'id': 'account.block',\n 'defaultMessage': 'Block @{name}'\n },\n reply: {\n 'id': 'status.reply',\n 'defaultMessage': 'Reply'\n },\n share: {\n 'id': 'status.share',\n 'defaultMessage': 'Share'\n },\n more: {\n 'id': 'status.more',\n 'defaultMessage': 'More'\n },\n replyAll: {\n 'id': 'status.replyAll',\n 'defaultMessage': 'Reply to thread'\n },\n reblog: {\n 'id': 'status.reblog',\n 'defaultMessage': 'Boost'\n },\n cannot_reblog: {\n 'id': 'status.cannot_reblog',\n 'defaultMessage': 'This post cannot be boosted'\n },\n favourite: {\n 'id': 'status.favourite',\n 'defaultMessage': 'Favourite'\n },\n open: {\n 'id': 'status.open',\n 'defaultMessage': 'Expand this status'\n },\n report: {\n 'id': 'status.report',\n 'defaultMessage': 'Report @{name}'\n },\n muteConversation: {\n 'id': 'status.mute_conversation',\n 'defaultMessage': 'Mute conversation'\n },\n unmuteConversation: {\n 'id': 'status.unmute_conversation',\n 'defaultMessage': 'Unmute conversation'\n },\n pin: {\n 'id': 'status.pin',\n 'defaultMessage': 'Pin on profile'\n },\n unpin: {\n 'id': 'status.unpin',\n 'defaultMessage': 'Unpin from profile'\n },\n embed: {\n 'id': 'status.embed',\n 'defaultMessage': 'Embed'\n }\n});\n\nvar StatusActionBar = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(StatusActionBar, _ImmutablePureCompone);\n\n function StatusActionBar() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StatusActionBar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.updateOnProps = ['status', 'withDismiss'], _this.handleReplyClick = function () {\n _this.props.onReply(_this.props.status, _this.context.router.history);\n }, _this.handleShareClick = function () {\n navigator.share({\n text: _this.props.status.get('search_index'),\n url: _this.props.status.get('url')\n });\n }, _this.handleFavouriteClick = function () {\n _this.props.onFavourite(_this.props.status);\n }, _this.handleReblogClick = function (e) {\n _this.props.onReblog(_this.props.status, e);\n }, _this.handleDeleteClick = function () {\n _this.props.onDelete(_this.props.status);\n }, _this.handlePinClick = function () {\n _this.props.onPin(_this.props.status);\n }, _this.handleMentionClick = function () {\n _this.props.onMention(_this.props.status.get('account'), _this.context.router.history);\n }, _this.handleMuteClick = function () {\n _this.props.onMute(_this.props.status.get('account'));\n }, _this.handleBlockClick = function () {\n _this.props.onBlock(_this.props.status.get('account'));\n }, _this.handleOpen = function () {\n _this.context.router.history.push('/statuses/' + _this.props.status.get('id'));\n }, _this.handleEmbed = function () {\n _this.props.onEmbed(_this.props.status);\n }, _this.handleReport = function () {\n _this.props.onReport(_this.props.status);\n }, _this.handleConversationMuteClick = function () {\n _this.props.onMuteConversation(_this.props.status);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n // Avoid checking props that are functions (and whose equality will always\n // evaluate to false. See react-immutable-pure-component for usage.\n\n\n StatusActionBar.prototype.render = function render() {\n var _props = this.props,\n status = _props.status,\n intl = _props.intl,\n withDismiss = _props.withDismiss;\n\n\n var mutingConversation = status.get('muted');\n var anonymousAccess = !me;\n var publicStatus = ['public', 'unlisted'].includes(status.get('visibility'));\n\n var menu = [];\n var reblogIcon = 'retweet';\n var replyIcon = void 0;\n var replyTitle = void 0;\n\n menu.push({ text: intl.formatMessage(messages.open), action: this.handleOpen });\n\n if (publicStatus) {\n menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });\n }\n\n menu.push(null);\n\n if (status.getIn(['account', 'id']) === me || withDismiss) {\n menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick });\n menu.push(null);\n }\n\n if (status.getIn(['account', 'id']) === me) {\n if (publicStatus) {\n menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick });\n }\n\n menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick });\n } else {\n menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick });\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.mute, { name: status.getIn(['account', 'username']) }), action: this.handleMuteClick });\n menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick });\n menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport });\n }\n\n if (status.get('visibility') === 'direct') {\n reblogIcon = 'envelope';\n } else if (status.get('visibility') === 'private') {\n reblogIcon = 'lock';\n }\n\n if (status.get('in_reply_to_id', null) === null) {\n replyIcon = 'reply';\n replyTitle = intl.formatMessage(messages.reply);\n } else {\n replyIcon = 'reply-all';\n replyTitle = intl.formatMessage(messages.replyAll);\n }\n\n var shareButton = 'share' in navigator && status.get('visibility') === 'public' && _jsx(IconButton, {\n className: 'status__action-bar-button',\n title: intl.formatMessage(messages.share),\n icon: 'share-alt',\n onClick: this.handleShareClick\n });\n\n return _jsx('div', {\n className: 'status__action-bar'\n }, void 0, _jsx(IconButton, {\n className: 'status__action-bar-button',\n disabled: anonymousAccess,\n title: replyTitle,\n icon: replyIcon,\n onClick: this.handleReplyClick\n }), _jsx(IconButton, {\n className: 'status__action-bar-button',\n disabled: anonymousAccess || !publicStatus,\n active: status.get('reblogged'),\n pressed: status.get('reblogged'),\n title: !publicStatus ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog),\n icon: reblogIcon,\n onClick: this.handleReblogClick\n }), _jsx(IconButton, {\n className: 'status__action-bar-button star-icon',\n disabled: anonymousAccess,\n animate: true,\n active: status.get('favourited'),\n pressed: status.get('favourited'),\n title: intl.formatMessage(messages.favourite),\n icon: 'star',\n onClick: this.handleFavouriteClick\n }), shareButton, _jsx('div', {\n className: 'status__action-bar-dropdown'\n }, void 0, _jsx(DropdownMenuContainer, {\n disabled: anonymousAccess,\n status: status,\n items: menu,\n icon: 'ellipsis-h',\n size: 18,\n direction: 'right',\n ariaLabel: intl.formatMessage(messages.more)\n })));\n };\n\n return StatusActionBar;\n}(ImmutablePureComponent), _class2.contextTypes = {\n router: PropTypes.object\n}, _class2.propTypes = {\n status: ImmutablePropTypes.map.isRequired,\n onReply: PropTypes.func,\n onFavourite: PropTypes.func,\n onReblog: PropTypes.func,\n onDelete: PropTypes.func,\n onMention: PropTypes.func,\n onMute: PropTypes.func,\n onBlock: PropTypes.func,\n onReport: PropTypes.func,\n onEmbed: PropTypes.func,\n onMuteConversation: PropTypes.func,\n onPin: PropTypes.func,\n withDismiss: PropTypes.bool,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class;\n\nexport { StatusActionBar as default };" + }, + { + "id": 466, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/reduced_motion.js", + "name": "./app/javascript/mastodon/features/ui/util/reduced_motion.js", + "index": 369, + "index2": 367, + "size": 1795, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/optional_motion.js", + "issuerId": 26, + "issuerName": "./app/javascript/mastodon/features/ui/util/optional_motion.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 26, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/util/optional_motion.js", + "module": "./app/javascript/mastodon/features/ui/util/optional_motion.js", + "moduleName": "./app/javascript/mastodon/features/ui/util/optional_motion.js", + "type": "harmony import", + "userRequest": "./reduced_motion", + "loc": "2:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _typeof from 'babel-runtime/helpers/typeof';\n// Like react-motion's Motion, but reduces all animations to cross-fades\n// for the benefit of users with motion sickness.\nimport React from 'react';\nimport Motion from 'react-motion/lib/Motion';\n\n\nvar stylesToKeep = ['opacity', 'backgroundOpacity'];\n\nvar extractValue = function extractValue(value) {\n // This is either an object with a \"val\" property or it's a number\n return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value && 'val' in value ? value.val : value;\n};\n\nvar ReducedMotion = function (_React$Component) {\n _inherits(ReducedMotion, _React$Component);\n\n function ReducedMotion() {\n _classCallCheck(this, ReducedMotion);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ReducedMotion.prototype.render = function render() {\n var _props = this.props,\n style = _props.style,\n defaultStyle = _props.defaultStyle,\n children = _props.children;\n\n\n Object.keys(style).forEach(function (key) {\n if (stylesToKeep.includes(key)) {\n return;\n }\n // If it's setting an x or height or scale or some other value, we need\n // to preserve the end-state value without actually animating it\n style[key] = defaultStyle[key] = extractValue(style[key]);\n });\n\n return _jsx(Motion, {\n style: style,\n defaultStyle: defaultStyle\n }, void 0, children);\n };\n\n return ReducedMotion;\n}(React.Component);\n\nexport default ReducedMotion;" + }, + { + "id": 467, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/mapToZero.js", + "name": "./node_modules/react-motion/lib/mapToZero.js", + "index": 371, + "index2": 359, + "size": 346, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "issuerId": 217, + "issuerName": "./node_modules/react-motion/lib/Motion.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 217, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "module": "./node_modules/react-motion/lib/Motion.js", + "moduleName": "./node_modules/react-motion/lib/Motion.js", + "type": "cjs require", + "userRequest": "./mapToZero", + "loc": "41:17-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "\n\n// currently used to initiate the velocity style object to 0\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mapToZero;\n\nfunction mapToZero(obj) {\n var ret = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret[key] = 0;\n }\n }\n return ret;\n}\n\nmodule.exports = exports['default'];" + }, + { + "id": 468, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/stripStyle.js", + "name": "./node_modules/react-motion/lib/stripStyle.js", + "index": 372, + "index2": 360, + "size": 506, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "issuerId": 217, + "issuerName": "./node_modules/react-motion/lib/Motion.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 217, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "module": "./node_modules/react-motion/lib/Motion.js", + "moduleName": "./node_modules/react-motion/lib/Motion.js", + "type": "cjs require", + "userRequest": "./stripStyle", + "loc": "45:18-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "\n// turn {x: {val: 1, stiffness: 1, damping: 2}, y: 2} generated by\n// `{x: spring(1, {stiffness: 1, damping: 2}), y: 2}` into {x: 1, y: 2}\n\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = stripStyle;\n\nfunction stripStyle(style) {\n var ret = {};\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;\n }\n return ret;\n}\n\nmodule.exports = exports['default'];" + }, + { + "id": 469, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/stepper.js", + "name": "./node_modules/react-motion/lib/stepper.js", + "index": 373, + "index2": 361, + "size": 1254, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "issuerId": 217, + "issuerName": "./node_modules/react-motion/lib/Motion.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 217, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "module": "./node_modules/react-motion/lib/Motion.js", + "moduleName": "./node_modules/react-motion/lib/Motion.js", + "type": "cjs require", + "userRequest": "./stepper", + "loc": "49:16-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "\n\n// stepper is used a lot. Saves allocation to return the same array wrapper.\n// This is fine and danger-free against mutations because the callsite\n// immediately destructures it and gets the numbers inside without passing the\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stepper;\n\nvar reusedTuple = [0, 0];\n\nfunction stepper(secondPerFrame, x, v, destX, k, b, precision) {\n // Spring stiffness, in kg / s^2\n\n // for animations, destX is really spring length (spring at rest). initial\n // position is considered as the stretched/compressed position of a spring\n var Fspring = -k * (x - destX);\n\n // Damping, in kg / s\n var Fdamper = -b * v;\n\n // usually we put mass here, but for animation purposes, specifying mass is a\n // bit redundant. you could simply adjust k and b accordingly\n // let a = (Fspring + Fdamper) / mass;\n var a = Fspring + Fdamper;\n\n var newV = v + a * secondPerFrame;\n var newX = x + newV * secondPerFrame;\n\n if (Math.abs(newV) < precision && Math.abs(newX - destX) < precision) {\n reusedTuple[0] = destX;\n reusedTuple[1] = 0;\n return reusedTuple;\n }\n\n reusedTuple[0] = newX;\n reusedTuple[1] = newV;\n return reusedTuple;\n}\n\nmodule.exports = exports[\"default\"];\n// array reference around." + }, + { + "id": 470, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/performance-now/lib/performance-now.js", + "name": "./node_modules/performance-now/lib/performance-now.js", + "index": 374, + "index2": 362, + "size": 886, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "issuerId": 217, + "issuerName": "./node_modules/react-motion/lib/Motion.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 217, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "module": "./node_modules/react-motion/lib/Motion.js", + "moduleName": "./node_modules/react-motion/lib/Motion.js", + "type": "cjs require", + "userRequest": "performance-now", + "loc": "53:22-48" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "// Generated by CoffeeScript 1.7.1\n(function () {\n var getNanoSeconds, hrtime, loadTime;\n\n if (typeof performance !== \"undefined\" && performance !== null && performance.now) {\n module.exports = function () {\n return performance.now();\n };\n } else if (typeof process !== \"undefined\" && process !== null && process.hrtime) {\n module.exports = function () {\n return (getNanoSeconds() - loadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function () {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n loadTime = getNanoSeconds();\n } else if (Date.now) {\n module.exports = function () {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function () {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n}).call(this);" + }, + { + "id": 471, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/raf/index.js", + "name": "./node_modules/raf/index.js", + "index": 375, + "index2": 364, + "size": 2005, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "issuerId": 217, + "issuerName": "./node_modules/react-motion/lib/Motion.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 217, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "module": "./node_modules/react-motion/lib/Motion.js", + "moduleName": "./node_modules/react-motion/lib/Motion.js", + "type": "cjs require", + "userRequest": "raf", + "loc": "57:11-25" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var now = require('performance-now'),\n root = typeof window === 'undefined' ? global : window,\n vendors = ['moz', 'webkit'],\n suffix = 'AnimationFrame',\n raf = root['request' + suffix],\n caf = root['cancel' + suffix] || root['cancelRequest' + suffix];\n\nfor (var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix];\n caf = root[vendors[i] + 'Cancel' + suffix] || root[vendors[i] + 'CancelRequest' + suffix];\n}\n\n// Some versions of FF have rAF but not cAF\nif (!raf || !caf) {\n var last = 0,\n id = 0,\n queue = [],\n frameDuration = 1000 / 60;\n\n raf = function (callback) {\n if (queue.length === 0) {\n var _now = now(),\n next = Math.max(0, frameDuration - (_now - last));\n last = next + _now;\n setTimeout(function () {\n var cp = queue.slice(0);\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0;\n for (var i = 0; i < cp.length; i++) {\n if (!cp[i].cancelled) {\n try {\n cp[i].callback(last);\n } catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n }\n }, Math.round(next));\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n });\n return id;\n };\n\n caf = function (handle) {\n for (var i = 0; i < queue.length; i++) {\n if (queue[i].handle === handle) {\n queue[i].cancelled = true;\n }\n }\n };\n}\n\nmodule.exports = function (fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn);\n};\nmodule.exports.cancel = function () {\n caf.apply(root, arguments);\n};\nmodule.exports.polyfill = function (object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf;\n object.cancelAnimationFrame = caf;\n};" + }, + { + "id": 472, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/raf/node_modules/performance-now/lib/performance-now.js", + "name": "./node_modules/raf/node_modules/performance-now/lib/performance-now.js", + "index": 376, + "index2": 363, + "size": 1061, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/raf/index.js", + "issuerId": 471, + "issuerName": "./node_modules/raf/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 471, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/raf/index.js", + "module": "./node_modules/raf/index.js", + "moduleName": "./node_modules/raf/index.js", + "type": "cjs require", + "userRequest": "performance-now", + "loc": "1:10-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "// Generated by CoffeeScript 1.12.2\n(function () {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if (typeof performance !== \"undefined\" && performance !== null && performance.now) {\n module.exports = function () {\n return performance.now();\n };\n } else if (typeof process !== \"undefined\" && process !== null && process.hrtime) {\n module.exports = function () {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function () {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function () {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function () {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map" + }, + { + "id": 473, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/shouldStopAnimation.js", + "name": "./node_modules/react-motion/lib/shouldStopAnimation.js", + "index": 377, + "index2": 365, + "size": 813, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "issuerId": 217, + "issuerName": "./node_modules/react-motion/lib/Motion.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 217, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/Motion.js", + "module": "./node_modules/react-motion/lib/Motion.js", + "moduleName": "./node_modules/react-motion/lib/Motion.js", + "type": "cjs require", + "userRequest": "./shouldStopAnimation", + "loc": "61:27-59" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "\n\n// usage assumption: currentStyle values have already been rendered but it says\n// nothing of whether currentStyle is stale (see unreadPropStyle)\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = shouldStopAnimation;\n\nfunction shouldStopAnimation(currentStyle, style, currentVelocity) {\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n\n if (currentVelocity[key] !== 0) {\n return false;\n }\n\n var styleValue = typeof style[key] === 'number' ? style[key] : style[key].val;\n // stepper will have already taken care of rounding precision errors, so\n // won't have such thing as 0.9999 !=== 1\n if (currentStyle[key] !== styleValue) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];" + }, + { + "id": 474, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/presets.js", + "name": "./node_modules/react-motion/lib/presets.js", + "index": 379, + "index2": 369, + "size": 312, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/spring.js", + "issuerId": 27, + "issuerName": "./node_modules/react-motion/lib/spring.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 27, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-motion/lib/spring.js", + "module": "./node_modules/react-motion/lib/spring.js", + "moduleName": "./node_modules/react-motion/lib/spring.js", + "type": "cjs require", + "userRequest": "./presets", + "loc": "21:15-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = {\n noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided\n gentle: { stiffness: 120, damping: 14 },\n wobbly: { stiffness: 180, damping: 12 },\n stiff: { stiffness: 210, damping: 20 }\n};\nmodule.exports = exports[\"default\"];" + }, + { + "id": 475, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/dropdown_menu.js", + "name": "./app/javascript/mastodon/components/dropdown_menu.js", + "index": 381, + "index2": 415, + "size": 7550, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/dropdown_menu_container.js", + "issuerId": 284, + "issuerName": "./app/javascript/mastodon/containers/dropdown_menu_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 284, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/containers/dropdown_menu_container.js", + "module": "./app/javascript/mastodon/containers/dropdown_menu_container.js", + "moduleName": "./app/javascript/mastodon/containers/dropdown_menu_container.js", + "type": "harmony import", + "userRequest": "../components/dropdown_menu", + "loc": "3:0-55" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2, _class2, _temp4;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport IconButton from './icon_button';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../features/ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport detectPassiveEvents from 'detect-passive-events';\n\nvar listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nvar DropdownMenu = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(DropdownMenu, _React$PureComponent);\n\n function DropdownMenu() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, DropdownMenu);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.handleClick = function (e) {\n var i = Number(e.currentTarget.getAttribute('data-index'));\n var _this$props$items$i = _this.props.items[i],\n action = _this$props$items$i.action,\n to = _this$props$items$i.to;\n\n\n _this.props.onClose();\n\n if (typeof action === 'function') {\n e.preventDefault();\n action();\n } else if (to) {\n e.preventDefault();\n _this.context.router.history.push(to);\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n DropdownMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n DropdownMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n DropdownMenu.prototype.renderItem = function renderItem(option, i) {\n if (option === null) {\n return _jsx('li', {\n className: 'dropdown-menu__separator'\n }, 'sep-' + i);\n }\n\n var text = option.text,\n _option$href = option.href,\n href = _option$href === undefined ? '#' : _option$href;\n\n\n return _jsx('li', {\n className: 'dropdown-menu__item'\n }, text + '-' + i, _jsx('a', {\n href: href,\n target: '_blank',\n rel: 'noopener',\n role: 'button',\n tabIndex: '0',\n autoFocus: i === 0,\n onClick: this.handleClick,\n 'data-index': i\n }, void 0, text));\n };\n\n DropdownMenu.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n items = _props.items,\n style = _props.style,\n placement = _props.placement,\n arrowOffsetLeft = _props.arrowOffsetLeft,\n arrowOffsetTop = _props.arrowOffsetTop;\n\n\n return _jsx(Motion, {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return React.createElement(\n 'div',\n { className: 'dropdown-menu', style: Object.assign({}, style, { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }), ref: _this2.setRef },\n _jsx('div', {\n className: 'dropdown-menu__arrow ' + placement,\n style: { left: arrowOffsetLeft, top: arrowOffsetTop }\n }),\n _jsx('ul', {}, void 0, items.map(function (option, i) {\n return _this2.renderItem(option, i);\n }))\n );\n });\n };\n\n return DropdownMenu;\n}(React.PureComponent), _class.contextTypes = {\n router: PropTypes.object\n}, _class.defaultProps = {\n style: {},\n placement: 'bottom'\n}, _temp2);\nvar Dropdown = (_temp4 = _class2 = function (_React$PureComponent2) {\n _inherits(Dropdown, _React$PureComponent2);\n\n function Dropdown() {\n var _temp3, _this3, _ret2;\n\n _classCallCheck(this, Dropdown);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp3 = (_this3 = _possibleConstructorReturn(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this3), _this3.state = {\n expanded: false\n }, _this3.handleClick = function () {\n if (!_this3.state.expanded && _this3.props.isUserTouching() && _this3.props.onModalOpen) {\n var _this3$props = _this3.props,\n status = _this3$props.status,\n items = _this3$props.items;\n\n\n _this3.props.onModalOpen({\n status: status,\n actions: items,\n onClick: _this3.handleItemClick\n });\n\n return;\n }\n\n _this3.setState({ expanded: !_this3.state.expanded });\n }, _this3.handleClose = function () {\n if (_this3.props.onModalClose) {\n _this3.props.onModalClose();\n }\n\n _this3.setState({ expanded: false });\n }, _this3.handleKeyDown = function (e) {\n switch (e.key) {\n case 'Enter':\n _this3.handleClick();\n break;\n case 'Escape':\n _this3.handleClose();\n break;\n }\n }, _this3.handleItemClick = function (e) {\n var i = Number(e.currentTarget.getAttribute('data-index'));\n var _this3$props$items$i = _this3.props.items[i],\n action = _this3$props$items$i.action,\n to = _this3$props$items$i.to;\n\n\n _this3.handleClose();\n\n if (typeof action === 'function') {\n e.preventDefault();\n action();\n } else if (to) {\n e.preventDefault();\n _this3.context.router.history.push(to);\n }\n }, _this3.setTargetRef = function (c) {\n _this3.target = c;\n }, _this3.findTarget = function () {\n return _this3.target;\n }, _temp3), _possibleConstructorReturn(_this3, _ret2);\n }\n\n Dropdown.prototype.render = function render() {\n var _props2 = this.props,\n icon = _props2.icon,\n items = _props2.items,\n size = _props2.size,\n ariaLabel = _props2.ariaLabel,\n disabled = _props2.disabled;\n var expanded = this.state.expanded;\n\n\n return _jsx('div', {\n onKeyDown: this.handleKeyDown\n }, void 0, React.createElement(IconButton, {\n icon: icon,\n title: ariaLabel,\n active: expanded,\n disabled: disabled,\n size: size,\n ref: this.setTargetRef,\n onClick: this.handleClick\n }), _jsx(Overlay, {\n show: expanded,\n placement: 'bottom',\n target: this.findTarget\n }, void 0, _jsx(DropdownMenu, {\n items: items,\n onClose: this.handleClose\n })));\n };\n\n return Dropdown;\n}(React.PureComponent), _class2.contextTypes = {\n router: PropTypes.object\n}, _class2.defaultProps = {\n ariaLabel: 'Menu'\n}, _temp4);\nexport { Dropdown as default };" + }, + { + "id": 476, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/prop-types-extra/lib/elementType.js", + "name": "./node_modules/prop-types-extra/lib/elementType.js", + "index": 383, + "index2": 373, + "size": 1553, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "issuerId": 97, + "issuerName": "./node_modules/react-overlays/lib/Overlay.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 97, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "module": "./node_modules/react-overlays/lib/Overlay.js", + "moduleName": "./node_modules/react-overlays/lib/Overlay.js", + "type": "cjs require", + "userRequest": "prop-types-extra/lib/elementType", + "loc": "19:19-62" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction elementType(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);\n\n if (_react2.default.isValidElement(propValue)) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');\n }\n\n if (propType !== 'function' && propType !== 'string') {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');\n }\n\n return null;\n}\n\nexports.default = (0, _createChainableTypeChecker2.default)(elementType);\nmodule.exports = exports['default'];" + }, + { + "id": 477, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Portal.js", + "name": "./node_modules/react-overlays/lib/Portal.js", + "index": 385, + "index2": 389, + "size": 4145, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "issuerId": 97, + "issuerName": "./node_modules/react-overlays/lib/Overlay.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 97, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "module": "./node_modules/react-overlays/lib/Overlay.js", + "moduleName": "./node_modules/react-overlays/lib/Overlay.js", + "type": "cjs require", + "userRequest": "./Portal", + "loc": "27:14-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _componentOrElement = require('prop-types-extra/lib/componentOrElement');\n\nvar _componentOrElement2 = _interopRequireDefault(_componentOrElement);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _LegacyPortal = require('./LegacyPortal');\n\nvar _LegacyPortal2 = _interopRequireDefault(_LegacyPortal);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: 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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\n/**\n * The `` component renders its children into a new \"subtree\" outside of current component hierarchy.\n * You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`.\n * The children of `` component will be appended to the `container` specified.\n */\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Portal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.setContainer = function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props;\n\n _this._portalContainerNode = (0, _getContainer2.default)(props.container, (0, _ownerDocument2.default)(_this).body);\n }, _this.getMountNode = function () {\n return _this._portalContainerNode;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Portal.prototype.componentDidMount = function componentDidMount() {\n this.setContainer();\n this.forceUpdate(this.props.onRendered);\n };\n\n Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.container !== this.props.container) {\n this.setContainer(nextProps);\n }\n };\n\n Portal.prototype.componentWillUnmount = function componentWillUnmount() {\n this._portalContainerNode = null;\n };\n\n Portal.prototype.render = function render() {\n return this.props.children && this._portalContainerNode ? _reactDom2.default.createPortal(this.props.children, this._portalContainerNode) : null;\n };\n\n return Portal;\n}(_react2.default.Component);\n\nPortal.displayName = 'Portal';\nPortal.propTypes = {\n /**\n * A Node, Component instance, or function that returns either. The `container` will have the Portal children\n * appended to it.\n */\n container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n\n onRendered: _propTypes2.default.func\n};\nexports.default = _reactDom2.default.createPortal ? Portal : _LegacyPortal2.default;\nmodule.exports = exports['default'];" + }, + { + "id": 478, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "name": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "index": 388, + "index2": 383, + "size": 136728, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/index.js", + "issuerId": 21, + "issuerName": "./node_modules/react-dom/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 21, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/index.js", + "module": "./node_modules/react-dom/index.js", + "moduleName": "./node_modules/react-dom/index.js", + "type": "cjs require", + "userRequest": "./cjs/react-dom.production.min.js", + "loc": "32:19-63" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "/*\n React v16.0.0\n react-dom.production.min.js\n\n Copyright (c) 2013-present, Facebook, Inc.\n\n This source code is licensed under the MIT license found in the\n LICENSE file in the root directory of this source tree.\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';\nvar aa = require(\"react\");require(\"fbjs/lib/invariant\");var l = require(\"fbjs/lib/ExecutionEnvironment\"),\n n = require(\"object-assign\"),\n ba = require(\"fbjs/lib/EventListener\"),\n ca = require(\"fbjs/lib/emptyFunction\"),\n da = require(\"fbjs/lib/emptyObject\"),\n ea = require(\"fbjs/lib/shallowEqual\"),\n fa = require(\"fbjs/lib/containsNode\"),\n ha = require(\"fbjs/lib/focusNode\"),\n ia = require(\"fbjs/lib/getActiveElement\");\nfunction w(a) {\n for (var b = arguments.length - 1, c = \"Minified React error #\" + a + \"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\\x3d\" + a, d = 0; d < b; d++) c += \"\\x26args[]\\x3d\" + encodeURIComponent(arguments[d + 1]);b = Error(c + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");b.name = \"Invariant Violation\";b.framesToPop = 1;throw b;\n}aa ? void 0 : w(\"227\");\nfunction ja(a) {\n switch (a) {case \"svg\":\n return \"http://www.w3.org/2000/svg\";case \"math\":\n return \"http://www.w3.org/1998/Math/MathML\";default:\n return \"http://www.w3.org/1999/xhtml\";}\n}\nvar ka = { Namespaces: { html: \"http://www.w3.org/1999/xhtml\", mathml: \"http://www.w3.org/1998/Math/MathML\", svg: \"http://www.w3.org/2000/svg\" }, getIntrinsicNamespace: ja, getChildNamespace: function (a, b) {\n return null == a || \"http://www.w3.org/1999/xhtml\" === a ? ja(b) : \"http://www.w3.org/2000/svg\" === a && \"foreignObject\" === b ? \"http://www.w3.org/1999/xhtml\" : a;\n } },\n la = null,\n oa = {};\nfunction pa() {\n if (la) for (var a in oa) {\n var b = oa[a],\n c = la.indexOf(a);-1 < c ? void 0 : w(\"96\", a);if (!qa.plugins[c]) {\n b.extractEvents ? void 0 : w(\"97\", a);qa.plugins[c] = b;c = b.eventTypes;for (var d in c) {\n var e = void 0;var f = c[d],\n g = b,\n h = d;qa.eventNameDispatchConfigs.hasOwnProperty(h) ? w(\"99\", h) : void 0;qa.eventNameDispatchConfigs[h] = f;var k = f.phasedRegistrationNames;if (k) {\n for (e in k) k.hasOwnProperty(e) && ra(k[e], g, h);e = !0;\n } else f.registrationName ? (ra(f.registrationName, g, h), e = !0) : e = !1;e ? void 0 : w(\"98\", d, a);\n }\n }\n }\n}\nfunction ra(a, b, c) {\n qa.registrationNameModules[a] ? w(\"100\", a) : void 0;qa.registrationNameModules[a] = b;qa.registrationNameDependencies[a] = b.eventTypes[c].dependencies;\n}\nvar qa = { plugins: [], eventNameDispatchConfigs: {}, registrationNameModules: {}, registrationNameDependencies: {}, possibleRegistrationNames: null, injectEventPluginOrder: function (a) {\n la ? w(\"101\") : void 0;la = Array.prototype.slice.call(a);pa();\n }, injectEventPluginsByName: function (a) {\n var b = !1,\n c;for (c in a) if (a.hasOwnProperty(c)) {\n var d = a[c];oa.hasOwnProperty(c) && oa[c] === d || (oa[c] ? w(\"102\", c) : void 0, oa[c] = d, b = !0);\n }b && pa();\n } },\n sa = qa,\n ta = { children: !0, dangerouslySetInnerHTML: !0, autoFocus: !0, defaultValue: !0, defaultChecked: !0,\n innerHTML: !0, suppressContentEditableWarning: !0, style: !0 };function ua(a, b) {\n return (a & b) === b;\n}\nvar wa = { MUST_USE_PROPERTY: 1, HAS_BOOLEAN_VALUE: 4, HAS_NUMERIC_VALUE: 8, HAS_POSITIVE_NUMERIC_VALUE: 24, HAS_OVERLOADED_BOOLEAN_VALUE: 32, HAS_STRING_BOOLEAN_VALUE: 64, injectDOMPropertyConfig: function (a) {\n var b = wa,\n c = a.Properties || {},\n d = a.DOMAttributeNamespaces || {},\n e = a.DOMAttributeNames || {};a = a.DOMMutationMethods || {};for (var f in c) {\n xa.properties.hasOwnProperty(f) ? w(\"48\", f) : void 0;var g = f.toLowerCase(),\n h = c[f];g = { attributeName: g, attributeNamespace: null, propertyName: f, mutationMethod: null, mustUseProperty: ua(h, b.MUST_USE_PROPERTY),\n hasBooleanValue: ua(h, b.HAS_BOOLEAN_VALUE), hasNumericValue: ua(h, b.HAS_NUMERIC_VALUE), hasPositiveNumericValue: ua(h, b.HAS_POSITIVE_NUMERIC_VALUE), hasOverloadedBooleanValue: ua(h, b.HAS_OVERLOADED_BOOLEAN_VALUE), hasStringBooleanValue: ua(h, b.HAS_STRING_BOOLEAN_VALUE) };1 >= g.hasBooleanValue + g.hasNumericValue + g.hasOverloadedBooleanValue ? void 0 : w(\"50\", f);e.hasOwnProperty(f) && (g.attributeName = e[f]);d.hasOwnProperty(f) && (g.attributeNamespace = d[f]);a.hasOwnProperty(f) && (g.mutationMethod = a[f]);xa.properties[f] = g;\n }\n } },\n xa = { ID_ATTRIBUTE_NAME: \"data-reactid\", ROOT_ATTRIBUTE_NAME: \"data-reactroot\", ATTRIBUTE_NAME_START_CHAR: \":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\", ATTRIBUTE_NAME_CHAR: \":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\",\n properties: {}, shouldSetAttribute: function (a, b) {\n if (xa.isReservedProp(a) || !(\"o\" !== a[0] && \"O\" !== a[0] || \"n\" !== a[1] && \"N\" !== a[1])) return !1;if (null === b) return !0;switch (typeof b) {case \"boolean\":\n return xa.shouldAttributeAcceptBooleanValue(a);case \"undefined\":case \"number\":case \"string\":case \"object\":\n return !0;default:\n return !1;}\n }, getPropertyInfo: function (a) {\n return xa.properties.hasOwnProperty(a) ? xa.properties[a] : null;\n }, shouldAttributeAcceptBooleanValue: function (a) {\n if (xa.isReservedProp(a)) return !0;var b = xa.getPropertyInfo(a);\n if (b) return b.hasBooleanValue || b.hasStringBooleanValue || b.hasOverloadedBooleanValue;a = a.toLowerCase().slice(0, 5);return \"data-\" === a || \"aria-\" === a;\n }, isReservedProp: function (a) {\n return ta.hasOwnProperty(a);\n }, injection: wa },\n A = xa,\n E = { IndeterminateComponent: 0, FunctionalComponent: 1, ClassComponent: 2, HostRoot: 3, HostPortal: 4, HostComponent: 5, HostText: 6, CoroutineComponent: 7, CoroutineHandlerPhase: 8, YieldComponent: 9, Fragment: 10 },\n F = { ELEMENT_NODE: 1, TEXT_NODE: 3, COMMENT_NODE: 8, DOCUMENT_NODE: 9, DOCUMENT_FRAGMENT_NODE: 11 },\n ya = E.HostComponent,\n za = E.HostText,\n Aa = F.ELEMENT_NODE,\n Ba = F.COMMENT_NODE,\n Ea = A.ID_ATTRIBUTE_NAME,\n Fa = { hasCachedChildNodes: 1 },\n Ga = Math.random().toString(36).slice(2),\n Ha = \"__reactInternalInstance$\" + Ga,\n Ia = \"__reactEventHandlers$\" + Ga;function La(a) {\n for (var b; b = a._renderedComponent;) a = b;return a;\n}function Ma(a, b) {\n a = La(a);a._hostNode = b;b[Ha] = a;\n}\nfunction Na(a, b) {\n if (!(a._flags & Fa.hasCachedChildNodes)) {\n var c = a._renderedChildren;b = b.firstChild;var d;a: for (d in c) if (c.hasOwnProperty(d)) {\n var e = c[d],\n f = La(e)._domID;if (0 !== f) {\n for (; null !== b; b = b.nextSibling) {\n var g = b,\n h = f;if (g.nodeType === Aa && g.getAttribute(Ea) === \"\" + h || g.nodeType === Ba && g.nodeValue === \" react-text: \" + h + \" \" || g.nodeType === Ba && g.nodeValue === \" react-empty: \" + h + \" \") {\n Ma(e, b);continue a;\n }\n }w(\"32\", f);\n }\n }a._flags |= Fa.hasCachedChildNodes;\n }\n}\nfunction Oa(a) {\n if (a[Ha]) return a[Ha];for (var b = []; !a[Ha];) if (b.push(a), a.parentNode) a = a.parentNode;else return null;var c = a[Ha];if (c.tag === ya || c.tag === za) return c;for (; a && (c = a[Ha]); a = b.pop()) {\n var d = c;b.length && Na(c, a);\n }return d;\n}\nvar G = { getClosestInstanceFromNode: Oa, getInstanceFromNode: function (a) {\n var b = a[Ha];if (b) return b.tag === ya || b.tag === za ? b : b._hostNode === a ? b : null;b = Oa(a);return null != b && b._hostNode === a ? b : null;\n }, getNodeFromInstance: function (a) {\n if (a.tag === ya || a.tag === za) return a.stateNode;void 0 === a._hostNode ? w(\"33\") : void 0;if (a._hostNode) return a._hostNode;for (var b = []; !a._hostNode;) b.push(a), a._hostParent ? void 0 : w(\"34\"), a = a._hostParent;for (; b.length; a = b.pop()) Na(a, a._hostNode);return a._hostNode;\n }, precacheChildNodes: Na,\n precacheNode: Ma, uncacheNode: function (a) {\n var b = a._hostNode;b && (delete b[Ha], a._hostNode = null);\n }, precacheFiberNode: function (a, b) {\n b[Ha] = a;\n }, getFiberCurrentPropsFromNode: function (a) {\n return a[Ia] || null;\n }, updateFiberProps: function (a, b) {\n a[Ia] = b;\n } },\n Pa = { remove: function (a) {\n a._reactInternalFiber = void 0;\n }, get: function (a) {\n return a._reactInternalFiber;\n }, has: function (a) {\n return void 0 !== a._reactInternalFiber;\n }, set: function (a, b) {\n a._reactInternalFiber = b;\n } },\n Qa = { ReactCurrentOwner: aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner };\nfunction Ra(a) {\n if (\"function\" === typeof a.getName) return a.getName();if (\"number\" === typeof a.tag) {\n a = a.type;if (\"string\" === typeof a) return a;if (\"function\" === typeof a) return a.displayName || a.name;\n }return null;\n}var J = { NoEffect: 0, PerformedWork: 1, Placement: 2, Update: 4, PlacementAndUpdate: 6, Deletion: 8, ContentReset: 16, Callback: 32, Err: 64, Ref: 128 },\n Sa = E.HostComponent,\n Ta = E.HostRoot,\n Ua = E.HostPortal,\n Va = E.HostText,\n Wa = J.NoEffect,\n Xa = J.Placement;\nfunction Za(a) {\n var b = a;if (a.alternate) for (; b[\"return\"];) b = b[\"return\"];else {\n if ((b.effectTag & Xa) !== Wa) return 1;for (; b[\"return\"];) if (b = b[\"return\"], (b.effectTag & Xa) !== Wa) return 1;\n }return b.tag === Ta ? 2 : 3;\n}function $a(a) {\n 2 !== Za(a) ? w(\"188\") : void 0;\n}\nfunction ab(a) {\n var b = a.alternate;if (!b) return b = Za(a), 3 === b ? w(\"188\") : void 0, 1 === b ? null : a;for (var c = a, d = b;;) {\n var e = c[\"return\"],\n f = e ? e.alternate : null;if (!e || !f) break;if (e.child === f.child) {\n for (var g = e.child; g;) {\n if (g === c) return $a(e), a;if (g === d) return $a(e), b;g = g.sibling;\n }w(\"188\");\n }if (c[\"return\"] !== d[\"return\"]) c = e, d = f;else {\n g = !1;for (var h = e.child; h;) {\n if (h === c) {\n g = !0;c = e;d = f;break;\n }if (h === d) {\n g = !0;d = e;c = f;break;\n }h = h.sibling;\n }if (!g) {\n for (h = f.child; h;) {\n if (h === c) {\n g = !0;c = f;d = e;break;\n }if (h === d) {\n g = !0;d = f;c = e;break;\n }h = h.sibling;\n }g ? void 0 : w(\"189\");\n }\n }c.alternate !== d ? w(\"190\") : void 0;\n }c.tag !== Ta ? w(\"188\") : void 0;return c.stateNode.current === c ? a : b;\n}\nvar bb = { isFiberMounted: function (a) {\n return 2 === Za(a);\n }, isMounted: function (a) {\n return (a = Pa.get(a)) ? 2 === Za(a) : !1;\n }, findCurrentFiberUsingSlowPath: ab, findCurrentHostFiber: function (a) {\n a = ab(a);if (!a) return null;for (var b = a;;) {\n if (b.tag === Sa || b.tag === Va) return b;if (b.child) b.child[\"return\"] = b, b = b.child;else {\n if (b === a) break;for (; !b.sibling;) {\n if (!b[\"return\"] || b[\"return\"] === a) return null;b = b[\"return\"];\n }b.sibling[\"return\"] = b[\"return\"];b = b.sibling;\n }\n }return null;\n }, findCurrentHostFiberWithNoPortals: function (a) {\n a = ab(a);\n if (!a) return null;for (var b = a;;) {\n if (b.tag === Sa || b.tag === Va) return b;if (b.child && b.tag !== Ua) b.child[\"return\"] = b, b = b.child;else {\n if (b === a) break;for (; !b.sibling;) {\n if (!b[\"return\"] || b[\"return\"] === a) return null;b = b[\"return\"];\n }b.sibling[\"return\"] = b[\"return\"];b = b.sibling;\n }\n }return null;\n } },\n K = { _caughtError: null, _hasCaughtError: !1, _rethrowError: null, _hasRethrowError: !1, injection: { injectErrorUtils: function (a) {\n \"function\" !== typeof a.invokeGuardedCallback ? w(\"197\") : void 0;cb = a.invokeGuardedCallback;\n } }, invokeGuardedCallback: function (a, b, c, d, e, f, g, h, k) {\n cb.apply(K, arguments);\n }, invokeGuardedCallbackAndCatchFirstError: function (a, b, c, d, e, f, g, h, k) {\n K.invokeGuardedCallback.apply(this, arguments);if (K.hasCaughtError()) {\n var p = K.clearCaughtError();K._hasRethrowError || (K._hasRethrowError = !0, K._rethrowError = p);\n }\n }, rethrowCaughtError: function () {\n return db.apply(K, arguments);\n }, hasCaughtError: function () {\n return K._hasCaughtError;\n }, clearCaughtError: function () {\n if (K._hasCaughtError) {\n var a = K._caughtError;K._caughtError = null;K._hasCaughtError = !1;return a;\n }w(\"198\");\n } };\nfunction cb(a, b, c, d, e, f, g, h, k) {\n K._hasCaughtError = !1;K._caughtError = null;var p = Array.prototype.slice.call(arguments, 3);try {\n b.apply(c, p);\n } catch (x) {\n K._caughtError = x, K._hasCaughtError = !0;\n }\n}function db() {\n if (K._hasRethrowError) {\n var a = K._rethrowError;K._rethrowError = null;K._hasRethrowError = !1;throw a;\n }\n}var eb = K,\n fb;function gb(a, b, c, d) {\n b = a.type || \"unknown-event\";a.currentTarget = hb.getNodeFromInstance(d);eb.invokeGuardedCallbackAndCatchFirstError(b, c, void 0, a);a.currentTarget = null;\n}\nvar hb = { isEndish: function (a) {\n return \"topMouseUp\" === a || \"topTouchEnd\" === a || \"topTouchCancel\" === a;\n }, isMoveish: function (a) {\n return \"topMouseMove\" === a || \"topTouchMove\" === a;\n }, isStartish: function (a) {\n return \"topMouseDown\" === a || \"topTouchStart\" === a;\n }, executeDirectDispatch: function (a) {\n var b = a._dispatchListeners,\n c = a._dispatchInstances;Array.isArray(b) ? w(\"103\") : void 0;a.currentTarget = b ? hb.getNodeFromInstance(c) : null;b = b ? b(a) : null;a.currentTarget = null;a._dispatchListeners = null;a._dispatchInstances = null;return b;\n }, executeDispatchesInOrder: function (a, b) {\n var c = a._dispatchListeners,\n d = a._dispatchInstances;if (Array.isArray(c)) for (var e = 0; e < c.length && !a.isPropagationStopped(); e++) gb(a, b, c[e], d[e]);else c && gb(a, b, c, d);a._dispatchListeners = null;a._dispatchInstances = null;\n }, executeDispatchesInOrderStopAtTrue: function (a) {\n a: {\n var b = a._dispatchListeners;var c = a._dispatchInstances;if (Array.isArray(b)) for (var d = 0; d < b.length && !a.isPropagationStopped(); d++) {\n if (b[d](a, c[d])) {\n b = c[d];break a;\n }\n } else if (b && b(a, c)) {\n b = c;break a;\n }b = null;\n }a._dispatchInstances = null;a._dispatchListeners = null;return b;\n }, hasDispatches: function (a) {\n return !!a._dispatchListeners;\n }, getFiberCurrentPropsFromNode: function (a) {\n return fb.getFiberCurrentPropsFromNode(a);\n }, getInstanceFromNode: function (a) {\n return fb.getInstanceFromNode(a);\n }, getNodeFromInstance: function (a) {\n return fb.getNodeFromInstance(a);\n }, injection: { injectComponentTree: function (a) {\n fb = a;\n } } },\n ib = hb,\n jb = null,\n kb = null,\n lb = null;\nfunction mb(a) {\n if (a = ib.getInstanceFromNode(a)) if (\"number\" === typeof a.tag) {\n jb && \"function\" === typeof jb.restoreControlledState ? void 0 : w(\"194\");var b = ib.getFiberCurrentPropsFromNode(a.stateNode);jb.restoreControlledState(a.stateNode, a.type, b);\n } else \"function\" !== typeof a.restoreControlledState ? w(\"195\") : void 0, a.restoreControlledState();\n}\nvar nb = { injection: { injectFiberControlledHostComponent: function (a) {\n jb = a;\n } }, enqueueStateRestore: function (a) {\n kb ? lb ? lb.push(a) : lb = [a] : kb = a;\n }, restoreStateIfNeeded: function () {\n if (kb) {\n var a = kb,\n b = lb;lb = kb = null;mb(a);if (b) for (a = 0; a < b.length; a++) mb(b[a]);\n }\n } };function ob(a, b, c, d, e, f) {\n return a(b, c, d, e, f);\n}function pb(a, b) {\n return a(b);\n}function qb(a, b) {\n return pb(a, b);\n}\nvar rb = !1,\n sb = { batchedUpdates: function (a, b) {\n if (rb) return ob(qb, a, b);rb = !0;try {\n return ob(qb, a, b);\n } finally {\n rb = !1, nb.restoreStateIfNeeded();\n }\n }, injection: { injectStackBatchedUpdates: function (a) {\n ob = a;\n }, injectFiberBatchedUpdates: function (a) {\n pb = a;\n } } },\n tb = F.TEXT_NODE;function ub(a) {\n a = a.target || a.srcElement || window;a.correspondingUseElement && (a = a.correspondingUseElement);return a.nodeType === tb ? a.parentNode : a;\n}var vb = E.HostRoot,\n wb = [];\nfunction xb(a) {\n var b = a.targetInst;do {\n if (!b) {\n a.ancestors.push(b);break;\n }var c = b;if (\"number\" === typeof c.tag) {\n for (; c[\"return\"];) c = c[\"return\"];c = c.tag !== vb ? null : c.stateNode.containerInfo;\n } else {\n for (; c._hostParent;) c = c._hostParent;c = G.getNodeFromInstance(c).parentNode;\n }if (!c) break;a.ancestors.push(b);b = G.getClosestInstanceFromNode(c);\n } while (b);for (c = 0; c < a.ancestors.length; c++) b = a.ancestors[c], yb._handleTopLevel(a.topLevelType, b, a.nativeEvent, ub(a.nativeEvent));\n}\nvar yb = { _enabled: !0, _handleTopLevel: null, setHandleTopLevel: function (a) {\n yb._handleTopLevel = a;\n }, setEnabled: function (a) {\n yb._enabled = !!a;\n }, isEnabled: function () {\n return yb._enabled;\n }, trapBubbledEvent: function (a, b, c) {\n return c ? ba.listen(c, b, yb.dispatchEvent.bind(null, a)) : null;\n }, trapCapturedEvent: function (a, b, c) {\n return c ? ba.capture(c, b, yb.dispatchEvent.bind(null, a)) : null;\n }, dispatchEvent: function (a, b) {\n if (yb._enabled) {\n var c = ub(b);c = G.getClosestInstanceFromNode(c);null === c || \"number\" !== typeof c.tag || bb.isFiberMounted(c) || (c = null);if (wb.length) {\n var d = wb.pop();d.topLevelType = a;d.nativeEvent = b;d.targetInst = c;a = d;\n } else a = { topLevelType: a, nativeEvent: b, targetInst: c, ancestors: [] };try {\n sb.batchedUpdates(xb, a);\n } finally {\n a.topLevelType = null, a.nativeEvent = null, a.targetInst = null, a.ancestors.length = 0, 10 > wb.length && wb.push(a);\n }\n }\n } },\n L = yb;function Cb(a, b) {\n null == b ? w(\"30\") : void 0;if (null == a) return b;if (Array.isArray(a)) {\n if (Array.isArray(b)) return a.push.apply(a, b), a;a.push(b);return a;\n }return Array.isArray(b) ? [a].concat(b) : [a, b];\n}\nfunction Db(a, b, c) {\n Array.isArray(a) ? a.forEach(b, c) : a && b.call(c, a);\n}var Eb = null;function Fb(a, b) {\n a && (ib.executeDispatchesInOrder(a, b), a.isPersistent() || a.constructor.release(a));\n}function Gb(a) {\n return Fb(a, !0);\n}function Hb(a) {\n return Fb(a, !1);\n}\nfunction Ib(a, b, c) {\n switch (a) {case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":\n return !(!c.disabled || \"button\" !== b && \"input\" !== b && \"select\" !== b && \"textarea\" !== b);default:\n return !1;}\n}\nvar Jb = { injection: { injectEventPluginOrder: sa.injectEventPluginOrder, injectEventPluginsByName: sa.injectEventPluginsByName }, getListener: function (a, b) {\n if (\"number\" === typeof a.tag) {\n var c = a.stateNode;if (!c) return null;var d = ib.getFiberCurrentPropsFromNode(c);if (!d) return null;c = d[b];if (Ib(b, a.type, d)) return null;\n } else {\n d = a._currentElement;if (\"string\" === typeof d || \"number\" === typeof d || !a._rootNodeID) return null;a = d.props;c = a[b];if (Ib(b, d.type, a)) return null;\n }c && \"function\" !== typeof c ? w(\"231\", b, typeof c) : void 0;\n return c;\n }, extractEvents: function (a, b, c, d) {\n for (var e, f = sa.plugins, g = 0; g < f.length; g++) {\n var h = f[g];h && (h = h.extractEvents(a, b, c, d)) && (e = Cb(e, h));\n }return e;\n }, enqueueEvents: function (a) {\n a && (Eb = Cb(Eb, a));\n }, processEventQueue: function (a) {\n var b = Eb;Eb = null;a ? Db(b, Gb) : Db(b, Hb);Eb ? w(\"95\") : void 0;eb.rethrowCaughtError();\n } },\n Kb;l.canUseDOM && (Kb = document.implementation && document.implementation.hasFeature && !0 !== document.implementation.hasFeature(\"\", \"\"));\nfunction Lb(a, b) {\n if (!l.canUseDOM || b && !(\"addEventListener\" in document)) return !1;b = \"on\" + a;var c = b in document;c || (c = document.createElement(\"div\"), c.setAttribute(b, \"return;\"), c = \"function\" === typeof c[b]);!c && Kb && \"wheel\" === a && (c = document.implementation.hasFeature(\"Events.wheel\", \"3.0\"));return c;\n}function Mb(a, b) {\n var c = {};c[a.toLowerCase()] = b.toLowerCase();c[\"Webkit\" + a] = \"webkit\" + b;c[\"Moz\" + a] = \"moz\" + b;c[\"ms\" + a] = \"MS\" + b;c[\"O\" + a] = \"o\" + b.toLowerCase();return c;\n}\nvar Nb = { animationend: Mb(\"Animation\", \"AnimationEnd\"), animationiteration: Mb(\"Animation\", \"AnimationIteration\"), animationstart: Mb(\"Animation\", \"AnimationStart\"), transitionend: Mb(\"Transition\", \"TransitionEnd\") },\n Ob = {},\n Pb = {};l.canUseDOM && (Pb = document.createElement(\"div\").style, \"AnimationEvent\" in window || (delete Nb.animationend.animation, delete Nb.animationiteration.animation, delete Nb.animationstart.animation), \"TransitionEvent\" in window || delete Nb.transitionend.transition);\nfunction Qb(a) {\n if (Ob[a]) return Ob[a];if (!Nb[a]) return a;var b = Nb[a],\n c;for (c in b) if (b.hasOwnProperty(c) && c in Pb) return Ob[a] = b[c];return \"\";\n}\nvar Rb = { topAbort: \"abort\", topAnimationEnd: Qb(\"animationend\") || \"animationend\", topAnimationIteration: Qb(\"animationiteration\") || \"animationiteration\", topAnimationStart: Qb(\"animationstart\") || \"animationstart\", topBlur: \"blur\", topCancel: \"cancel\", topCanPlay: \"canplay\", topCanPlayThrough: \"canplaythrough\", topChange: \"change\", topClick: \"click\", topClose: \"close\", topCompositionEnd: \"compositionend\", topCompositionStart: \"compositionstart\", topCompositionUpdate: \"compositionupdate\", topContextMenu: \"contextmenu\", topCopy: \"copy\",\n topCut: \"cut\", topDoubleClick: \"dblclick\", topDrag: \"drag\", topDragEnd: \"dragend\", topDragEnter: \"dragenter\", topDragExit: \"dragexit\", topDragLeave: \"dragleave\", topDragOver: \"dragover\", topDragStart: \"dragstart\", topDrop: \"drop\", topDurationChange: \"durationchange\", topEmptied: \"emptied\", topEncrypted: \"encrypted\", topEnded: \"ended\", topError: \"error\", topFocus: \"focus\", topInput: \"input\", topKeyDown: \"keydown\", topKeyPress: \"keypress\", topKeyUp: \"keyup\", topLoadedData: \"loadeddata\", topLoad: \"load\", topLoadedMetadata: \"loadedmetadata\", topLoadStart: \"loadstart\",\n topMouseDown: \"mousedown\", topMouseMove: \"mousemove\", topMouseOut: \"mouseout\", topMouseOver: \"mouseover\", topMouseUp: \"mouseup\", topPaste: \"paste\", topPause: \"pause\", topPlay: \"play\", topPlaying: \"playing\", topProgress: \"progress\", topRateChange: \"ratechange\", topScroll: \"scroll\", topSeeked: \"seeked\", topSeeking: \"seeking\", topSelectionChange: \"selectionchange\", topStalled: \"stalled\", topSuspend: \"suspend\", topTextInput: \"textInput\", topTimeUpdate: \"timeupdate\", topToggle: \"toggle\", topTouchCancel: \"touchcancel\", topTouchEnd: \"touchend\", topTouchMove: \"touchmove\",\n topTouchStart: \"touchstart\", topTransitionEnd: Qb(\"transitionend\") || \"transitionend\", topVolumeChange: \"volumechange\", topWaiting: \"waiting\", topWheel: \"wheel\" },\n Sb = {},\n Tb = 0,\n Ub = \"_reactListenersID\" + (\"\" + Math.random()).slice(2);function Vb(a) {\n Object.prototype.hasOwnProperty.call(a, Ub) || (a[Ub] = Tb++, Sb[a[Ub]] = {});return Sb[a[Ub]];\n}\nvar M = n({}, { handleTopLevel: function (a, b, c, d) {\n a = Jb.extractEvents(a, b, c, d);Jb.enqueueEvents(a);Jb.processEventQueue(!1);\n } }, { setEnabled: function (a) {\n L && L.setEnabled(a);\n }, isEnabled: function () {\n return !(!L || !L.isEnabled());\n }, listenTo: function (a, b) {\n var c = Vb(b);a = sa.registrationNameDependencies[a];for (var d = 0; d < a.length; d++) {\n var e = a[d];c.hasOwnProperty(e) && c[e] || (\"topWheel\" === e ? Lb(\"wheel\") ? L.trapBubbledEvent(\"topWheel\", \"wheel\", b) : Lb(\"mousewheel\") ? L.trapBubbledEvent(\"topWheel\", \"mousewheel\", b) : L.trapBubbledEvent(\"topWheel\", \"DOMMouseScroll\", b) : \"topScroll\" === e ? L.trapCapturedEvent(\"topScroll\", \"scroll\", b) : \"topFocus\" === e || \"topBlur\" === e ? (L.trapCapturedEvent(\"topFocus\", \"focus\", b), L.trapCapturedEvent(\"topBlur\", \"blur\", b), c.topBlur = !0, c.topFocus = !0) : \"topCancel\" === e ? (Lb(\"cancel\", !0) && L.trapCapturedEvent(\"topCancel\", \"cancel\", b), c.topCancel = !0) : \"topClose\" === e ? (Lb(\"close\", !0) && L.trapCapturedEvent(\"topClose\", \"close\", b), c.topClose = !0) : Rb.hasOwnProperty(e) && L.trapBubbledEvent(e, Rb[e], b), c[e] = !0);\n }\n }, isListeningToAllDependencies: function (a, b) {\n b = Vb(b);a = sa.registrationNameDependencies[a];for (var c = 0; c < a.length; c++) {\n var d = a[c];if (!b.hasOwnProperty(d) || !b[d]) return !1;\n }return !0;\n }, trapBubbledEvent: function (a, b, c) {\n return L.trapBubbledEvent(a, b, c);\n }, trapCapturedEvent: function (a, b, c) {\n return L.trapCapturedEvent(a, b, c);\n } }),\n Wb = { animationIterationCount: !0, borderImageOutset: !0, borderImageSlice: !0, borderImageWidth: !0, boxFlex: !0, boxFlexGroup: !0, boxOrdinalGroup: !0, columnCount: !0, columns: !0, flex: !0, flexGrow: !0, flexPositive: !0, flexShrink: !0, flexNegative: !0,\n flexOrder: !0, gridRow: !0, gridRowEnd: !0, gridRowSpan: !0, gridRowStart: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnSpan: !0, gridColumnStart: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, tabSize: !0, widows: !0, zIndex: !0, zoom: !0, fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeDasharray: !0, strokeDashoffset: !0, strokeMiterlimit: !0, strokeOpacity: !0, strokeWidth: !0 },\n Xb = [\"Webkit\", \"ms\", \"Moz\", \"O\"];\nObject.keys(Wb).forEach(function (a) {\n Xb.forEach(function (b) {\n b = b + a.charAt(0).toUpperCase() + a.substring(1);Wb[b] = Wb[a];\n });\n});\nvar Yb = { isUnitlessNumber: Wb, shorthandPropertyExpansions: { background: { backgroundAttachment: !0, backgroundColor: !0, backgroundImage: !0, backgroundPositionX: !0, backgroundPositionY: !0, backgroundRepeat: !0 }, backgroundPosition: { backgroundPositionX: !0, backgroundPositionY: !0 }, border: { borderWidth: !0, borderStyle: !0, borderColor: !0 }, borderBottom: { borderBottomWidth: !0, borderBottomStyle: !0, borderBottomColor: !0 }, borderLeft: { borderLeftWidth: !0, borderLeftStyle: !0, borderLeftColor: !0 }, borderRight: { borderRightWidth: !0, borderRightStyle: !0,\n borderRightColor: !0 }, borderTop: { borderTopWidth: !0, borderTopStyle: !0, borderTopColor: !0 }, font: { fontStyle: !0, fontVariant: !0, fontWeight: !0, fontSize: !0, lineHeight: !0, fontFamily: !0 }, outline: { outlineWidth: !0, outlineStyle: !0, outlineColor: !0 } } },\n Zb = Yb.isUnitlessNumber,\n $b = !1;if (l.canUseDOM) {\n var ac = document.createElement(\"div\").style;try {\n ac.font = \"\";\n } catch (a) {\n $b = !0;\n }\n}\nvar bc = { createDangerousStringForStyles: function () {}, setValueForStyles: function (a, b) {\n a = a.style;for (var c in b) if (b.hasOwnProperty(c)) {\n var d = 0 === c.indexOf(\"--\");var e = c;var f = b[c];e = null == f || \"boolean\" === typeof f || \"\" === f ? \"\" : d || \"number\" !== typeof f || 0 === f || Zb.hasOwnProperty(e) && Zb[e] ? (\"\" + f).trim() : f + \"px\";\"float\" === c && (c = \"cssFloat\");if (d) a.setProperty(c, e);else if (e) a[c] = e;else if (d = $b && Yb.shorthandPropertyExpansions[c]) for (var g in d) a[g] = \"\";else a[c] = \"\";\n }\n } },\n cc = new RegExp(\"^[\" + A.ATTRIBUTE_NAME_START_CHAR + \"][\" + A.ATTRIBUTE_NAME_CHAR + \"]*$\"),\n dc = {},\n ec = {};function fc(a) {\n if (ec.hasOwnProperty(a)) return !0;if (dc.hasOwnProperty(a)) return !1;if (cc.test(a)) return ec[a] = !0;dc[a] = !0;return !1;\n}\nvar gc = { setAttributeForID: function (a, b) {\n a.setAttribute(A.ID_ATTRIBUTE_NAME, b);\n }, setAttributeForRoot: function (a) {\n a.setAttribute(A.ROOT_ATTRIBUTE_NAME, \"\");\n }, getValueForProperty: function () {}, getValueForAttribute: function () {}, setValueForProperty: function (a, b, c) {\n var d = A.getPropertyInfo(b);if (d && A.shouldSetAttribute(b, c)) {\n var e = d.mutationMethod;e ? e(a, c) : null == c || d.hasBooleanValue && !c || d.hasNumericValue && isNaN(c) || d.hasPositiveNumericValue && 1 > c || d.hasOverloadedBooleanValue && !1 === c ? gc.deleteValueForProperty(a, b) : d.mustUseProperty ? a[d.propertyName] = c : (b = d.attributeName, (e = d.attributeNamespace) ? a.setAttributeNS(e, b, \"\" + c) : d.hasBooleanValue || d.hasOverloadedBooleanValue && !0 === c ? a.setAttribute(b, \"\") : a.setAttribute(b, \"\" + c));\n } else gc.setValueForAttribute(a, b, A.shouldSetAttribute(b, c) ? c : null);\n }, setValueForAttribute: function (a, b, c) {\n fc(b) && (null == c ? a.removeAttribute(b) : a.setAttribute(b, \"\" + c));\n }, deleteValueForAttribute: function (a, b) {\n a.removeAttribute(b);\n }, deleteValueForProperty: function (a, b) {\n var c = A.getPropertyInfo(b);\n c ? (b = c.mutationMethod) ? b(a, void 0) : c.mustUseProperty ? a[c.propertyName] = c.hasBooleanValue ? !1 : \"\" : a.removeAttribute(c.attributeName) : a.removeAttribute(b);\n } },\n hc = gc,\n ic = Qa.ReactDebugCurrentFrame;function jc() {\n return null;\n}\nvar kc = { current: null, phase: null, resetCurrentFiber: function () {\n ic.getCurrentStack = null;kc.current = null;kc.phase = null;\n }, setCurrentFiber: function (a, b) {\n ic.getCurrentStack = jc;kc.current = a;kc.phase = b;\n }, getCurrentFiberOwnerName: function () {\n return null;\n }, getCurrentFiberStackAddendum: jc },\n lc = kc,\n mc = { getHostProps: function (a, b) {\n var c = b.value,\n d = b.checked;return n({ type: void 0, step: void 0, min: void 0, max: void 0 }, b, { defaultChecked: void 0, defaultValue: void 0, value: null != c ? c : a._wrapperState.initialValue, checked: null != d ? d : a._wrapperState.initialChecked });\n }, initWrapperState: function (a, b) {\n var c = b.defaultValue;a._wrapperState = { initialChecked: null != b.checked ? b.checked : b.defaultChecked, initialValue: null != b.value ? b.value : c, controlled: \"checkbox\" === b.type || \"radio\" === b.type ? null != b.checked : null != b.value };\n }, updateWrapper: function (a, b) {\n var c = b.checked;null != c && hc.setValueForProperty(a, \"checked\", c || !1);c = b.value;if (null != c) {\n if (0 === c && \"\" === a.value) a.value = \"0\";else if (\"number\" === b.type) {\n if (b = parseFloat(a.value) || 0, c != b || c == b && a.value != c) a.value = \"\" + c;\n } else a.value !== \"\" + c && (a.value = \"\" + c);\n } else null == b.value && null != b.defaultValue && a.defaultValue !== \"\" + b.defaultValue && (a.defaultValue = \"\" + b.defaultValue), null == b.checked && null != b.defaultChecked && (a.defaultChecked = !!b.defaultChecked);\n }, postMountWrapper: function (a, b) {\n switch (b.type) {case \"submit\":case \"reset\":\n break;case \"color\":case \"date\":case \"datetime\":case \"datetime-local\":case \"month\":case \"time\":case \"week\":\n a.value = \"\";a.value = a.defaultValue;break;default:\n a.value = a.value;}b = a.name;\"\" !== b && (a.name = \"\");a.defaultChecked = !a.defaultChecked;a.defaultChecked = !a.defaultChecked;\"\" !== b && (a.name = b);\n }, restoreControlledState: function (a, b) {\n mc.updateWrapper(a, b);var c = b.name;if (\"radio\" === b.type && null != c) {\n for (b = a; b.parentNode;) b = b.parentNode;c = b.querySelectorAll(\"input[name\\x3d\" + JSON.stringify(\"\" + c) + '][type\\x3d\"radio\"]');for (b = 0; b < c.length; b++) {\n var d = c[b];if (d !== a && d.form === a.form) {\n var e = G.getFiberCurrentPropsFromNode(d);e ? void 0 : w(\"90\");mc.updateWrapper(d, e);\n }\n }\n }\n } },\n qc = mc;\nfunction rc(a) {\n var b = \"\";aa.Children.forEach(a, function (a) {\n null == a || \"string\" !== typeof a && \"number\" !== typeof a || (b += a);\n });return b;\n}var sc = { validateProps: function () {}, postMountWrapper: function (a, b) {\n null != b.value && a.setAttribute(\"value\", b.value);\n }, getHostProps: function (a, b) {\n a = n({ children: void 0 }, b);if (b = rc(b.children)) a.children = b;return a;\n } };\nfunction tc(a, b, c) {\n a = a.options;if (b) {\n b = {};for (var d = 0; d < c.length; d++) b[\"$\" + c[d]] = !0;for (c = 0; c < a.length; c++) d = b.hasOwnProperty(\"$\" + a[c].value), a[c].selected !== d && (a[c].selected = d);\n } else {\n c = \"\" + c;b = null;for (d = 0; d < a.length; d++) {\n if (a[d].value === c) {\n a[d].selected = !0;return;\n }null !== b || a[d].disabled || (b = a[d]);\n }null !== b && (b.selected = !0);\n }\n}\nvar uc = { getHostProps: function (a, b) {\n return n({}, b, { value: void 0 });\n }, initWrapperState: function (a, b) {\n var c = b.value;a._wrapperState = { initialValue: null != c ? c : b.defaultValue, wasMultiple: !!b.multiple };\n }, postMountWrapper: function (a, b) {\n a.multiple = !!b.multiple;var c = b.value;null != c ? tc(a, !!b.multiple, c) : null != b.defaultValue && tc(a, !!b.multiple, b.defaultValue);\n }, postUpdateWrapper: function (a, b) {\n a._wrapperState.initialValue = void 0;var c = a._wrapperState.wasMultiple;a._wrapperState.wasMultiple = !!b.multiple;var d = b.value;\n null != d ? tc(a, !!b.multiple, d) : c !== !!b.multiple && (null != b.defaultValue ? tc(a, !!b.multiple, b.defaultValue) : tc(a, !!b.multiple, b.multiple ? [] : \"\"));\n }, restoreControlledState: function (a, b) {\n var c = b.value;null != c && tc(a, !!b.multiple, c);\n } },\n vc = { getHostProps: function (a, b) {\n null != b.dangerouslySetInnerHTML ? w(\"91\") : void 0;return n({}, b, { value: void 0, defaultValue: void 0, children: \"\" + a._wrapperState.initialValue });\n }, initWrapperState: function (a, b) {\n var c = b.value,\n d = c;null == c && (c = b.defaultValue, b = b.children, null != b && (null != c ? w(\"92\") : void 0, Array.isArray(b) && (1 >= b.length ? void 0 : w(\"93\"), b = b[0]), c = \"\" + b), null == c && (c = \"\"), d = c);a._wrapperState = { initialValue: \"\" + d };\n }, updateWrapper: function (a, b) {\n var c = b.value;null != c && (c = \"\" + c, c !== a.value && (a.value = c), null == b.defaultValue && (a.defaultValue = c));null != b.defaultValue && (a.defaultValue = b.defaultValue);\n }, postMountWrapper: function (a) {\n var b = a.textContent;b === a._wrapperState.initialValue && (a.value = b);\n }, restoreControlledState: function (a, b) {\n vc.updateWrapper(a, b);\n } },\n wc = vc,\n xc = n({ menuitem: !0 }, { area: !0,\n base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });function yc(a, b) {\n b && (xc[a] && (null != b.children || null != b.dangerouslySetInnerHTML ? w(\"137\", a, \"\") : void 0), null != b.dangerouslySetInnerHTML && (null != b.children ? w(\"60\") : void 0, \"object\" === typeof b.dangerouslySetInnerHTML && \"__html\" in b.dangerouslySetInnerHTML ? void 0 : w(\"61\")), null != b.style && \"object\" !== typeof b.style ? w(\"62\", \"\") : void 0);\n}\nfunction zc(a) {\n var b = a.type;return (a = a.nodeName) && \"input\" === a.toLowerCase() && (\"checkbox\" === b || \"radio\" === b);\n}\nfunction Ac(a) {\n var b = zc(a) ? \"checked\" : \"value\",\n c = Object.getOwnPropertyDescriptor(a.constructor.prototype, b),\n d = \"\" + a[b];if (!a.hasOwnProperty(b) && \"function\" === typeof c.get && \"function\" === typeof c.set) return Object.defineProperty(a, b, { enumerable: c.enumerable, configurable: !0, get: function () {\n return c.get.call(this);\n }, set: function (a) {\n d = \"\" + a;c.set.call(this, a);\n } }), { getValue: function () {\n return d;\n }, setValue: function (a) {\n d = \"\" + a;\n }, stopTracking: function () {\n a._valueTracker = null;delete a[b];\n } };\n}\nvar Bc = { _getTrackerFromNode: function (a) {\n return a._valueTracker;\n }, track: function (a) {\n a._valueTracker || (a._valueTracker = Ac(a));\n }, updateValueIfChanged: function (a) {\n if (!a) return !1;var b = a._valueTracker;if (!b) return !0;var c = b.getValue();var d = \"\";a && (d = zc(a) ? a.checked ? \"true\" : \"false\" : a.value);a = d;return a !== c ? (b.setValue(a), !0) : !1;\n }, stopTracking: function (a) {\n (a = a._valueTracker) && a.stopTracking();\n } };\nfunction Cc(a, b) {\n if (-1 === a.indexOf(\"-\")) return \"string\" === typeof b.is;switch (a) {case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":\n return !1;default:\n return !0;}\n}\nvar Dc = ka.Namespaces,\n Ec,\n Fc = function (a) {\n return \"undefined\" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function (b, c, d, e) {\n MSApp.execUnsafeLocalFunction(function () {\n return a(b, c, d, e);\n });\n } : a;\n}(function (a, b) {\n if (a.namespaceURI !== Dc.svg || \"innerHTML\" in a) a.innerHTML = b;else for (Ec = Ec || document.createElement(\"div\"), Ec.innerHTML = \"\\x3csvg\\x3e\" + b + \"\\x3c/svg\\x3e\", b = Ec.firstChild; b.firstChild;) a.appendChild(b.firstChild);\n}),\n Gc = /[\"'&<>]/,\n Hc = F.TEXT_NODE;\nfunction Ic(a, b) {\n if (b) {\n var c = a.firstChild;if (c && c === a.lastChild && c.nodeType === Hc) {\n c.nodeValue = b;return;\n }\n }a.textContent = b;\n}\nl.canUseDOM && (\"textContent\" in document.documentElement || (Ic = function (a, b) {\n if (a.nodeType === Hc) a.nodeValue = b;else {\n if (\"boolean\" === typeof b || \"number\" === typeof b) b = \"\" + b;else {\n b = \"\" + b;var c = Gc.exec(b);if (c) {\n var d = \"\",\n e,\n f = 0;for (e = c.index; e < b.length; e++) {\n switch (b.charCodeAt(e)) {case 34:\n c = \"\\x26quot;\";break;case 38:\n c = \"\\x26amp;\";break;case 39:\n c = \"\\x26#x27;\";break;case 60:\n c = \"\\x26lt;\";break;case 62:\n c = \"\\x26gt;\";break;default:\n continue;}f !== e && (d += b.substring(f, e));f = e + 1;d += c;\n }b = f !== e ? d + b.substring(f, e) : d;\n }\n }Fc(a, b);\n }\n}));\nvar Jc = Ic,\n Kc = lc.getCurrentFiberOwnerName,\n Lc = F.DOCUMENT_NODE,\n Mc = F.DOCUMENT_FRAGMENT_NODE,\n Nc = M.listenTo,\n Oc = sa.registrationNameModules,\n Pc = ka.Namespaces.html,\n Qc = ka.getIntrinsicNamespace;function Rc(a, b) {\n Nc(b, a.nodeType === Lc || a.nodeType === Mc ? a : a.ownerDocument);\n}\nvar Sc = { topAbort: \"abort\", topCanPlay: \"canplay\", topCanPlayThrough: \"canplaythrough\", topDurationChange: \"durationchange\", topEmptied: \"emptied\", topEncrypted: \"encrypted\", topEnded: \"ended\", topError: \"error\", topLoadedData: \"loadeddata\", topLoadedMetadata: \"loadedmetadata\", topLoadStart: \"loadstart\", topPause: \"pause\", topPlay: \"play\", topPlaying: \"playing\", topProgress: \"progress\", topRateChange: \"ratechange\", topSeeked: \"seeked\", topSeeking: \"seeking\", topStalled: \"stalled\", topSuspend: \"suspend\", topTimeUpdate: \"timeupdate\", topVolumeChange: \"volumechange\",\n topWaiting: \"waiting\" },\n N = { createElement: function (a, b, c, d) {\n c = c.nodeType === Lc ? c : c.ownerDocument;d === Pc && (d = Qc(a));d === Pc ? \"script\" === a ? (a = c.createElement(\"div\"), a.innerHTML = \"\\x3cscript\\x3e\\x3c/script\\x3e\", a = a.removeChild(a.firstChild)) : a = \"string\" === typeof b.is ? c.createElement(a, { is: b.is }) : c.createElement(a) : a = c.createElementNS(d, a);return a;\n }, createTextNode: function (a, b) {\n return (b.nodeType === Lc ? b : b.ownerDocument).createTextNode(a);\n }, setInitialProperties: function (a, b, c, d) {\n var e = Cc(b, c);switch (b) {case \"iframe\":case \"object\":\n M.trapBubbledEvent(\"topLoad\", \"load\", a);var f = c;break;case \"video\":case \"audio\":\n for (f in Sc) Sc.hasOwnProperty(f) && M.trapBubbledEvent(f, Sc[f], a);f = c;break;case \"source\":\n M.trapBubbledEvent(\"topError\", \"error\", a);f = c;break;case \"img\":case \"image\":\n M.trapBubbledEvent(\"topError\", \"error\", a);M.trapBubbledEvent(\"topLoad\", \"load\", a);f = c;break;case \"form\":\n M.trapBubbledEvent(\"topReset\", \"reset\", a);M.trapBubbledEvent(\"topSubmit\", \"submit\", a);f = c;break;case \"details\":\n M.trapBubbledEvent(\"topToggle\", \"toggle\", a);f = c;break;case \"input\":\n qc.initWrapperState(a, c);f = qc.getHostProps(a, c);M.trapBubbledEvent(\"topInvalid\", \"invalid\", a);Rc(d, \"onChange\");break;case \"option\":\n sc.validateProps(a, c);f = sc.getHostProps(a, c);break;case \"select\":\n uc.initWrapperState(a, c);f = uc.getHostProps(a, c);M.trapBubbledEvent(\"topInvalid\", \"invalid\", a);Rc(d, \"onChange\");break;case \"textarea\":\n wc.initWrapperState(a, c);f = wc.getHostProps(a, c);M.trapBubbledEvent(\"topInvalid\", \"invalid\", a);Rc(d, \"onChange\");break;default:\n f = c;}yc(b, f, Kc);var g = f,\n h;for (h in g) if (g.hasOwnProperty(h)) {\n var k = g[h];\"style\" === h ? bc.setValueForStyles(a, k) : \"dangerouslySetInnerHTML\" === h ? (k = k ? k.__html : void 0, null != k && Fc(a, k)) : \"children\" === h ? \"string\" === typeof k ? Jc(a, k) : \"number\" === typeof k && Jc(a, \"\" + k) : \"suppressContentEditableWarning\" !== h && (Oc.hasOwnProperty(h) ? null != k && Rc(d, h) : e ? hc.setValueForAttribute(a, h, k) : null != k && hc.setValueForProperty(a, h, k));\n }switch (b) {case \"input\":\n Bc.track(a);qc.postMountWrapper(a, c);break;case \"textarea\":\n Bc.track(a);wc.postMountWrapper(a, c);break;case \"option\":\n sc.postMountWrapper(a, c);break;case \"select\":\n uc.postMountWrapper(a, c);break;default:\n \"function\" === typeof f.onClick && (a.onclick = ca);}\n }, diffProperties: function (a, b, c, d, e) {\n var f = null;switch (b) {case \"input\":\n c = qc.getHostProps(a, c);d = qc.getHostProps(a, d);f = [];break;case \"option\":\n c = sc.getHostProps(a, c);d = sc.getHostProps(a, d);f = [];break;case \"select\":\n c = uc.getHostProps(a, c);d = uc.getHostProps(a, d);f = [];break;case \"textarea\":\n c = wc.getHostProps(a, c);d = wc.getHostProps(a, d);f = [];break;default:\n \"function\" !== typeof c.onClick && \"function\" === typeof d.onClick && (a.onclick = ca);}yc(b, d, Kc);\n var g, h;a = null;for (g in c) if (!d.hasOwnProperty(g) && c.hasOwnProperty(g) && null != c[g]) if (\"style\" === g) for (h in b = c[g], b) b.hasOwnProperty(h) && (a || (a = {}), a[h] = \"\");else \"dangerouslySetInnerHTML\" !== g && \"children\" !== g && \"suppressContentEditableWarning\" !== g && (Oc.hasOwnProperty(g) ? f || (f = []) : (f = f || []).push(g, null));for (g in d) {\n var k = d[g];b = null != c ? c[g] : void 0;if (d.hasOwnProperty(g) && k !== b && (null != k || null != b)) if (\"style\" === g) {\n if (b) {\n for (h in b) !b.hasOwnProperty(h) || k && k.hasOwnProperty(h) || (a || (a = {}), a[h] = \"\");for (h in k) k.hasOwnProperty(h) && b[h] !== k[h] && (a || (a = {}), a[h] = k[h]);\n } else a || (f || (f = []), f.push(g, a)), a = k;\n } else \"dangerouslySetInnerHTML\" === g ? (k = k ? k.__html : void 0, b = b ? b.__html : void 0, null != k && b !== k && (f = f || []).push(g, \"\" + k)) : \"children\" === g ? b === k || \"string\" !== typeof k && \"number\" !== typeof k || (f = f || []).push(g, \"\" + k) : \"suppressContentEditableWarning\" !== g && (Oc.hasOwnProperty(g) ? (null != k && Rc(e, g), f || b === k || (f = [])) : (f = f || []).push(g, k));\n }a && (f = f || []).push(\"style\", a);return f;\n }, updateProperties: function (a, b, c, d, e) {\n Cc(c, d);d = Cc(c, e);for (var f = 0; f < b.length; f += 2) {\n var g = b[f],\n h = b[f + 1];\"style\" === g ? bc.setValueForStyles(a, h) : \"dangerouslySetInnerHTML\" === g ? Fc(a, h) : \"children\" === g ? Jc(a, h) : d ? null != h ? hc.setValueForAttribute(a, g, h) : hc.deleteValueForAttribute(a, g) : null != h ? hc.setValueForProperty(a, g, h) : hc.deleteValueForProperty(a, g);\n }switch (c) {case \"input\":\n qc.updateWrapper(a, e);Bc.updateValueIfChanged(a);break;case \"textarea\":\n wc.updateWrapper(a, e);break;case \"select\":\n uc.postUpdateWrapper(a, e);}\n }, diffHydratedProperties: function (a, b, c, d, e) {\n switch (b) {case \"iframe\":case \"object\":\n M.trapBubbledEvent(\"topLoad\", \"load\", a);break;case \"video\":case \"audio\":\n for (var f in Sc) Sc.hasOwnProperty(f) && M.trapBubbledEvent(f, Sc[f], a);break;case \"source\":\n M.trapBubbledEvent(\"topError\", \"error\", a);break;case \"img\":case \"image\":\n M.trapBubbledEvent(\"topError\", \"error\", a);M.trapBubbledEvent(\"topLoad\", \"load\", a);break;case \"form\":\n M.trapBubbledEvent(\"topReset\", \"reset\", a);M.trapBubbledEvent(\"topSubmit\", \"submit\", a);break;case \"details\":\n M.trapBubbledEvent(\"topToggle\", \"toggle\", a);break;case \"input\":\n qc.initWrapperState(a, c);M.trapBubbledEvent(\"topInvalid\", \"invalid\", a);Rc(e, \"onChange\");break;case \"option\":\n sc.validateProps(a, c);break;case \"select\":\n uc.initWrapperState(a, c);M.trapBubbledEvent(\"topInvalid\", \"invalid\", a);Rc(e, \"onChange\");break;case \"textarea\":\n wc.initWrapperState(a, c), M.trapBubbledEvent(\"topInvalid\", \"invalid\", a), Rc(e, \"onChange\");}yc(b, c, Kc);d = null;for (var g in c) c.hasOwnProperty(g) && (f = c[g], \"children\" === g ? \"string\" === typeof f ? a.textContent !== f && (d = [\"children\", f]) : \"number\" === typeof f && a.textContent !== \"\" + f && (d = [\"children\", \"\" + f]) : Oc.hasOwnProperty(g) && null != f && Rc(e, g));switch (b) {case \"input\":\n Bc.track(a);qc.postMountWrapper(a, c);break;case \"textarea\":\n Bc.track(a);wc.postMountWrapper(a, c);break;case \"select\":case \"option\":\n break;default:\n \"function\" === typeof c.onClick && (a.onclick = ca);}return d;\n }, diffHydratedText: function (a, b) {\n return a.nodeValue !== b;\n }, warnForDeletedHydratableElement: function () {}, warnForDeletedHydratableText: function () {}, warnForInsertedHydratedElement: function () {}, warnForInsertedHydratedText: function () {}, restoreControlledState: function (a, b, c) {\n switch (b) {case \"input\":\n qc.restoreControlledState(a, c);break;case \"textarea\":\n wc.restoreControlledState(a, c);break;case \"select\":\n uc.restoreControlledState(a, c);}\n } },\n Tc = void 0;\nif (l.canUseDOM) {\n if (\"function\" !== typeof requestIdleCallback) {\n var Uc = null,\n Vc = null,\n Wc = !1,\n Xc = !1,\n Yc = 0,\n Zc = 33,\n $c = 33,\n ad = { timeRemaining: \"object\" === typeof performance && \"function\" === typeof performance.now ? function () {\n return Yc - performance.now();\n } : function () {\n return Yc - Date.now();\n } },\n bd = \"__reactIdleCallback$\" + Math.random().toString(36).slice(2);window.addEventListener(\"message\", function (a) {\n a.source === window && a.data === bd && (Wc = !1, a = Vc, Vc = null, null !== a && a(ad));\n }, !1);var cd = function (a) {\n Xc = !1;var b = a - Yc + $c;b < $c && Zc < $c ? (8 > b && (b = 8), $c = b < Zc ? Zc : b) : Zc = b;Yc = a + $c;Wc || (Wc = !0, window.postMessage(bd, \"*\"));b = Uc;Uc = null;null !== b && b(a);\n };Tc = function (a) {\n Vc = a;Xc || (Xc = !0, requestAnimationFrame(cd));return 0;\n };\n } else Tc = requestIdleCallback;\n} else Tc = function (a) {\n setTimeout(function () {\n a({ timeRemaining: function () {\n return Infinity;\n } });\n });return 0;\n};\nvar dd = { rIC: Tc },\n ed = { enableAsyncSubtreeAPI: !0 },\n Q = { NoWork: 0, SynchronousPriority: 1, TaskPriority: 2, HighPriority: 3, LowPriority: 4, OffscreenPriority: 5 },\n fd = J.Callback,\n gd = Q.NoWork,\n hd = Q.SynchronousPriority,\n id = Q.TaskPriority,\n jd = E.ClassComponent,\n kd = E.HostRoot,\n md = void 0,\n nd = void 0;function od(a, b) {\n return a !== id && a !== hd || b !== id && b !== hd ? a === gd && b !== gd ? -255 : a !== gd && b === gd ? 255 : a - b : 0;\n}function pd() {\n return { first: null, last: null, hasForceUpdate: !1, callbackList: null };\n}\nfunction qd(a, b, c, d) {\n null !== c ? c.next = b : (b.next = a.first, a.first = b);null !== d ? b.next = d : a.last = b;\n}function rd(a, b) {\n b = b.priorityLevel;var c = null;if (null !== a.last && 0 >= od(a.last.priorityLevel, b)) c = a.last;else for (a = a.first; null !== a && 0 >= od(a.priorityLevel, b);) c = a, a = a.next;return c;\n}\nfunction sd(a, b) {\n var c = a.alternate,\n d = a.updateQueue;null === d && (d = a.updateQueue = pd());null !== c ? (a = c.updateQueue, null === a && (a = c.updateQueue = pd())) : a = null;md = d;nd = a !== d ? a : null;var e = md;c = nd;var f = rd(e, b),\n g = null !== f ? f.next : e.first;if (null === c) return qd(e, b, f, g), null;d = rd(c, b);a = null !== d ? d.next : c.first;qd(e, b, f, g);if (g === a && null !== g || f === d && null !== f) return null === d && (c.first = b), null === a && (c.last = null), null;b = { priorityLevel: b.priorityLevel, partialState: b.partialState, callback: b.callback, isReplace: b.isReplace,\n isForced: b.isForced, isTopLevelUnmount: b.isTopLevelUnmount, next: null };qd(c, b, d, a);return b;\n}function td(a, b, c, d) {\n a = a.partialState;return \"function\" === typeof a ? a.call(b, c, d) : a;\n}\nvar ud = { addUpdate: function (a, b, c, d) {\n sd(a, { priorityLevel: d, partialState: b, callback: c, isReplace: !1, isForced: !1, isTopLevelUnmount: !1, next: null });\n }, addReplaceUpdate: function (a, b, c, d) {\n sd(a, { priorityLevel: d, partialState: b, callback: c, isReplace: !0, isForced: !1, isTopLevelUnmount: !1, next: null });\n }, addForceUpdate: function (a, b, c) {\n sd(a, { priorityLevel: c, partialState: null, callback: b, isReplace: !1, isForced: !0, isTopLevelUnmount: !1, next: null });\n }, getUpdatePriority: function (a) {\n var b = a.updateQueue;return null === b || a.tag !== jd && a.tag !== kd ? gd : null !== b.first ? b.first.priorityLevel : gd;\n }, addTopLevelUpdate: function (a, b, c, d) {\n var e = null === b.element;b = { priorityLevel: d, partialState: b, callback: c, isReplace: !1, isForced: !1, isTopLevelUnmount: e, next: null };a = sd(a, b);e && (e = md, c = nd, null !== e && null !== b.next && (b.next = null, e.last = b), null !== c && null !== a && null !== a.next && (a.next = null, c.last = b));\n }, beginUpdateQueue: function (a, b, c, d, e, f, g) {\n null !== a && a.updateQueue === c && (c = b.updateQueue = { first: c.first, last: c.last, callbackList: null, hasForceUpdate: !1 });\n a = c.callbackList;for (var h = c.hasForceUpdate, k = !0, p = c.first; null !== p && 0 >= od(p.priorityLevel, g);) {\n c.first = p.next;null === c.first && (c.last = null);var x;if (p.isReplace) e = td(p, d, e, f), k = !0;else if (x = td(p, d, e, f)) e = k ? n({}, e, x) : n(e, x), k = !1;p.isForced && (h = !0);null === p.callback || p.isTopLevelUnmount && null !== p.next || (a = null !== a ? a : [], a.push(p.callback), b.effectTag |= fd);p = p.next;\n }c.callbackList = a;c.hasForceUpdate = h;null !== c.first || null !== a || h || (b.updateQueue = null);return e;\n }, commitCallbacks: function (a, b, c) {\n a = b.callbackList;\n if (null !== a) for (b.callbackList = null, b = 0; b < a.length; b++) {\n var d = a[b];\"function\" !== typeof d ? w(\"191\", d) : void 0;d.call(c);\n }\n } },\n vd = [],\n wd = -1,\n xd = { createCursor: function (a) {\n return { current: a };\n }, isEmpty: function () {\n return -1 === wd;\n }, pop: function (a) {\n 0 > wd || (a.current = vd[wd], vd[wd] = null, wd--);\n }, push: function (a, b) {\n wd++;vd[wd] = a.current;a.current = b;\n }, reset: function () {\n for (; -1 < wd;) vd[wd] = null, wd--;\n } },\n yd = bb.isFiberMounted,\n zd = E.ClassComponent,\n Ad = E.HostRoot,\n Bd = xd.createCursor,\n Cd = xd.pop,\n Dd = xd.push,\n Ed = Bd(da),\n Fd = Bd(!1),\n Ld = da;\nfunction Md(a, b, c) {\n a = a.stateNode;a.__reactInternalMemoizedUnmaskedChildContext = b;a.__reactInternalMemoizedMaskedChildContext = c;\n}function Nd(a) {\n return a.tag === zd && null != a.type.childContextTypes;\n}function Od(a, b) {\n var c = a.stateNode,\n d = a.type.childContextTypes;if (\"function\" !== typeof c.getChildContext) return b;c = c.getChildContext();for (var e in c) e in d ? void 0 : w(\"108\", Ra(a) || \"Unknown\", e);return n({}, b, c);\n}\nvar R = { getUnmaskedContext: function (a) {\n return Nd(a) ? Ld : Ed.current;\n }, cacheContext: Md, getMaskedContext: function (a, b) {\n var c = a.type.contextTypes;if (!c) return da;var d = a.stateNode;if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) return d.__reactInternalMemoizedMaskedChildContext;var e = {},\n f;for (f in c) e[f] = b[f];d && Md(a, b, e);return e;\n }, hasContextChanged: function () {\n return Fd.current;\n }, isContextConsumer: function (a) {\n return a.tag === zd && null != a.type.contextTypes;\n }, isContextProvider: Nd, popContextProvider: function (a) {\n Nd(a) && (Cd(Fd, a), Cd(Ed, a));\n }, popTopLevelContextObject: function (a) {\n Cd(Fd, a);Cd(Ed, a);\n }, pushTopLevelContextObject: function (a, b, c) {\n null != Ed.cursor ? w(\"168\") : void 0;Dd(Ed, b, a);Dd(Fd, c, a);\n }, processChildContext: Od, pushContextProvider: function (a) {\n if (!Nd(a)) return !1;var b = a.stateNode;b = b && b.__reactInternalMemoizedMergedChildContext || da;Ld = Ed.current;Dd(Ed, b, a);Dd(Fd, Fd.current, a);return !0;\n }, invalidateContextProvider: function (a, b) {\n var c = a.stateNode;c ? void 0 : w(\"169\");if (b) {\n var d = Od(a, Ld, !0);c.__reactInternalMemoizedMergedChildContext = d;Cd(Fd, a);Cd(Ed, a);Dd(Ed, d, a);\n } else Cd(Fd, a);Dd(Fd, b, a);\n }, resetContext: function () {\n Ld = da;Ed.current = da;Fd.current = !1;\n }, findCurrentUnmaskedContext: function (a) {\n for (yd(a) && a.tag === zd ? void 0 : w(\"170\"); a.tag !== Ad;) {\n if (Nd(a)) return a.stateNode.__reactInternalMemoizedMergedChildContext;(a = a[\"return\"]) ? void 0 : w(\"171\");\n }return a.stateNode.context;\n } },\n Pd = { NoContext: 0, AsyncUpdates: 1 },\n Qd = E.IndeterminateComponent,\n Rd = E.ClassComponent,\n Sd = E.HostRoot,\n Td = E.HostComponent,\n Ud = E.HostText,\n Vd = E.HostPortal,\n Wd = E.CoroutineComponent,\n Xd = E.YieldComponent,\n Yd = E.Fragment,\n Zd = Q.NoWork,\n $d = Pd.NoContext,\n ae = J.NoEffect;function be(a, b, c) {\n this.tag = a;this.key = b;this.stateNode = this.type = null;this.sibling = this.child = this[\"return\"] = null;this.index = 0;this.memoizedState = this.updateQueue = this.memoizedProps = this.pendingProps = this.ref = null;this.internalContextTag = c;this.effectTag = ae;this.lastEffect = this.firstEffect = this.nextEffect = null;this.pendingWorkPriority = Zd;this.alternate = null;\n}\nfunction ce(a, b, c) {\n var d = void 0;\"function\" === typeof a ? (d = a.prototype && a.prototype.isReactComponent ? new be(Rd, b, c) : new be(Qd, b, c), d.type = a) : \"string\" === typeof a ? (d = new be(Td, b, c), d.type = a) : \"object\" === typeof a && null !== a && \"number\" === typeof a.tag ? d = a : w(\"130\", null == a ? a : typeof a, \"\");return d;\n}\nvar de = { createWorkInProgress: function (a, b) {\n var c = a.alternate;null === c ? (c = new be(a.tag, a.key, a.internalContextTag), c.type = a.type, c.stateNode = a.stateNode, c.alternate = a, a.alternate = c) : (c.effectTag = ae, c.nextEffect = null, c.firstEffect = null, c.lastEffect = null);c.pendingWorkPriority = b;c.child = a.child;c.memoizedProps = a.memoizedProps;c.memoizedState = a.memoizedState;c.updateQueue = a.updateQueue;c.sibling = a.sibling;c.index = a.index;c.ref = a.ref;return c;\n }, createHostRootFiber: function () {\n return new be(Sd, null, $d);\n },\n createFiberFromElement: function (a, b, c) {\n b = ce(a.type, a.key, b, null);b.pendingProps = a.props;b.pendingWorkPriority = c;return b;\n }, createFiberFromFragment: function (a, b, c) {\n b = new be(Yd, null, b);b.pendingProps = a;b.pendingWorkPriority = c;return b;\n }, createFiberFromText: function (a, b, c) {\n b = new be(Ud, null, b);b.pendingProps = a;b.pendingWorkPriority = c;return b;\n }, createFiberFromElementType: ce, createFiberFromHostInstanceForDeletion: function () {\n var a = new be(Td, null, $d);a.type = \"DELETED\";return a;\n }, createFiberFromCoroutine: function (a, b, c) {\n b = new be(Wd, a.key, b);b.type = a.handler;b.pendingProps = a;b.pendingWorkPriority = c;return b;\n }, createFiberFromYield: function (a, b) {\n return new be(Xd, null, b);\n }, createFiberFromPortal: function (a, b, c) {\n b = new be(Vd, a.key, b);b.pendingProps = a.children || [];b.pendingWorkPriority = c;b.stateNode = { containerInfo: a.containerInfo, implementation: a.implementation };return b;\n }, largerPriority: function (a, b) {\n return a !== Zd && (b === Zd || b > a) ? a : b;\n } },\n ee = de.createHostRootFiber,\n fe = E.IndeterminateComponent,\n ge = E.FunctionalComponent,\n he = E.ClassComponent,\n ie = E.HostComponent,\n je,\n ke;\"function\" === typeof Symbol && Symbol[\"for\"] ? (je = Symbol[\"for\"](\"react.coroutine\"), ke = Symbol[\"for\"](\"react.yield\")) : (je = 60104, ke = 60105);\nvar le = { createCoroutine: function (a, b, c) {\n var d = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;return { $$typeof: je, key: null == d ? null : \"\" + d, children: a, handler: b, props: c };\n }, createYield: function (a) {\n return { $$typeof: ke, value: a };\n }, isCoroutine: function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === je;\n }, isYield: function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === ke;\n }, REACT_YIELD_TYPE: ke, REACT_COROUTINE_TYPE: je },\n me = \"function\" === typeof Symbol && Symbol[\"for\"] && Symbol[\"for\"](\"react.portal\") || 60106,\n ne = { createPortal: function (a, b, c) {\n var d = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;return { $$typeof: me, key: null == d ? null : \"\" + d, children: a, containerInfo: b, implementation: c };\n }, isPortal: function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === me;\n }, REACT_PORTAL_TYPE: me },\n oe = le.REACT_COROUTINE_TYPE,\n pe = le.REACT_YIELD_TYPE,\n qe = ne.REACT_PORTAL_TYPE,\n re = de.createWorkInProgress,\n se = de.createFiberFromElement,\n te = de.createFiberFromFragment,\n ue = de.createFiberFromText,\n ve = de.createFiberFromCoroutine,\n we = de.createFiberFromYield,\n xe = de.createFiberFromPortal,\n ye = Array.isArray,\n ze = E.FunctionalComponent,\n Ae = E.ClassComponent,\n Be = E.HostText,\n Ce = E.HostPortal,\n De = E.CoroutineComponent,\n Ee = E.YieldComponent,\n Fe = E.Fragment,\n Ge = J.NoEffect,\n He = J.Placement,\n Ie = J.Deletion,\n Je = \"function\" === typeof Symbol && Symbol.iterator,\n Ke = \"function\" === typeof Symbol && Symbol[\"for\"] && Symbol[\"for\"](\"react.element\") || 60103;\nfunction Le(a) {\n if (null === a || \"undefined\" === typeof a) return null;a = Je && a[Je] || a[\"@@iterator\"];return \"function\" === typeof a ? a : null;\n}\nfunction Me(a, b) {\n var c = b.ref;if (null !== c && \"function\" !== typeof c) {\n if (b._owner) {\n b = b._owner;var d = void 0;b && (\"number\" === typeof b.tag ? (b.tag !== Ae ? w(\"110\") : void 0, d = b.stateNode) : d = b.getPublicInstance());d ? void 0 : w(\"147\", c);var e = \"\" + c;if (null !== a && null !== a.ref && a.ref._stringRef === e) return a.ref;a = function (a) {\n var b = d.refs === da ? d.refs = {} : d.refs;null === a ? delete b[e] : b[e] = a;\n };a._stringRef = e;return a;\n }\"string\" !== typeof c ? w(\"148\") : void 0;b._owner ? void 0 : w(\"149\", c);\n }return c;\n}\nfunction Ne(a, b) {\n \"textarea\" !== a.type && w(\"31\", \"[object Object]\" === Object.prototype.toString.call(b) ? \"object with keys {\" + Object.keys(b).join(\", \") + \"}\" : b, \"\");\n}\nfunction Oe(a, b) {\n function c(c, d) {\n if (b) {\n if (!a) {\n if (null === d.alternate) return;d = d.alternate;\n }var m = c.lastEffect;null !== m ? (m.nextEffect = d, c.lastEffect = d) : c.firstEffect = c.lastEffect = d;d.nextEffect = null;d.effectTag = Ie;\n }\n }function d(a, d) {\n if (!b) return null;for (; null !== d;) c(a, d), d = d.sibling;return null;\n }function e(a, b) {\n for (a = new Map(); null !== b;) null !== b.key ? a.set(b.key, b) : a.set(b.index, b), b = b.sibling;return a;\n }function f(b, c) {\n if (a) return b = re(b, c), b.index = 0, b.sibling = null, b;b.pendingWorkPriority = c;b.effectTag = Ge;\n b.index = 0;b.sibling = null;return b;\n }function g(a, c, d) {\n a.index = d;if (!b) return c;d = a.alternate;if (null !== d) return d = d.index, d < c ? (a.effectTag = He, c) : d;a.effectTag = He;return c;\n }function h(a) {\n b && null === a.alternate && (a.effectTag = He);return a;\n }function k(a, b, c, d) {\n if (null === b || b.tag !== Be) return c = ue(c, a.internalContextTag, d), c[\"return\"] = a, c;b = f(b, d);b.pendingProps = c;b[\"return\"] = a;return b;\n }function p(a, b, c, d) {\n if (null === b || b.type !== c.type) return d = se(c, a.internalContextTag, d), d.ref = Me(b, c), d[\"return\"] = a, d;d = f(b, d);d.ref = Me(b, c);d.pendingProps = c.props;d[\"return\"] = a;return d;\n }function x(a, b, c, d) {\n if (null === b || b.tag !== De) return c = ve(c, a.internalContextTag, d), c[\"return\"] = a, c;b = f(b, d);b.pendingProps = c;b[\"return\"] = a;return b;\n }function S(a, b, c, d) {\n if (null === b || b.tag !== Ee) return b = we(c, a.internalContextTag, d), b.type = c.value, b[\"return\"] = a, b;b = f(b, d);b.type = c.value;b[\"return\"] = a;return b;\n }function D(a, b, c, d) {\n if (null === b || b.tag !== Ce || b.stateNode.containerInfo !== c.containerInfo || b.stateNode.implementation !== c.implementation) return c = xe(c, a.internalContextTag, d), c[\"return\"] = a, c;b = f(b, d);b.pendingProps = c.children || [];b[\"return\"] = a;return b;\n }function y(a, b, c, d) {\n if (null === b || b.tag !== Fe) return c = te(c, a.internalContextTag, d), c[\"return\"] = a, c;b = f(b, d);b.pendingProps = c;b[\"return\"] = a;return b;\n }function B(a, b, c) {\n if (\"string\" === typeof b || \"number\" === typeof b) return b = ue(\"\" + b, a.internalContextTag, c), b[\"return\"] = a, b;if (\"object\" === typeof b && null !== b) {\n switch (b.$$typeof) {case Ke:\n return c = se(b, a.internalContextTag, c), c.ref = Me(null, b), c[\"return\"] = a, c;case oe:\n return b = ve(b, a.internalContextTag, c), b[\"return\"] = a, b;case pe:\n return c = we(b, a.internalContextTag, c), c.type = b.value, c[\"return\"] = a, c;case qe:\n return b = xe(b, a.internalContextTag, c), b[\"return\"] = a, b;}if (ye(b) || Le(b)) return b = te(b, a.internalContextTag, c), b[\"return\"] = a, b;Ne(a, b);\n }return null;\n }function H(a, b, c, d) {\n var e = null !== b ? b.key : null;if (\"string\" === typeof c || \"number\" === typeof c) return null !== e ? null : k(a, b, \"\" + c, d);if (\"object\" === typeof c && null !== c) {\n switch (c.$$typeof) {case Ke:\n return c.key === e ? p(a, b, c, d) : null;case oe:\n return c.key === e ? x(a, b, c, d) : null;case pe:\n return null === e ? S(a, b, c, d) : null;case qe:\n return c.key === e ? D(a, b, c, d) : null;}if (ye(c) || Le(c)) return null !== e ? null : y(a, b, c, d);Ne(a, c);\n }return null;\n }function C(a, b, c, d, e) {\n if (\"string\" === typeof d || \"number\" === typeof d) return a = a.get(c) || null, k(b, a, \"\" + d, e);if (\"object\" === typeof d && null !== d) {\n switch (d.$$typeof) {case Ke:\n return a = a.get(null === d.key ? c : d.key) || null, p(b, a, d, e);case oe:\n return a = a.get(null === d.key ? c : d.key) || null, x(b, a, d, e);case pe:\n return a = a.get(c) || null, S(b, a, d, e);case qe:\n return a = a.get(null === d.key ? c : d.key) || null, D(b, a, d, e);}if (ye(d) || Le(d)) return a = a.get(c) || null, y(b, a, d, e);Ne(b, d);\n }return null;\n }function Ca(a, f, h, k) {\n for (var m = null, t = null, q = f, r = f = 0, p = null; null !== q && r < h.length; r++) {\n q.index > r ? (p = q, q = null) : p = q.sibling;var v = H(a, q, h[r], k);if (null === v) {\n null === q && (q = p);break;\n }b && q && null === v.alternate && c(a, q);f = g(v, f, r);null === t ? m = v : t.sibling = v;t = v;q = p;\n }if (r === h.length) return d(a, q), m;if (null === q) {\n for (; r < h.length; r++) if (q = B(a, h[r], k)) f = g(q, f, r), null === t ? m = q : t.sibling = q, t = q;return m;\n }for (q = e(a, q); r < h.length; r++) if (p = C(q, a, r, h[r], k)) {\n if (b && null !== p.alternate) q[\"delete\"](null === p.key ? r : p.key);f = g(p, f, r);null === t ? m = p : t.sibling = p;t = p;\n }b && q.forEach(function (b) {\n return c(a, b);\n });return m;\n }function r(a, f, h, r) {\n var m = Le(h);\"function\" !== typeof m ? w(\"150\") : void 0;h = m.call(h);null == h ? w(\"151\") : void 0;for (var t = m = null, q = f, k = f = 0, p = null, v = h.next(); null !== q && !v.done; k++, v = h.next()) {\n q.index > k ? (p = q, q = null) : p = q.sibling;var V = H(a, q, v.value, r);if (null === V) {\n q || (q = p);break;\n }b && q && null === V.alternate && c(a, q);f = g(V, f, k);null === t ? m = V : t.sibling = V;t = V;q = p;\n }if (v.done) return d(a, q), m;if (null === q) {\n for (; !v.done; k++, v = h.next()) v = B(a, v.value, r), null !== v && (f = g(v, f, k), null === t ? m = v : t.sibling = v, t = v);return m;\n }for (q = e(a, q); !v.done; k++, v = h.next()) if (v = C(q, a, k, v.value, r), null !== v) {\n if (b && null !== v.alternate) q[\"delete\"](null === v.key ? k : v.key);f = g(v, f, k);null === t ? m = v : t.sibling = v;t = v;\n }b && q.forEach(function (b) {\n return c(a, b);\n });return m;\n }return function (a, b, e, g) {\n var m = \"object\" === typeof e && null !== e;if (m) switch (e.$$typeof) {case Ke:\n a: {\n var C = e.key;for (m = b; null !== m;) {\n if (m.key === C) {\n if (m.type === e.type) {\n d(a, m.sibling);b = f(m, g);b.ref = Me(m, e);b.pendingProps = e.props;b[\"return\"] = a;a = b;break a;\n } else {\n d(a, m);break;\n }\n } else c(a, m);m = m.sibling;\n }g = se(e, a.internalContextTag, g);g.ref = Me(b, e);g[\"return\"] = a;a = g;\n }return h(a);case oe:\n a: {\n for (m = e.key; null !== b;) {\n if (b.key === m) {\n if (b.tag === De) {\n d(a, b.sibling);b = f(b, g);b.pendingProps = e;b[\"return\"] = a;a = b;break a;\n } else {\n d(a, b);break;\n }\n } else c(a, b);b = b.sibling;\n }e = ve(e, a.internalContextTag, g);e[\"return\"] = a;a = e;\n }return h(a);case pe:\n a: {\n if (null !== b) if (b.tag === Ee) {\n d(a, b.sibling);b = f(b, g);b.type = e.value;b[\"return\"] = a;a = b;break a;\n } else d(a, b);b = we(e, a.internalContextTag, g);b.type = e.value;b[\"return\"] = a;a = b;\n }return h(a);case qe:\n a: {\n for (m = e.key; null !== b;) {\n if (b.key === m) {\n if (b.tag === Ce && b.stateNode.containerInfo === e.containerInfo && b.stateNode.implementation === e.implementation) {\n d(a, b.sibling);b = f(b, g);b.pendingProps = e.children || [];b[\"return\"] = a;a = b;break a;\n } else {\n d(a, b);break;\n }\n } else c(a, b);b = b.sibling;\n }e = xe(e, a.internalContextTag, g);e[\"return\"] = a;a = e;\n }return h(a);}if (\"string\" === typeof e || \"number\" === typeof e) return e = \"\" + e, null !== b && b.tag === Be ? (d(a, b.sibling), b = f(b, g), b.pendingProps = e, b[\"return\"] = a, a = b) : (d(a, b), e = ue(e, a.internalContextTag, g), e[\"return\"] = a, a = e), h(a);if (ye(e)) return Ca(a, b, e, g);if (Le(e)) return r(a, b, e, g);m && Ne(a, e);if (\"undefined\" === typeof e) switch (a.tag) {case Ae:case ze:\n e = a.type, w(\"152\", e.displayName || e.name || \"Component\");}return d(a, b);\n };\n}\nvar Pe = Oe(!0, !0),\n Qe = Oe(!1, !0),\n Re = Oe(!1, !1),\n Se = { reconcileChildFibers: Pe, reconcileChildFibersInPlace: Qe, mountChildFibersInPlace: Re, cloneChildFibers: function (a, b) {\n null !== a && b.child !== a.child ? w(\"153\") : void 0;if (null !== b.child) {\n a = b.child;var c = re(a, a.pendingWorkPriority);c.pendingProps = a.pendingProps;b.child = c;for (c[\"return\"] = b; null !== a.sibling;) a = a.sibling, c = c.sibling = re(a, a.pendingWorkPriority), c.pendingProps = a.pendingProps, c[\"return\"] = b;c.sibling = null;\n }\n } },\n Te = J.Update,\n Ue = Pd.AsyncUpdates,\n Ve = R.cacheContext,\n We = R.getMaskedContext,\n Xe = R.getUnmaskedContext,\n Ye = R.isContextConsumer,\n Ze = ud.addUpdate,\n $e = ud.addReplaceUpdate,\n af = ud.addForceUpdate,\n bf = ud.beginUpdateQueue,\n cf = R.hasContextChanged,\n df = bb.isMounted;\nfunction ef(a, b, c, d) {\n function e(a, b) {\n b.updater = f;a.stateNode = b;Pa.set(b, a);\n }var f = { isMounted: df, enqueueSetState: function (c, d, e) {\n c = Pa.get(c);var f = b(c, !1);Ze(c, d, void 0 === e ? null : e, f);a(c, f);\n }, enqueueReplaceState: function (c, d, e) {\n c = Pa.get(c);var f = b(c, !1);$e(c, d, void 0 === e ? null : e, f);a(c, f);\n }, enqueueForceUpdate: function (c, d) {\n c = Pa.get(c);var e = b(c, !1);af(c, void 0 === d ? null : d, e);a(c, e);\n } };return { adoptClassInstance: e, constructClassInstance: function (a, b) {\n var c = a.type,\n d = Xe(a),\n f = Ye(a),\n g = f ? We(a, d) : da;b = new c(b, g);\n e(a, b);f && Ve(a, d, g);return b;\n }, mountClassInstance: function (a, b) {\n var c = a.alternate,\n d = a.stateNode,\n e = d.state || null,\n g = a.pendingProps;g ? void 0 : w(\"158\");var h = Xe(a);d.props = g;d.state = e;d.refs = da;d.context = We(a, h);ed.enableAsyncSubtreeAPI && null != a.type && null != a.type.prototype && !0 === a.type.prototype.unstable_isAsyncReactComponent && (a.internalContextTag |= Ue);\"function\" === typeof d.componentWillMount && (h = d.state, d.componentWillMount(), h !== d.state && f.enqueueReplaceState(d, d.state, null), h = a.updateQueue, null !== h && (d.state = bf(c, a, h, d, e, g, b)));\"function\" === typeof d.componentDidMount && (a.effectTag |= Te);\n }, updateClassInstance: function (a, b, e) {\n var g = b.stateNode;g.props = b.memoizedProps;g.state = b.memoizedState;var h = b.memoizedProps,\n k = b.pendingProps;k || (k = h, null == k ? w(\"159\") : void 0);var D = g.context,\n y = Xe(b);y = We(b, y);\"function\" !== typeof g.componentWillReceiveProps || h === k && D === y || (D = g.state, g.componentWillReceiveProps(k, y), g.state !== D && f.enqueueReplaceState(g, g.state, null));D = b.memoizedState;e = null !== b.updateQueue ? bf(a, b, b.updateQueue, g, D, k, e) : D;if (!(h !== k || D !== e || cf() || null !== b.updateQueue && b.updateQueue.hasForceUpdate)) return \"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && D === a.memoizedState || (b.effectTag |= Te), !1;var B = k;if (null === h || null !== b.updateQueue && b.updateQueue.hasForceUpdate) B = !0;else {\n var H = b.stateNode,\n C = b.type;B = \"function\" === typeof H.shouldComponentUpdate ? H.shouldComponentUpdate(B, e, y) : C.prototype && C.prototype.isPureReactComponent ? !ea(h, B) || !ea(D, e) : !0;\n }B ? (\"function\" === typeof g.componentWillUpdate && g.componentWillUpdate(k, e, y), \"function\" === typeof g.componentDidUpdate && (b.effectTag |= Te)) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && D === a.memoizedState || (b.effectTag |= Te), c(b, k), d(b, e));g.props = k;g.state = e;g.context = y;return B;\n } };\n}\nvar ff = Se.mountChildFibersInPlace,\n gf = Se.reconcileChildFibers,\n hf = Se.reconcileChildFibersInPlace,\n jf = Se.cloneChildFibers,\n kf = ud.beginUpdateQueue,\n lf = R.getMaskedContext,\n mf = R.getUnmaskedContext,\n nf = R.hasContextChanged,\n of = R.pushContextProvider,\n pf = R.pushTopLevelContextObject,\n qf = R.invalidateContextProvider,\n rf = E.IndeterminateComponent,\n sf = E.FunctionalComponent,\n tf = E.ClassComponent,\n uf = E.HostRoot,\n wf = E.HostComponent,\n xf = E.HostText,\n yf = E.HostPortal,\n zf = E.CoroutineComponent,\n Af = E.CoroutineHandlerPhase,\n Bf = E.YieldComponent,\n Cf = E.Fragment,\n Df = Q.NoWork,\n Ef = Q.OffscreenPriority,\n Ff = J.PerformedWork,\n Gf = J.Placement,\n Hf = J.ContentReset,\n If = J.Err,\n Jf = J.Ref,\n Kf = Qa.ReactCurrentOwner;\nfunction Lf(a, b, c, d, e) {\n function f(a, b, c) {\n g(a, b, c, b.pendingWorkPriority);\n }function g(a, b, c, d) {\n b.child = null === a ? ff(b, b.child, c, d) : a.child === b.child ? gf(b, b.child, c, d) : hf(b, b.child, c, d);\n }function h(a, b) {\n var c = b.ref;null === c || a && a.ref === c || (b.effectTag |= Jf);\n }function k(a, b, c, d) {\n h(a, b);if (!c) return d && qf(b, !1), x(a, b);c = b.stateNode;Kf.current = b;var e = c.render();b.effectTag |= Ff;f(a, b, e);b.memoizedState = c.state;b.memoizedProps = c.props;d && qf(b, !0);return b.child;\n }function p(a) {\n var b = a.stateNode;b.pendingContext ? pf(a, b.pendingContext, b.pendingContext !== b.context) : b.context && pf(a, b.context, !1);C(a, b.containerInfo);\n }function x(a, b) {\n jf(a, b);return b.child;\n }function S(a, b) {\n switch (b.tag) {case uf:\n p(b);break;case tf:\n of(b);break;case yf:\n C(b, b.stateNode.containerInfo);}return null;\n }var D = a.shouldSetTextContent,\n y = a.useSyncScheduling,\n B = a.shouldDeprioritizeSubtree,\n H = b.pushHostContext,\n C = b.pushHostContainer,\n Ca = c.enterHydrationState,\n r = c.resetHydrationState,\n m = c.tryToClaimNextHydratableInstance;a = ef(d, e, function (a, b) {\n a.memoizedProps = b;\n }, function (a, b) {\n a.memoizedState = b;\n });var t = a.adoptClassInstance,\n v = a.constructClassInstance,\n V = a.mountClassInstance,\n ld = a.updateClassInstance;return { beginWork: function (a, b, c) {\n if (b.pendingWorkPriority === Df || b.pendingWorkPriority > c) return S(a, b);switch (b.tag) {case rf:\n null !== a ? w(\"155\") : void 0;var d = b.type,\n e = b.pendingProps,\n g = mf(b);g = lf(b, g);d = d(e, g);b.effectTag |= Ff;\"object\" === typeof d && null !== d && \"function\" === typeof d.render ? (b.tag = tf, e = of(b), t(b, d), V(b, c), b = k(a, b, !0, e)) : (b.tag = sf, f(a, b, d), b.memoizedProps = e, b = b.child);return b;case sf:\n a: {\n e = b.type;c = b.pendingProps;d = b.memoizedProps;if (nf()) null === c && (c = d);else if (null === c || d === c) {\n b = x(a, b);break a;\n }d = mf(b);d = lf(b, d);e = e(c, d);b.effectTag |= Ff;f(a, b, e);b.memoizedProps = c;b = b.child;\n }return b;case tf:\n return e = of(b), d = void 0, null === a ? b.stateNode ? w(\"153\") : (v(b, b.pendingProps), V(b, c), d = !0) : d = ld(a, b, c), k(a, b, d, e);case uf:\n return p(b), d = b.updateQueue, null !== d ? (e = b.memoizedState, d = kf(a, b, d, null, e, null, c), e === d ? (r(), b = x(a, b)) : (e = d.element, null !== a && null !== a.child || !Ca(b) ? (r(), f(a, b, e)) : (b.effectTag |= Gf, b.child = ff(b, b.child, e, c)), b.memoizedState = d, b = b.child)) : (r(), b = x(a, b)), b;case wf:\n H(b);null === a && m(b);e = b.type;var q = b.memoizedProps;d = b.pendingProps;null === d && (d = q, null === d ? w(\"154\") : void 0);g = null !== a ? a.memoizedProps : null;nf() || null !== d && q !== d ? (q = d.children, D(e, d) ? q = null : g && D(e, g) && (b.effectTag |= Hf), h(a, b), c !== Ef && !y && B(e, d) ? (b.pendingWorkPriority = Ef, b = null) : (f(a, b, q), b.memoizedProps = d, b = b.child)) : b = x(a, b);return b;case xf:\n return null === a && m(b), a = b.pendingProps, null === a && (a = b.memoizedProps), b.memoizedProps = a, null;case Af:\n b.tag = zf;case zf:\n c = b.pendingProps;if (nf()) null === c && (c = a && a.memoizedProps, null === c ? w(\"154\") : void 0);else if (null === c || b.memoizedProps === c) c = b.memoizedProps;e = c.children;d = b.pendingWorkPriority;b.stateNode = null === a ? ff(b, b.stateNode, e, d) : a.child === b.child ? gf(b, b.stateNode, e, d) : hf(b, b.stateNode, e, d);b.memoizedProps = c;return b.stateNode;case Bf:\n return null;case yf:\n a: {\n C(b, b.stateNode.containerInfo);c = b.pendingWorkPriority;e = b.pendingProps;if (nf()) null === e && (e = a && a.memoizedProps, null == e ? w(\"154\") : void 0);else if (null === e || b.memoizedProps === e) {\n b = x(a, b);break a;\n }null === a ? b.child = hf(b, b.child, e, c) : f(a, b, e);b.memoizedProps = e;b = b.child;\n }return b;case Cf:\n a: {\n c = b.pendingProps;if (nf()) null === c && (c = b.memoizedProps);else if (null === c || b.memoizedProps === c) {\n b = x(a, b);break a;\n }f(a, b, c);b.memoizedProps = c;b = b.child;\n }return b;default:\n w(\"156\");}\n }, beginFailedWork: function (a, b, c) {\n switch (b.tag) {case tf:\n of(b);break;case uf:\n p(b);break;default:\n w(\"157\");}b.effectTag |= If;null === a ? b.child = null : b.child !== a.child && (b.child = a.child);if (b.pendingWorkPriority === Df || b.pendingWorkPriority > c) return S(a, b);b.firstEffect = null;b.lastEffect = null;g(a, b, null, c);b.tag === tf && (a = b.stateNode, b.memoizedProps = a.props, b.memoizedState = a.state);return b.child;\n } };\n}\nvar Mf = Se.reconcileChildFibers,\n Nf = R.popContextProvider,\n Of = R.popTopLevelContextObject,\n Pf = E.IndeterminateComponent,\n Qf = E.FunctionalComponent,\n Rf = E.ClassComponent,\n Sf = E.HostRoot,\n Tf = E.HostComponent,\n Uf = E.HostText,\n Vf = E.HostPortal,\n Wf = E.CoroutineComponent,\n Xf = E.CoroutineHandlerPhase,\n Yf = E.YieldComponent,\n Zf = E.Fragment,\n ag = J.Placement,\n bg = J.Ref,\n cg = J.Update,\n dg = Q.OffscreenPriority;\nfunction eg(a, b, c) {\n var d = a.createInstance,\n e = a.createTextInstance,\n f = a.appendInitialChild,\n g = a.finalizeInitialChildren,\n h = a.prepareUpdate,\n k = b.getRootHostContainer,\n p = b.popHostContext,\n x = b.getHostContext,\n S = b.popHostContainer,\n D = c.prepareToHydrateHostInstance,\n y = c.prepareToHydrateHostTextInstance,\n B = c.popHydrationState;return { completeWork: function (a, b, c) {\n var r = b.pendingProps;if (null === r) r = b.memoizedProps;else if (b.pendingWorkPriority !== dg || c === dg) b.pendingProps = null;switch (b.tag) {case Qf:\n return null;case Rf:\n return Nf(b), null;case Sf:\n S(b);Of(b);r = b.stateNode;r.pendingContext && (r.context = r.pendingContext, r.pendingContext = null);if (null === a || null === a.child) B(b), b.effectTag &= ~ag;return null;case Tf:\n p(b);c = k();var m = b.type;if (null !== a && null != b.stateNode) {\n var t = a.memoizedProps,\n C = b.stateNode,\n V = x();r = h(C, m, t, r, c, V);if (b.updateQueue = r) b.effectTag |= cg;a.ref !== b.ref && (b.effectTag |= bg);\n } else {\n if (!r) return null === b.stateNode ? w(\"166\") : void 0, null;a = x();if (B(b)) D(b, c, a) && (b.effectTag |= cg);else {\n a = d(m, r, c, a, b);a: for (t = b.child; null !== t;) {\n if (t.tag === Tf || t.tag === Uf) f(a, t.stateNode);else if (t.tag !== Vf && null !== t.child) {\n t = t.child;continue;\n }if (t === b) break a;for (; null === t.sibling;) {\n if (null === t[\"return\"] || t[\"return\"] === b) break a;t = t[\"return\"];\n }t = t.sibling;\n }g(a, m, r, c) && (b.effectTag |= cg);b.stateNode = a;\n }null !== b.ref && (b.effectTag |= bg);\n }return null;case Uf:\n if (a && null != b.stateNode) a.memoizedProps !== r && (b.effectTag |= cg);else {\n if (\"string\" !== typeof r) return null === b.stateNode ? w(\"166\") : void 0, null;a = k();c = x();B(b) ? y(b) && (b.effectTag |= cg) : b.stateNode = e(r, a, c, b);\n }return null;case Wf:\n (r = b.memoizedProps) ? void 0 : w(\"165\");b.tag = Xf;c = [];a: for ((m = b.stateNode) && (m[\"return\"] = b); null !== m;) {\n if (m.tag === Tf || m.tag === Uf || m.tag === Vf) w(\"164\");else if (m.tag === Yf) c.push(m.type);else if (null !== m.child) {\n m.child[\"return\"] = m;m = m.child;continue;\n }for (; null === m.sibling;) {\n if (null === m[\"return\"] || m[\"return\"] === b) break a;m = m[\"return\"];\n }m.sibling[\"return\"] = m[\"return\"];m = m.sibling;\n }m = r.handler;r = m(r.props, c);b.child = Mf(b, null !== a ? a.child : null, r, b.pendingWorkPriority);return b.child;\n case Xf:\n return b.tag = Wf, null;case Yf:\n return null;case Zf:\n return null;case Vf:\n return b.effectTag |= cg, S(b), null;case Pf:\n w(\"167\");default:\n w(\"156\");}\n } };\n}var fg = null,\n gg = null;function hg(a) {\n return function (b) {\n try {\n return a(b);\n } catch (c) {}\n };\n}\nvar ig = { injectInternals: function (a) {\n if (\"undefined\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return !1;var b = __REACT_DEVTOOLS_GLOBAL_HOOK__;if (!b.supportsFiber) return !0;try {\n var c = b.inject(a);fg = hg(function (a) {\n return b.onCommitFiberRoot(c, a);\n });gg = hg(function (a) {\n return b.onCommitFiberUnmount(c, a);\n });\n } catch (d) {}return !0;\n }, onCommitRoot: function (a) {\n \"function\" === typeof fg && fg(a);\n }, onCommitUnmount: function (a) {\n \"function\" === typeof gg && gg(a);\n } },\n jg = E.ClassComponent,\n kg = E.HostRoot,\n lg = E.HostComponent,\n mg = E.HostText,\n ng = E.HostPortal,\n og = E.CoroutineComponent,\n pg = ud.commitCallbacks,\n qg = ig.onCommitUnmount,\n rg = J.Placement,\n sg = J.Update,\n tg = J.Callback,\n ug = J.ContentReset;\nfunction vg(a, b) {\n function c(a) {\n var c = a.ref;if (null !== c) try {\n c(null);\n } catch (t) {\n b(a, t);\n }\n }function d(a) {\n return a.tag === lg || a.tag === kg || a.tag === ng;\n }function e(a) {\n for (var b = a;;) if (g(b), null !== b.child && b.tag !== ng) b.child[\"return\"] = b, b = b.child;else {\n if (b === a) break;for (; null === b.sibling;) {\n if (null === b[\"return\"] || b[\"return\"] === a) return;b = b[\"return\"];\n }b.sibling[\"return\"] = b[\"return\"];b = b.sibling;\n }\n }function f(a) {\n for (var b = a, c = !1, d = void 0, f = void 0;;) {\n if (!c) {\n c = b[\"return\"];a: for (;;) {\n null === c ? w(\"160\") : void 0;switch (c.tag) {case lg:\n d = c.stateNode;f = !1;break a;case kg:\n d = c.stateNode.containerInfo;f = !0;break a;case ng:\n d = c.stateNode.containerInfo;f = !0;break a;}c = c[\"return\"];\n }c = !0;\n }if (b.tag === lg || b.tag === mg) e(b), f ? C(d, b.stateNode) : H(d, b.stateNode);else if (b.tag === ng ? d = b.stateNode.containerInfo : g(b), null !== b.child) {\n b.child[\"return\"] = b;b = b.child;continue;\n }if (b === a) break;for (; null === b.sibling;) {\n if (null === b[\"return\"] || b[\"return\"] === a) return;b = b[\"return\"];b.tag === ng && (c = !1);\n }b.sibling[\"return\"] = b[\"return\"];b = b.sibling;\n }\n }function g(a) {\n \"function\" === typeof qg && qg(a);switch (a.tag) {case jg:\n c(a);var d = a.stateNode;if (\"function\" === typeof d.componentWillUnmount) try {\n d.props = a.memoizedProps, d.state = a.memoizedState, d.componentWillUnmount();\n } catch (t) {\n b(a, t);\n }break;case lg:\n c(a);break;case og:\n e(a.stateNode);break;case ng:\n f(a);}\n }var h = a.commitMount,\n k = a.commitUpdate,\n p = a.resetTextContent,\n x = a.commitTextUpdate,\n S = a.appendChild,\n D = a.appendChildToContainer,\n y = a.insertBefore,\n B = a.insertInContainerBefore,\n H = a.removeChild,\n C = a.removeChildFromContainer,\n Ca = a.getPublicInstance;\n return { commitPlacement: function (a) {\n a: {\n for (var b = a[\"return\"]; null !== b;) {\n if (d(b)) {\n var c = b;break a;\n }b = b[\"return\"];\n }w(\"160\");c = void 0;\n }var e = b = void 0;switch (c.tag) {case lg:\n b = c.stateNode;e = !1;break;case kg:\n b = c.stateNode.containerInfo;e = !0;break;case ng:\n b = c.stateNode.containerInfo;e = !0;break;default:\n w(\"161\");}c.effectTag & ug && (p(b), c.effectTag &= ~ug);a: b: for (c = a;;) {\n for (; null === c.sibling;) {\n if (null === c[\"return\"] || d(c[\"return\"])) {\n c = null;break a;\n }c = c[\"return\"];\n }c.sibling[\"return\"] = c[\"return\"];for (c = c.sibling; c.tag !== lg && c.tag !== mg;) {\n if (c.effectTag & rg) continue b;if (null === c.child || c.tag === ng) continue b;else c.child[\"return\"] = c, c = c.child;\n }if (!(c.effectTag & rg)) {\n c = c.stateNode;break a;\n }\n }for (var f = a;;) {\n if (f.tag === lg || f.tag === mg) c ? e ? B(b, f.stateNode, c) : y(b, f.stateNode, c) : e ? D(b, f.stateNode) : S(b, f.stateNode);else if (f.tag !== ng && null !== f.child) {\n f.child[\"return\"] = f;f = f.child;continue;\n }if (f === a) break;for (; null === f.sibling;) {\n if (null === f[\"return\"] || f[\"return\"] === a) return;f = f[\"return\"];\n }f.sibling[\"return\"] = f[\"return\"];f = f.sibling;\n }\n },\n commitDeletion: function (a) {\n f(a);a[\"return\"] = null;a.child = null;a.alternate && (a.alternate.child = null, a.alternate[\"return\"] = null);\n }, commitWork: function (a, b) {\n switch (b.tag) {case jg:\n break;case lg:\n var c = b.stateNode;if (null != c) {\n var d = b.memoizedProps;a = null !== a ? a.memoizedProps : d;var e = b.type,\n f = b.updateQueue;b.updateQueue = null;null !== f && k(c, f, e, a, d, b);\n }break;case mg:\n null === b.stateNode ? w(\"162\") : void 0;c = b.memoizedProps;x(b.stateNode, null !== a ? a.memoizedProps : c, c);break;case kg:\n break;case ng:\n break;default:\n w(\"163\");}\n },\n commitLifeCycles: function (a, b) {\n switch (b.tag) {case jg:\n var c = b.stateNode;if (b.effectTag & sg) if (null === a) c.props = b.memoizedProps, c.state = b.memoizedState, c.componentDidMount();else {\n var d = a.memoizedProps;a = a.memoizedState;c.props = b.memoizedProps;c.state = b.memoizedState;c.componentDidUpdate(d, a);\n }b.effectTag & tg && null !== b.updateQueue && pg(b, b.updateQueue, c);break;case kg:\n a = b.updateQueue;null !== a && pg(b, a, b.child && b.child.stateNode);break;case lg:\n c = b.stateNode;null === a && b.effectTag & sg && h(c, b.type, b.memoizedProps, b);break;case mg:\n break;case ng:\n break;default:\n w(\"163\");}\n }, commitAttachRef: function (a) {\n var b = a.ref;if (null !== b) {\n var c = a.stateNode;switch (a.tag) {case lg:\n b(Ca(c));break;default:\n b(c);}\n }\n }, commitDetachRef: function (a) {\n a = a.ref;null !== a && a(null);\n } };\n}var wg = xd.createCursor,\n xg = xd.pop,\n yg = xd.push,\n zg = {};\nfunction Ag(a) {\n function b(a) {\n a === zg ? w(\"174\") : void 0;return a;\n }var c = a.getChildHostContext,\n d = a.getRootHostContext,\n e = wg(zg),\n f = wg(zg),\n g = wg(zg);return { getHostContext: function () {\n return b(e.current);\n }, getRootHostContainer: function () {\n return b(g.current);\n }, popHostContainer: function (a) {\n xg(e, a);xg(f, a);xg(g, a);\n }, popHostContext: function (a) {\n f.current === a && (xg(e, a), xg(f, a));\n }, pushHostContainer: function (a, b) {\n yg(g, b, a);b = d(b);yg(f, a, a);yg(e, b, a);\n }, pushHostContext: function (a) {\n var d = b(g.current),\n h = b(e.current);d = c(h, a.type, d);h !== d && (yg(f, a, a), yg(e, d, a));\n }, resetHostContainer: function () {\n e.current = zg;g.current = zg;\n } };\n}var Bg = E.HostComponent,\n Cg = E.HostText,\n Dg = E.HostRoot,\n Eg = J.Deletion,\n Fg = J.Placement,\n Gg = de.createFiberFromHostInstanceForDeletion;\nfunction Hg(a) {\n function b(a, b) {\n var c = Gg();c.stateNode = b;c[\"return\"] = a;c.effectTag = Eg;null !== a.lastEffect ? (a.lastEffect.nextEffect = c, a.lastEffect = c) : a.firstEffect = a.lastEffect = c;\n }function c(a, b) {\n switch (a.tag) {case Bg:\n return f(b, a.type, a.pendingProps);case Cg:\n return g(b, a.pendingProps);default:\n return !1;}\n }function d(a) {\n for (a = a[\"return\"]; null !== a && a.tag !== Bg && a.tag !== Dg;) a = a[\"return\"];y = a;\n }var e = a.shouldSetTextContent,\n f = a.canHydrateInstance,\n g = a.canHydrateTextInstance,\n h = a.getNextHydratableSibling,\n k = a.getFirstHydratableChild,\n p = a.hydrateInstance,\n x = a.hydrateTextInstance,\n S = a.didNotHydrateInstance,\n D = a.didNotFindHydratableInstance;a = a.didNotFindHydratableTextInstance;if (!(f && g && h && k && p && x && S && D && a)) return { enterHydrationState: function () {\n return !1;\n }, resetHydrationState: function () {}, tryToClaimNextHydratableInstance: function () {}, prepareToHydrateHostInstance: function () {\n w(\"175\");\n }, prepareToHydrateHostTextInstance: function () {\n w(\"176\");\n }, popHydrationState: function () {\n return !1;\n } };var y = null,\n B = null,\n H = !1;return { enterHydrationState: function (a) {\n B = k(a.stateNode.containerInfo);y = a;return H = !0;\n }, resetHydrationState: function () {\n B = y = null;H = !1;\n }, tryToClaimNextHydratableInstance: function (a) {\n if (H) {\n var d = B;if (d) {\n if (!c(a, d)) {\n d = h(d);if (!d || !c(a, d)) {\n a.effectTag |= Fg;H = !1;y = a;return;\n }b(y, B);\n }a.stateNode = d;y = a;B = k(d);\n } else a.effectTag |= Fg, H = !1, y = a;\n }\n }, prepareToHydrateHostInstance: function (a, b, c) {\n b = p(a.stateNode, a.type, a.memoizedProps, b, c, a);a.updateQueue = b;return null !== b ? !0 : !1;\n }, prepareToHydrateHostTextInstance: function (a) {\n return x(a.stateNode, a.memoizedProps, a);\n },\n popHydrationState: function (a) {\n if (a !== y) return !1;if (!H) return d(a), H = !0, !1;var c = a.type;if (a.tag !== Bg || \"head\" !== c && \"body\" !== c && !e(c, a.memoizedProps)) for (c = B; c;) b(a, c), c = h(c);d(a);B = y ? h(a.stateNode) : null;return !0;\n } };\n}\nvar Ig = R.popContextProvider,\n Jg = xd.reset,\n Kg = Qa.ReactCurrentOwner,\n Lg = de.createWorkInProgress,\n Mg = de.largerPriority,\n Ng = ig.onCommitRoot,\n T = Q.NoWork,\n Og = Q.SynchronousPriority,\n U = Q.TaskPriority,\n Pg = Q.HighPriority,\n Qg = Q.LowPriority,\n Rg = Q.OffscreenPriority,\n Sg = Pd.AsyncUpdates,\n Tg = J.PerformedWork,\n Ug = J.Placement,\n Vg = J.Update,\n Wg = J.PlacementAndUpdate,\n Xg = J.Deletion,\n Yg = J.ContentReset,\n Zg = J.Callback,\n $g = J.Err,\n ah = J.Ref,\n bh = E.HostRoot,\n ch = E.HostComponent,\n dh = E.HostPortal,\n eh = E.ClassComponent,\n fh = ud.getUpdatePriority,\n gh = R.resetContext;\nfunction hh(a) {\n function b() {\n for (; null !== ma && ma.current.pendingWorkPriority === T;) {\n ma.isScheduled = !1;var a = ma.nextScheduledRoot;ma.nextScheduledRoot = null;if (ma === zb) return zb = ma = null, z = T, null;ma = a;\n }a = ma;for (var b = null, c = T; null !== a;) a.current.pendingWorkPriority !== T && (c === T || c > a.current.pendingWorkPriority) && (c = a.current.pendingWorkPriority, b = a), a = a.nextScheduledRoot;null !== b ? (z = c, Jg(), gh(), t(), I = Lg(b.current, c), b !== nc && (oc = 0, nc = b)) : (z = T, nc = I = null);\n }function c(c) {\n Hd = !0;na = null;var d = c.stateNode;d.current === c ? w(\"177\") : void 0;z !== Og && z !== U || oc++;Kg.current = null;if (c.effectTag > Tg) {\n if (null !== c.lastEffect) {\n c.lastEffect.nextEffect = c;var e = c.firstEffect;\n } else e = c;\n } else e = c.firstEffect;Ui();for (u = e; null !== u;) {\n var f = !1,\n g = void 0;try {\n for (; null !== u;) {\n var h = u.effectTag;h & Yg && a.resetTextContent(u.stateNode);if (h & ah) {\n var k = u.alternate;null !== k && Ph(k);\n }switch (h & ~(Zg | $g | Yg | ah | Tg)) {case Ug:\n q(u);u.effectTag &= ~Ug;break;case Wg:\n q(u);u.effectTag &= ~Ug;vf(u.alternate, u);break;case Vg:\n vf(u.alternate, u);break;case Xg:\n Id = !0, Mh(u), Id = !1;}u = u.nextEffect;\n }\n } catch (Jd) {\n f = !0, g = Jd;\n }f && (null === u ? w(\"178\") : void 0, x(u, g), null !== u && (u = u.nextEffect));\n }Vi();d.current = c;for (u = e; null !== u;) {\n d = !1;e = void 0;try {\n for (; null !== u;) {\n var Gd = u.effectTag;Gd & (Vg | Zg) && Nh(u.alternate, u);Gd & ah && Oh(u);if (Gd & $g) switch (f = u, g = void 0, null !== P && (g = P.get(f), P[\"delete\"](f), null == g && null !== f.alternate && (f = f.alternate, g = P.get(f), P[\"delete\"](f))), null == g ? w(\"184\") : void 0, f.tag) {case eh:\n f.stateNode.componentDidCatch(g.error, { componentStack: g.componentStack });break;case bh:\n null === Ja && (Ja = g.error);break;default:\n w(\"157\");}var m = u.nextEffect;u.nextEffect = null;u = m;\n }\n } catch (Jd) {\n d = !0, e = Jd;\n }d && (null === u ? w(\"178\") : void 0, x(u, e), null !== u && (u = u.nextEffect));\n }Hd = !1;\"function\" === typeof Ng && Ng(c.stateNode);va && (va.forEach(H), va = null);b();\n }function d(a) {\n for (;;) {\n var b = Lh(a.alternate, a, z),\n c = a[\"return\"],\n d = a.sibling;var e = a;if (!(e.pendingWorkPriority !== T && e.pendingWorkPriority > z)) {\n for (var f = fh(e), g = e.child; null !== g;) f = Mg(f, g.pendingWorkPriority), g = g.sibling;e.pendingWorkPriority = f;\n }if (null !== b) return b;\n null !== c && (null === c.firstEffect && (c.firstEffect = a.firstEffect), null !== a.lastEffect && (null !== c.lastEffect && (c.lastEffect.nextEffect = a.firstEffect), c.lastEffect = a.lastEffect), a.effectTag > Tg && (null !== c.lastEffect ? c.lastEffect.nextEffect = a : c.firstEffect = a, c.lastEffect = a));if (null !== d) return d;if (null !== c) a = c;else {\n na = a;break;\n }\n }return null;\n }function e(a) {\n var b = V(a.alternate, a, z);null === b && (b = d(a));Kg.current = null;return b;\n }function f(a) {\n var b = ld(a.alternate, a, z);null === b && (b = d(a));Kg.current = null;return b;\n }\n function g(a) {\n p(Rg, a);\n }function h() {\n if (null !== P && 0 < P.size && z === U) for (; null !== I;) {\n var a = I;I = null !== P && (P.has(a) || null !== a.alternate && P.has(a.alternate)) ? f(I) : e(I);if (null === I && (null === na ? w(\"179\") : void 0, O = U, c(na), O = z, null === P || 0 === P.size || z !== U)) break;\n }\n }function k(a, d) {\n null !== na ? (O = U, c(na), h()) : null === I && b();if (!(z === T || z > a)) {\n O = z;a: do {\n if (z <= U) for (; null !== I && !(I = e(I), null === I && (null === na ? w(\"179\") : void 0, O = U, c(na), O = z, h(), z === T || z > a || z > U)););else if (null !== d) for (; null !== I && !Ab;) if (1 < d.timeRemaining()) {\n if (I = e(I), null === I) if (null === na ? w(\"179\") : void 0, 1 < d.timeRemaining()) {\n if (O = U, c(na), O = z, h(), z === T || z > a || z < Pg) break;\n } else Ab = !0;\n } else Ab = !0;switch (z) {case Og:case U:\n if (z <= a) continue a;break a;case Pg:case Qg:case Rg:\n if (null === d) break a;if (!Ab && z <= a) continue a;break a;case T:\n break a;default:\n w(\"181\");}\n } while (1);\n }\n }function p(a, b) {\n Da ? w(\"182\") : void 0;Da = !0;var c = O,\n d = !1,\n e = null;try {\n k(a, b);\n } catch (Kd) {\n d = !0, e = Kd;\n }for (; d;) {\n if (Ya) {\n Ja = e;break;\n }var h = I;if (null === h) Ya = !0;else {\n var p = x(h, e);null === p ? w(\"183\") : void 0;if (!Ya) {\n try {\n d = p;e = a;p = b;for (var q = d; null !== h;) {\n switch (h.tag) {case eh:\n Ig(h);break;case ch:\n m(h);break;case bh:\n r(h);break;case dh:\n r(h);}if (h === q || h.alternate === q) break;h = h[\"return\"];\n }I = f(d);k(e, p);\n } catch (Kd) {\n d = !0;e = Kd;continue;\n }break;\n }\n }\n }O = c;null !== b && (Bb = !1);z > U && !Bb && ($f(g), Bb = !0);a = Ja;Ya = Ab = Da = !1;nc = Ka = P = Ja = null;oc = 0;if (null !== a) throw a;\n }function x(a, b) {\n var c = Kg.current = null,\n d = !1,\n e = !1,\n f = null;if (a.tag === bh) c = a, S(a) && (Ya = !0);else for (var g = a[\"return\"]; null !== g && null === c;) {\n g.tag === eh ? \"function\" === typeof g.stateNode.componentDidCatch && (d = !0, f = Ra(g), c = g, e = !0) : g.tag === bh && (c = g);if (S(g)) {\n if (Id || null !== va && (va.has(g) || null !== g.alternate && va.has(g.alternate))) return null;c = null;e = !1;\n }g = g[\"return\"];\n }if (null !== c) {\n null === Ka && (Ka = new Set());Ka.add(c);var h = \"\";g = a;do {\n a: switch (g.tag) {case fe:case ge:case he:case ie:\n var k = g._debugOwner,\n m = g._debugSource;var p = Ra(g);var q = null;k && (q = Ra(k));k = m;p = \"\\n in \" + (p || \"Unknown\") + (k ? \" (at \" + k.fileName.replace(/^.*[\\\\\\/]/, \"\") + \":\" + k.lineNumber + \")\" : q ? \" (created by \" + q + \")\" : \"\");break a;default:\n p = \"\";}h += p;g = g[\"return\"];\n } while (g);\n g = h;a = Ra(a);null === P && (P = new Map());b = { componentName: a, componentStack: g, error: b, errorBoundary: d ? c.stateNode : null, errorBoundaryFound: d, errorBoundaryName: f, willRetry: e };P.set(c, b);try {\n console.error(b.error);\n } catch (Wi) {\n console.error(Wi);\n }Hd ? (null === va && (va = new Set()), va.add(c)) : H(c);return c;\n }null === Ja && (Ja = b);return null;\n }function S(a) {\n return null !== Ka && (Ka.has(a) || null !== a.alternate && Ka.has(a.alternate));\n }function D(a, b) {\n return y(a, b, !1);\n }function y(a, b) {\n oc > Xi && (Ya = !0, w(\"185\"));!Da && b <= z && (I = null);for (var c = !0; null !== a && c;) {\n c = !1;if (a.pendingWorkPriority === T || a.pendingWorkPriority > b) c = !0, a.pendingWorkPriority = b;null !== a.alternate && (a.alternate.pendingWorkPriority === T || a.alternate.pendingWorkPriority > b) && (c = !0, a.alternate.pendingWorkPriority = b);if (null === a[\"return\"]) if (a.tag === bh) {\n var d = a.stateNode;b === T || d.isScheduled || (d.isScheduled = !0, zb ? zb.nextScheduledRoot = d : ma = d, zb = d);if (!Da) switch (b) {case Og:\n pc ? p(Og, null) : p(U, null);break;case U:\n W ? void 0 : w(\"186\");break;default:\n Bb || ($f(g), Bb = !0);}\n } else break;a = a[\"return\"];\n }\n }\n function B(a, b) {\n var c = O;c === T && (c = !Yi || a.internalContextTag & Sg || b ? Qg : Og);return c === Og && (Da || W) ? U : c;\n }function H(a) {\n y(a, U, !0);\n }var C = Ag(a),\n Ca = Hg(a),\n r = C.popHostContainer,\n m = C.popHostContext,\n t = C.resetHostContainer,\n v = Lf(a, C, Ca, D, B),\n V = v.beginWork,\n ld = v.beginFailedWork,\n Lh = eg(a, C, Ca).completeWork;C = vg(a, x);var q = C.commitPlacement,\n Mh = C.commitDeletion,\n vf = C.commitWork,\n Nh = C.commitLifeCycles,\n Oh = C.commitAttachRef,\n Ph = C.commitDetachRef,\n $f = a.scheduleDeferredCallback,\n Yi = a.useSyncScheduling,\n Ui = a.prepareForCommit,\n Vi = a.resetAfterCommit,\n O = T,\n Da = !1,\n Ab = !1,\n W = !1,\n pc = !1,\n I = null,\n z = T,\n u = null,\n na = null,\n ma = null,\n zb = null,\n Bb = !1,\n P = null,\n Ka = null,\n va = null,\n Ja = null,\n Ya = !1,\n Hd = !1,\n Id = !1,\n Xi = 1E3,\n oc = 0,\n nc = null;return { scheduleUpdate: D, getPriorityContext: B, batchedUpdates: function (a, b) {\n var c = W;W = !0;try {\n return a(b);\n } finally {\n W = c, Da || W || p(U, null);\n }\n }, unbatchedUpdates: function (a) {\n var b = pc,\n c = W;pc = W;W = !1;try {\n return a();\n } finally {\n W = c, pc = b;\n }\n }, flushSync: function (a) {\n var b = W,\n c = O;W = !0;O = Og;try {\n return a();\n } finally {\n W = b, O = c, Da ? w(\"187\") : void 0, p(U, null);\n }\n }, deferredUpdates: function (a) {\n var b = O;O = Qg;try {\n return a();\n } finally {\n O = b;\n }\n } };\n}function ih() {\n w(\"196\");\n}function jh(a) {\n if (!a) return da;a = Pa.get(a);return \"number\" === typeof a.tag ? ih(a) : a._processChildContext(a._context);\n}jh._injectFiber = function (a) {\n ih = a;\n};var kh = ud.addTopLevelUpdate,\n lh = R.findCurrentUnmaskedContext,\n mh = R.isContextProvider,\n nh = R.processChildContext,\n oh = E.HostComponent,\n ph = bb.findCurrentHostFiber,\n qh = bb.findCurrentHostFiberWithNoPortals;jh._injectFiber(function (a) {\n var b = lh(a);return mh(a) ? nh(a, b, !1) : b;\n});var rh = F.TEXT_NODE;\nfunction sh(a) {\n for (; a && a.firstChild;) a = a.firstChild;return a;\n}function th(a, b) {\n var c = sh(a);a = 0;for (var d; c;) {\n if (c.nodeType === rh) {\n d = a + c.textContent.length;if (a <= b && d >= b) return { node: c, offset: b - a };a = d;\n }a: {\n for (; c;) {\n if (c.nextSibling) {\n c = c.nextSibling;break a;\n }c = c.parentNode;\n }c = void 0;\n }c = sh(c);\n }\n}var uh = null;function vh() {\n !uh && l.canUseDOM && (uh = \"textContent\" in document.documentElement ? \"textContent\" : \"innerText\");return uh;\n}\nvar wh = { getOffsets: function (a) {\n var b = window.getSelection && window.getSelection();if (!b || 0 === b.rangeCount) return null;var c = b.anchorNode,\n d = b.anchorOffset,\n e = b.focusNode,\n f = b.focusOffset,\n g = b.getRangeAt(0);try {\n g.startContainer.nodeType, g.endContainer.nodeType;\n } catch (k) {\n return null;\n }b = b.anchorNode === b.focusNode && b.anchorOffset === b.focusOffset ? 0 : g.toString().length;var h = g.cloneRange();h.selectNodeContents(a);h.setEnd(g.startContainer, g.startOffset);a = h.startContainer === h.endContainer && h.startOffset === h.endOffset ? 0 : h.toString().length;g = a + b;b = document.createRange();b.setStart(c, d);b.setEnd(e, f);c = b.collapsed;return { start: c ? g : a, end: c ? a : g };\n }, setOffsets: function (a, b) {\n if (window.getSelection) {\n var c = window.getSelection(),\n d = a[vh()].length,\n e = Math.min(b.start, d);b = void 0 === b.end ? e : Math.min(b.end, d);!c.extend && e > b && (d = b, b = e, e = d);d = th(a, e);a = th(a, b);if (d && a) {\n var f = document.createRange();f.setStart(d.node, d.offset);c.removeAllRanges();e > b ? (c.addRange(f), c.extend(a.node, a.offset)) : (f.setEnd(a.node, a.offset), c.addRange(f));\n }\n }\n } },\n xh = F.ELEMENT_NODE,\n yh = { hasSelectionCapabilities: function (a) {\n var b = a && a.nodeName && a.nodeName.toLowerCase();return b && (\"input\" === b && \"text\" === a.type || \"textarea\" === b || \"true\" === a.contentEditable);\n }, getSelectionInformation: function () {\n var a = ia();return { focusedElem: a, selectionRange: yh.hasSelectionCapabilities(a) ? yh.getSelection(a) : null };\n }, restoreSelection: function (a) {\n var b = ia(),\n c = a.focusedElem;a = a.selectionRange;if (b !== c && fa(document.documentElement, c)) {\n yh.hasSelectionCapabilities(c) && yh.setSelection(c, a);b = [];for (a = c; a = a.parentNode;) a.nodeType === xh && b.push({ element: a, left: a.scrollLeft, top: a.scrollTop });ha(c);for (c = 0; c < b.length; c++) a = b[c], a.element.scrollLeft = a.left, a.element.scrollTop = a.top;\n }\n }, getSelection: function (a) {\n return (\"selectionStart\" in a ? { start: a.selectionStart, end: a.selectionEnd } : wh.getOffsets(a)) || { start: 0, end: 0 };\n }, setSelection: function (a, b) {\n var c = b.start,\n d = b.end;void 0 === d && (d = c);\"selectionStart\" in a ? (a.selectionStart = c, a.selectionEnd = Math.min(d, a.value.length)) : wh.setOffsets(a, b);\n } },\n zh = yh,\n Ah = F.ELEMENT_NODE;function Bh() {\n w(\"211\");\n}function Ch() {\n w(\"212\");\n}function Dh(a) {\n if (null == a) return null;if (a.nodeType === Ah) return a;var b = Pa.get(a);if (b) return \"number\" === typeof b.tag ? Bh(b) : Ch(b);\"function\" === typeof a.render ? w(\"188\") : w(\"213\", Object.keys(a));\n}Dh._injectFiber = function (a) {\n Bh = a;\n};Dh._injectStack = function (a) {\n Ch = a;\n};var Eh = E.HostComponent;function Fh(a) {\n if (void 0 !== a._hostParent) return a._hostParent;if (\"number\" === typeof a.tag) {\n do a = a[\"return\"]; while (a && a.tag !== Eh);if (a) return a;\n }return null;\n}\nfunction Gh(a, b) {\n for (var c = 0, d = a; d; d = Fh(d)) c++;d = 0;for (var e = b; e; e = Fh(e)) d++;for (; 0 < c - d;) a = Fh(a), c--;for (; 0 < d - c;) b = Fh(b), d--;for (; c--;) {\n if (a === b || a === b.alternate) return a;a = Fh(a);b = Fh(b);\n }return null;\n}\nvar Hh = { isAncestor: function (a, b) {\n for (; b;) {\n if (a === b || a === b.alternate) return !0;b = Fh(b);\n }return !1;\n }, getLowestCommonAncestor: Gh, getParentInstance: function (a) {\n return Fh(a);\n }, traverseTwoPhase: function (a, b, c) {\n for (var d = []; a;) d.push(a), a = Fh(a);for (a = d.length; 0 < a--;) b(d[a], \"captured\", c);for (a = 0; a < d.length; a++) b(d[a], \"bubbled\", c);\n }, traverseEnterLeave: function (a, b, c, d, e) {\n for (var f = a && b ? Gh(a, b) : null, g = []; a && a !== f;) g.push(a), a = Fh(a);for (a = []; b && b !== f;) a.push(b), b = Fh(b);for (b = 0; b < g.length; b++) c(g[b], \"bubbled\", d);for (b = a.length; 0 < b--;) c(a[b], \"captured\", e);\n } },\n Ih = Jb.getListener;function Jh(a, b, c) {\n if (b = Ih(a, c.dispatchConfig.phasedRegistrationNames[b])) c._dispatchListeners = Cb(c._dispatchListeners, b), c._dispatchInstances = Cb(c._dispatchInstances, a);\n}function Kh(a) {\n a && a.dispatchConfig.phasedRegistrationNames && Hh.traverseTwoPhase(a._targetInst, Jh, a);\n}function Qh(a) {\n if (a && a.dispatchConfig.phasedRegistrationNames) {\n var b = a._targetInst;b = b ? Hh.getParentInstance(b) : null;Hh.traverseTwoPhase(b, Jh, a);\n }\n}\nfunction Rh(a, b, c) {\n a && c && c.dispatchConfig.registrationName && (b = Ih(a, c.dispatchConfig.registrationName)) && (c._dispatchListeners = Cb(c._dispatchListeners, b), c._dispatchInstances = Cb(c._dispatchInstances, a));\n}function Sh(a) {\n a && a.dispatchConfig.registrationName && Rh(a._targetInst, null, a);\n}\nvar Th = { accumulateTwoPhaseDispatches: function (a) {\n Db(a, Kh);\n }, accumulateTwoPhaseDispatchesSkipTarget: function (a) {\n Db(a, Qh);\n }, accumulateDirectDispatches: function (a) {\n Db(a, Sh);\n }, accumulateEnterLeaveDispatches: function (a, b, c, d) {\n Hh.traverseEnterLeave(c, d, Rh, a, b);\n } },\n X = { _root: null, _startText: null, _fallbackText: null },\n Uh = { initialize: function (a) {\n X._root = a;X._startText = Uh.getText();return !0;\n }, reset: function () {\n X._root = null;X._startText = null;X._fallbackText = null;\n }, getData: function () {\n if (X._fallbackText) return X._fallbackText;\n var a,\n b = X._startText,\n c = b.length,\n d,\n e = Uh.getText(),\n f = e.length;for (a = 0; a < c && b[a] === e[a]; a++);var g = c - a;for (d = 1; d <= g && b[c - d] === e[f - d]; d++);X._fallbackText = e.slice(a, 1 < d ? 1 - d : void 0);return X._fallbackText;\n }, getText: function () {\n return \"value\" in X._root ? X._root.value : X._root[vh()];\n } },\n Vh = Uh,\n Wh = \"dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances\".split(\" \"),\n Xh = { type: null, target: null, currentTarget: ca.thatReturnsNull, eventPhase: null, bubbles: null,\n cancelable: null, timeStamp: function (a) {\n return a.timeStamp || Date.now();\n }, defaultPrevented: null, isTrusted: null };\nfunction Y(a, b, c, d) {\n this.dispatchConfig = a;this._targetInst = b;this.nativeEvent = c;a = this.constructor.Interface;for (var e in a) a.hasOwnProperty(e) && ((b = a[e]) ? this[e] = b(c) : \"target\" === e ? this.target = d : this[e] = c[e]);this.isDefaultPrevented = (null != c.defaultPrevented ? c.defaultPrevented : !1 === c.returnValue) ? ca.thatReturnsTrue : ca.thatReturnsFalse;this.isPropagationStopped = ca.thatReturnsFalse;return this;\n}\nn(Y.prototype, { preventDefault: function () {\n this.defaultPrevented = !0;var a = this.nativeEvent;a && (a.preventDefault ? a.preventDefault() : \"unknown\" !== typeof a.returnValue && (a.returnValue = !1), this.isDefaultPrevented = ca.thatReturnsTrue);\n }, stopPropagation: function () {\n var a = this.nativeEvent;a && (a.stopPropagation ? a.stopPropagation() : \"unknown\" !== typeof a.cancelBubble && (a.cancelBubble = !0), this.isPropagationStopped = ca.thatReturnsTrue);\n }, persist: function () {\n this.isPersistent = ca.thatReturnsTrue;\n }, isPersistent: ca.thatReturnsFalse,\n destructor: function () {\n var a = this.constructor.Interface,\n b;for (b in a) this[b] = null;for (a = 0; a < Wh.length; a++) this[Wh[a]] = null;\n } });Y.Interface = Xh;Y.augmentClass = function (a, b) {\n function c() {}c.prototype = this.prototype;var d = new c();n(d, a.prototype);a.prototype = d;a.prototype.constructor = a;a.Interface = n({}, this.Interface, b);a.augmentClass = this.augmentClass;Yh(a);\n};Yh(Y);function Zh(a, b, c, d) {\n if (this.eventPool.length) {\n var e = this.eventPool.pop();this.call(e, a, b, c, d);return e;\n }return new this(a, b, c, d);\n}\nfunction $h(a) {\n a instanceof this ? void 0 : w(\"223\");a.destructor();10 > this.eventPool.length && this.eventPool.push(a);\n}function Yh(a) {\n a.eventPool = [];a.getPooled = Zh;a.release = $h;\n}function ai(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Y.augmentClass(ai, { data: null });function bi(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Y.augmentClass(bi, { data: null });var ci = [9, 13, 27, 32],\n di = l.canUseDOM && \"CompositionEvent\" in window,\n ei = null;l.canUseDOM && \"documentMode\" in document && (ei = document.documentMode);var fi;\nif (fi = l.canUseDOM && \"TextEvent\" in window && !ei) {\n var gi = window.opera;fi = !(\"object\" === typeof gi && \"function\" === typeof gi.version && 12 >= parseInt(gi.version(), 10));\n}\nvar hi = fi,\n ii = l.canUseDOM && (!di || ei && 8 < ei && 11 >= ei),\n ji = String.fromCharCode(32),\n ki = { beforeInput: { phasedRegistrationNames: { bubbled: \"onBeforeInput\", captured: \"onBeforeInputCapture\" }, dependencies: [\"topCompositionEnd\", \"topKeyPress\", \"topTextInput\", \"topPaste\"] }, compositionEnd: { phasedRegistrationNames: { bubbled: \"onCompositionEnd\", captured: \"onCompositionEndCapture\" }, dependencies: \"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \") }, compositionStart: { phasedRegistrationNames: { bubbled: \"onCompositionStart\",\n captured: \"onCompositionStartCapture\" }, dependencies: \"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \") }, compositionUpdate: { phasedRegistrationNames: { bubbled: \"onCompositionUpdate\", captured: \"onCompositionUpdateCapture\" }, dependencies: \"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \") } },\n li = !1;\nfunction mi(a, b) {\n switch (a) {case \"topKeyUp\":\n return -1 !== ci.indexOf(b.keyCode);case \"topKeyDown\":\n return 229 !== b.keyCode;case \"topKeyPress\":case \"topMouseDown\":case \"topBlur\":\n return !0;default:\n return !1;}\n}function ni(a) {\n a = a.detail;return \"object\" === typeof a && \"data\" in a ? a.data : null;\n}var oi = !1;function pi(a, b) {\n switch (a) {case \"topCompositionEnd\":\n return ni(b);case \"topKeyPress\":\n if (32 !== b.which) return null;li = !0;return ji;case \"topTextInput\":\n return a = b.data, a === ji && li ? null : a;default:\n return null;}\n}\nfunction qi(a, b) {\n if (oi) return \"topCompositionEnd\" === a || !di && mi(a, b) ? (a = Vh.getData(), Vh.reset(), oi = !1, a) : null;switch (a) {case \"topPaste\":\n return null;case \"topKeyPress\":\n if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) {\n if (b.char && 1 < b.char.length) return b.char;if (b.which) return String.fromCharCode(b.which);\n }return null;case \"topCompositionEnd\":\n return ii ? null : b.data;default:\n return null;}\n}\nvar ri = { eventTypes: ki, extractEvents: function (a, b, c, d) {\n var e;if (di) b: {\n switch (a) {case \"topCompositionStart\":\n var f = ki.compositionStart;break b;case \"topCompositionEnd\":\n f = ki.compositionEnd;break b;case \"topCompositionUpdate\":\n f = ki.compositionUpdate;break b;}f = void 0;\n } else oi ? mi(a, c) && (f = ki.compositionEnd) : \"topKeyDown\" === a && 229 === c.keyCode && (f = ki.compositionStart);f ? (ii && (oi || f !== ki.compositionStart ? f === ki.compositionEnd && oi && (e = Vh.getData()) : oi = Vh.initialize(d)), f = ai.getPooled(f, b, c, d), e ? f.data = e : (e = ni(c), null !== e && (f.data = e)), Th.accumulateTwoPhaseDispatches(f), e = f) : e = null;(a = hi ? pi(a, c) : qi(a, c)) ? (b = bi.getPooled(ki.beforeInput, b, c, d), b.data = a, Th.accumulateTwoPhaseDispatches(b)) : b = null;return [e, b];\n } },\n si = { color: !0, date: !0, datetime: !0, \"datetime-local\": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };function ti(a) {\n var b = a && a.nodeName && a.nodeName.toLowerCase();return \"input\" === b ? !!si[a.type] : \"textarea\" === b ? !0 : !1;\n}\nvar ui = { change: { phasedRegistrationNames: { bubbled: \"onChange\", captured: \"onChangeCapture\" }, dependencies: \"topBlur topChange topClick topFocus topInput topKeyDown topKeyUp topSelectionChange\".split(\" \") } };function vi(a, b, c) {\n a = Y.getPooled(ui.change, a, b, c);a.type = \"change\";nb.enqueueStateRestore(c);Th.accumulateTwoPhaseDispatches(a);return a;\n}var wi = null,\n xi = null;function yi(a) {\n Jb.enqueueEvents(a);Jb.processEventQueue(!1);\n}\nfunction zi(a) {\n var b = G.getNodeFromInstance(a);if (Bc.updateValueIfChanged(b)) return a;\n}function Ai(a, b) {\n if (\"topChange\" === a) return b;\n}var Bi = !1;l.canUseDOM && (Bi = Lb(\"input\") && (!document.documentMode || 9 < document.documentMode));function Ci() {\n wi && (wi.detachEvent(\"onpropertychange\", Di), xi = wi = null);\n}function Di(a) {\n \"value\" === a.propertyName && zi(xi) && (a = vi(xi, a, ub(a)), sb.batchedUpdates(yi, a));\n}function Ei(a, b, c) {\n \"topFocus\" === a ? (Ci(), wi = b, xi = c, wi.attachEvent(\"onpropertychange\", Di)) : \"topBlur\" === a && Ci();\n}\nfunction Fi(a) {\n if (\"topSelectionChange\" === a || \"topKeyUp\" === a || \"topKeyDown\" === a) return zi(xi);\n}function Gi(a, b) {\n if (\"topClick\" === a) return zi(b);\n}function Hi(a, b) {\n if (\"topInput\" === a || \"topChange\" === a) return zi(b);\n}\nvar Ii = { eventTypes: ui, _isInputEventSupported: Bi, extractEvents: function (a, b, c, d) {\n var e = b ? G.getNodeFromInstance(b) : window,\n f = e.nodeName && e.nodeName.toLowerCase();if (\"select\" === f || \"input\" === f && \"file\" === e.type) var g = Ai;else if (ti(e)) {\n if (Bi) g = Hi;else {\n g = Fi;var h = Ei;\n }\n } else f = e.nodeName, !f || \"input\" !== f.toLowerCase() || \"checkbox\" !== e.type && \"radio\" !== e.type || (g = Gi);if (g && (g = g(a, b))) return vi(g, c, d);h && h(a, e, b);\"topBlur\" === a && null != b && (a = b._wrapperState || e._wrapperState) && a.controlled && \"number\" === e.type && (a = \"\" + e.value, e.getAttribute(\"value\") !== a && e.setAttribute(\"value\", a));\n } };function Ji(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Y.augmentClass(Ji, { view: function (a) {\n if (a.view) return a.view;a = ub(a);return a.window === a ? a : (a = a.ownerDocument) ? a.defaultView || a.parentWindow : window;\n }, detail: function (a) {\n return a.detail || 0;\n } });var Ki = { Alt: \"altKey\", Control: \"ctrlKey\", Meta: \"metaKey\", Shift: \"shiftKey\" };function Li(a) {\n var b = this.nativeEvent;return b.getModifierState ? b.getModifierState(a) : (a = Ki[a]) ? !!b[a] : !1;\n}function Mi() {\n return Li;\n}\nfunction Ni(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Ji.augmentClass(Ni, { screenX: null, screenY: null, clientX: null, clientY: null, pageX: null, pageY: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, getModifierState: Mi, button: null, buttons: null, relatedTarget: function (a) {\n return a.relatedTarget || (a.fromElement === a.srcElement ? a.toElement : a.fromElement);\n } });\nvar Oi = { mouseEnter: { registrationName: \"onMouseEnter\", dependencies: [\"topMouseOut\", \"topMouseOver\"] }, mouseLeave: { registrationName: \"onMouseLeave\", dependencies: [\"topMouseOut\", \"topMouseOver\"] } },\n Pi = { eventTypes: Oi, extractEvents: function (a, b, c, d) {\n if (\"topMouseOver\" === a && (c.relatedTarget || c.fromElement) || \"topMouseOut\" !== a && \"topMouseOver\" !== a) return null;var e = d.window === d ? d : (e = d.ownerDocument) ? e.defaultView || e.parentWindow : window;\"topMouseOut\" === a ? (a = b, b = (b = c.relatedTarget || c.toElement) ? G.getClosestInstanceFromNode(b) : null) : a = null;if (a === b) return null;var f = null == a ? e : G.getNodeFromInstance(a);e = null == b ? e : G.getNodeFromInstance(b);var g = Ni.getPooled(Oi.mouseLeave, a, c, d);g.type = \"mouseleave\";g.target = f;g.relatedTarget = e;c = Ni.getPooled(Oi.mouseEnter, b, c, d);c.type = \"mouseenter\";c.target = e;c.relatedTarget = f;Th.accumulateEnterLeaveDispatches(g, c, a, b);return [g, c];\n } },\n Qi = F.DOCUMENT_NODE,\n Ri = l.canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n Si = { select: { phasedRegistrationNames: { bubbled: \"onSelect\", captured: \"onSelectCapture\" },\n dependencies: \"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange\".split(\" \") } },\n Ti = null,\n Zi = null,\n $i = null,\n aj = !1,\n bj = M.isListeningToAllDependencies;\nfunction cj(a, b) {\n if (aj || null == Ti || Ti !== ia()) return null;var c = Ti;\"selectionStart\" in c && zh.hasSelectionCapabilities(c) ? c = { start: c.selectionStart, end: c.selectionEnd } : window.getSelection ? (c = window.getSelection(), c = { anchorNode: c.anchorNode, anchorOffset: c.anchorOffset, focusNode: c.focusNode, focusOffset: c.focusOffset }) : c = void 0;return $i && ea($i, c) ? null : ($i = c, a = Y.getPooled(Si.select, Zi, a, b), a.type = \"select\", a.target = Ti, Th.accumulateTwoPhaseDispatches(a), a);\n}\nvar dj = { eventTypes: Si, extractEvents: function (a, b, c, d) {\n var e = d.window === d ? d.document : d.nodeType === Qi ? d : d.ownerDocument;if (!e || !bj(\"onSelect\", e)) return null;e = b ? G.getNodeFromInstance(b) : window;switch (a) {case \"topFocus\":\n if (ti(e) || \"true\" === e.contentEditable) Ti = e, Zi = b, $i = null;break;case \"topBlur\":\n $i = Zi = Ti = null;break;case \"topMouseDown\":\n aj = !0;break;case \"topContextMenu\":case \"topMouseUp\":\n return aj = !1, cj(c, d);case \"topSelectionChange\":\n if (Ri) break;case \"topKeyDown\":case \"topKeyUp\":\n return cj(c, d);}return null;\n } };\nfunction ej(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Y.augmentClass(ej, { animationName: null, elapsedTime: null, pseudoElement: null });function fj(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Y.augmentClass(fj, { clipboardData: function (a) {\n return \"clipboardData\" in a ? a.clipboardData : window.clipboardData;\n } });function gj(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Ji.augmentClass(gj, { relatedTarget: null });function hj(a) {\n var b = a.keyCode;\"charCode\" in a ? (a = a.charCode, 0 === a && 13 === b && (a = 13)) : a = b;return 32 <= a || 13 === a ? a : 0;\n}\nvar ij = { Esc: \"Escape\", Spacebar: \" \", Left: \"ArrowLeft\", Up: \"ArrowUp\", Right: \"ArrowRight\", Down: \"ArrowDown\", Del: \"Delete\", Win: \"OS\", Menu: \"ContextMenu\", Apps: \"ContextMenu\", Scroll: \"ScrollLock\", MozPrintableKey: \"Unidentified\" },\n jj = { 8: \"Backspace\", 9: \"Tab\", 12: \"Clear\", 13: \"Enter\", 16: \"Shift\", 17: \"Control\", 18: \"Alt\", 19: \"Pause\", 20: \"CapsLock\", 27: \"Escape\", 32: \" \", 33: \"PageUp\", 34: \"PageDown\", 35: \"End\", 36: \"Home\", 37: \"ArrowLeft\", 38: \"ArrowUp\", 39: \"ArrowRight\", 40: \"ArrowDown\", 45: \"Insert\", 46: \"Delete\", 112: \"F1\", 113: \"F2\", 114: \"F3\", 115: \"F4\",\n 116: \"F5\", 117: \"F6\", 118: \"F7\", 119: \"F8\", 120: \"F9\", 121: \"F10\", 122: \"F11\", 123: \"F12\", 144: \"NumLock\", 145: \"ScrollLock\", 224: \"Meta\" };function kj(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}\nJi.augmentClass(kj, { key: function (a) {\n if (a.key) {\n var b = ij[a.key] || a.key;if (\"Unidentified\" !== b) return b;\n }return \"keypress\" === a.type ? (a = hj(a), 13 === a ? \"Enter\" : String.fromCharCode(a)) : \"keydown\" === a.type || \"keyup\" === a.type ? jj[a.keyCode] || \"Unidentified\" : \"\";\n }, location: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, repeat: null, locale: null, getModifierState: Mi, charCode: function (a) {\n return \"keypress\" === a.type ? hj(a) : 0;\n }, keyCode: function (a) {\n return \"keydown\" === a.type || \"keyup\" === a.type ? a.keyCode : 0;\n }, which: function (a) {\n return \"keypress\" === a.type ? hj(a) : \"keydown\" === a.type || \"keyup\" === a.type ? a.keyCode : 0;\n } });function lj(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Ni.augmentClass(lj, { dataTransfer: null });function mj(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Ji.augmentClass(mj, { touches: null, targetTouches: null, changedTouches: null, altKey: null, metaKey: null, ctrlKey: null, shiftKey: null, getModifierState: Mi });function nj(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Y.augmentClass(nj, { propertyName: null, elapsedTime: null, pseudoElement: null });\nfunction oj(a, b, c, d) {\n return Y.call(this, a, b, c, d);\n}Ni.augmentClass(oj, { deltaX: function (a) {\n return \"deltaX\" in a ? a.deltaX : \"wheelDeltaX\" in a ? -a.wheelDeltaX : 0;\n }, deltaY: function (a) {\n return \"deltaY\" in a ? a.deltaY : \"wheelDeltaY\" in a ? -a.wheelDeltaY : \"wheelDelta\" in a ? -a.wheelDelta : 0;\n }, deltaZ: null, deltaMode: null });var pj = {},\n qj = {};\n\"abort animationEnd animationIteration animationStart blur cancel canPlay canPlayThrough click close contextMenu copy cut doubleClick drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error focus input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing progress rateChange reset scroll seeked seeking stalled submit suspend timeUpdate toggle touchCancel touchEnd touchMove touchStart transitionEnd volumeChange waiting wheel\".split(\" \").forEach(function (a) {\n var b = a[0].toUpperCase() + a.slice(1),\n c = \"on\" + b;b = \"top\" + b;c = { phasedRegistrationNames: { bubbled: c, captured: c + \"Capture\" }, dependencies: [b] };pj[a] = c;qj[b] = c;\n});\nvar rj = { eventTypes: pj, extractEvents: function (a, b, c, d) {\n var e = qj[a];if (!e) return null;switch (a) {case \"topAbort\":case \"topCancel\":case \"topCanPlay\":case \"topCanPlayThrough\":case \"topClose\":case \"topDurationChange\":case \"topEmptied\":case \"topEncrypted\":case \"topEnded\":case \"topError\":case \"topInput\":case \"topInvalid\":case \"topLoad\":case \"topLoadedData\":case \"topLoadedMetadata\":case \"topLoadStart\":case \"topPause\":case \"topPlay\":case \"topPlaying\":case \"topProgress\":case \"topRateChange\":case \"topReset\":case \"topSeeked\":case \"topSeeking\":case \"topStalled\":case \"topSubmit\":case \"topSuspend\":case \"topTimeUpdate\":case \"topToggle\":case \"topVolumeChange\":case \"topWaiting\":\n var f = Y;\n break;case \"topKeyPress\":\n if (0 === hj(c)) return null;case \"topKeyDown\":case \"topKeyUp\":\n f = kj;break;case \"topBlur\":case \"topFocus\":\n f = gj;break;case \"topClick\":\n if (2 === c.button) return null;case \"topDoubleClick\":case \"topMouseDown\":case \"topMouseMove\":case \"topMouseUp\":case \"topMouseOut\":case \"topMouseOver\":case \"topContextMenu\":\n f = Ni;break;case \"topDrag\":case \"topDragEnd\":case \"topDragEnter\":case \"topDragExit\":case \"topDragLeave\":case \"topDragOver\":case \"topDragStart\":case \"topDrop\":\n f = lj;break;case \"topTouchCancel\":case \"topTouchEnd\":case \"topTouchMove\":case \"topTouchStart\":\n f = mj;break;case \"topAnimationEnd\":case \"topAnimationIteration\":case \"topAnimationStart\":\n f = ej;break;case \"topTransitionEnd\":\n f = nj;break;case \"topScroll\":\n f = Ji;break;case \"topWheel\":\n f = oj;break;case \"topCopy\":case \"topCut\":case \"topPaste\":\n f = fj;}f ? void 0 : w(\"86\", a);a = f.getPooled(e, b, c, d);Th.accumulateTwoPhaseDispatches(a);return a;\n } };L.setHandleTopLevel(M.handleTopLevel);Jb.injection.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));\nib.injection.injectComponentTree(G);Jb.injection.injectEventPluginsByName({ SimpleEventPlugin: rj, EnterLeaveEventPlugin: Pi, ChangeEventPlugin: Ii, SelectEventPlugin: dj, BeforeInputEventPlugin: ri });\nvar sj = A.injection.MUST_USE_PROPERTY,\n Z = A.injection.HAS_BOOLEAN_VALUE,\n tj = A.injection.HAS_NUMERIC_VALUE,\n uj = A.injection.HAS_POSITIVE_NUMERIC_VALUE,\n vj = A.injection.HAS_STRING_BOOLEAN_VALUE,\n wj = { Properties: { allowFullScreen: Z, allowTransparency: vj, async: Z, autoPlay: Z, capture: Z, checked: sj | Z, cols: uj, contentEditable: vj, controls: Z, \"default\": Z, defer: Z, disabled: Z, download: A.injection.HAS_OVERLOADED_BOOLEAN_VALUE, draggable: vj, formNoValidate: Z, hidden: Z, loop: Z, multiple: sj | Z, muted: sj | Z, noValidate: Z, open: Z, playsInline: Z,\n readOnly: Z, required: Z, reversed: Z, rows: uj, rowSpan: tj, scoped: Z, seamless: Z, selected: sj | Z, size: uj, start: tj, span: uj, spellCheck: vj, style: 0, itemScope: Z, acceptCharset: 0, className: 0, htmlFor: 0, httpEquiv: 0, value: vj }, DOMAttributeNames: { acceptCharset: \"accept-charset\", className: \"class\", htmlFor: \"for\", httpEquiv: \"http-equiv\" }, DOMMutationMethods: { value: function (a, b) {\n if (null == b) return a.removeAttribute(\"value\");\"number\" !== a.type || !1 === a.hasAttribute(\"value\") ? a.setAttribute(\"value\", \"\" + b) : a.validity && !a.validity.badInput && a.ownerDocument.activeElement !== a && a.setAttribute(\"value\", \"\" + b);\n } } },\n xj = A.injection.HAS_STRING_BOOLEAN_VALUE,\n yj = { xlink: \"http://www.w3.org/1999/xlink\", xml: \"http://www.w3.org/XML/1998/namespace\" },\n zj = { Properties: { autoReverse: xj, externalResourcesRequired: xj, preserveAlpha: xj }, DOMAttributeNames: { autoReverse: \"autoReverse\", externalResourcesRequired: \"externalResourcesRequired\", preserveAlpha: \"preserveAlpha\" }, DOMAttributeNamespaces: { xlinkActuate: yj.xlink, xlinkArcrole: yj.xlink, xlinkHref: yj.xlink, xlinkRole: yj.xlink,\n xlinkShow: yj.xlink, xlinkTitle: yj.xlink, xlinkType: yj.xlink, xmlBase: yj.xml, xmlLang: yj.xml, xmlSpace: yj.xml } },\n Aj = /[\\-\\:]([a-z])/g;function Bj(a) {\n return a[1].toUpperCase();\n}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space\".split(\" \").forEach(function (a) {\n var b = a.replace(Aj, Bj);zj.Properties[b] = 0;zj.DOMAttributeNames[b] = a;\n});A.injection.injectDOMPropertyConfig(wj);A.injection.injectDOMPropertyConfig(zj);\nvar Cj = ig.injectInternals,\n Dj = F.ELEMENT_NODE,\n Ej = F.TEXT_NODE,\n Fj = F.COMMENT_NODE,\n Gj = F.DOCUMENT_NODE,\n Hj = F.DOCUMENT_FRAGMENT_NODE,\n Ij = A.ROOT_ATTRIBUTE_NAME,\n Jj = ka.getChildNamespace,\n Kj = N.createElement,\n Lj = N.createTextNode,\n Mj = N.setInitialProperties,\n Nj = N.diffProperties,\n Oj = N.updateProperties,\n Pj = N.diffHydratedProperties,\n Qj = N.diffHydratedText,\n Rj = N.warnForDeletedHydratableElement,\n Sj = N.warnForDeletedHydratableText,\n Tj = N.warnForInsertedHydratedElement,\n Uj = N.warnForInsertedHydratedText,\n Vj = G.precacheFiberNode,\n Wj = G.updateFiberProps;\nnb.injection.injectFiberControlledHostComponent(N);Dh._injectFiber(function (a) {\n return Xj.findHostInstance(a);\n});var Yj = null,\n Zj = null;function ak(a) {\n return !(!a || a.nodeType !== Dj && a.nodeType !== Gj && a.nodeType !== Hj && (a.nodeType !== Fj || \" react-mount-point-unstable \" !== a.nodeValue));\n}function bk(a) {\n a = a ? a.nodeType === Gj ? a.documentElement : a.firstChild : null;return !(!a || a.nodeType !== Dj || !a.hasAttribute(Ij));\n}\nvar Xj = function (a) {\n var b = a.getPublicInstance;a = hh(a);var c = a.scheduleUpdate,\n d = a.getPriorityContext;return { createContainer: function (a) {\n var b = ee();a = { current: b, containerInfo: a, isScheduled: !1, nextScheduledRoot: null, context: null, pendingContext: null };return b.stateNode = a;\n }, updateContainer: function (a, b, g, h) {\n var e = b.current;g = jh(g);null === b.context ? b.context = g : b.pendingContext = g;b = h;h = d(e, ed.enableAsyncSubtreeAPI && null != a && null != a.type && null != a.type.prototype && !0 === a.type.prototype.unstable_isAsyncReactComponent);\n a = { element: a };kh(e, a, void 0 === b ? null : b, h);c(e, h);\n }, batchedUpdates: a.batchedUpdates, unbatchedUpdates: a.unbatchedUpdates, deferredUpdates: a.deferredUpdates, flushSync: a.flushSync, getPublicRootInstance: function (a) {\n a = a.current;if (!a.child) return null;switch (a.child.tag) {case oh:\n return b(a.child.stateNode);default:\n return a.child.stateNode;}\n }, findHostInstance: function (a) {\n a = ph(a);return null === a ? null : a.stateNode;\n }, findHostInstanceWithNoPortals: function (a) {\n a = qh(a);return null === a ? null : a.stateNode;\n } };\n}({ getRootHostContext: function (a) {\n if (a.nodeType === Gj) a = (a = a.documentElement) ? a.namespaceURI : Jj(null, \"\");else {\n var b = a.nodeType === Fj ? a.parentNode : a;a = b.namespaceURI || null;b = b.tagName;a = Jj(a, b);\n }return a;\n }, getChildHostContext: function (a, b) {\n return Jj(a, b);\n }, getPublicInstance: function (a) {\n return a;\n }, prepareForCommit: function () {\n Yj = M.isEnabled();Zj = zh.getSelectionInformation();M.setEnabled(!1);\n }, resetAfterCommit: function () {\n zh.restoreSelection(Zj);Zj = null;M.setEnabled(Yj);Yj = null;\n }, createInstance: function (a, b, c, d, e) {\n a = Kj(a, b, c, d);Vj(e, a);Wj(a, b);return a;\n }, appendInitialChild: function (a, b) {\n a.appendChild(b);\n }, finalizeInitialChildren: function (a, b, c, d) {\n Mj(a, b, c, d);a: {\n switch (b) {case \"button\":case \"input\":case \"select\":case \"textarea\":\n a = !!c.autoFocus;break a;}a = !1;\n }return a;\n }, prepareUpdate: function (a, b, c, d, e) {\n return Nj(a, b, c, d, e);\n }, commitMount: function (a) {\n a.focus();\n }, commitUpdate: function (a, b, c, d, e) {\n Wj(a, e);Oj(a, b, c, d, e);\n }, shouldSetTextContent: function (a, b) {\n return \"textarea\" === a || \"string\" === typeof b.children || \"number\" === typeof b.children || \"object\" === typeof b.dangerouslySetInnerHTML && null !== b.dangerouslySetInnerHTML && \"string\" === typeof b.dangerouslySetInnerHTML.__html;\n }, resetTextContent: function (a) {\n a.textContent = \"\";\n }, shouldDeprioritizeSubtree: function (a, b) {\n return !!b.hidden;\n }, createTextInstance: function (a, b, c, d) {\n a = Lj(a, b);Vj(d, a);return a;\n }, commitTextUpdate: function (a, b, c) {\n a.nodeValue = c;\n }, appendChild: function (a, b) {\n a.appendChild(b);\n }, appendChildToContainer: function (a, b) {\n a.nodeType === Fj ? a.parentNode.insertBefore(b, a) : a.appendChild(b);\n }, insertBefore: function (a, b, c) {\n a.insertBefore(b, c);\n }, insertInContainerBefore: function (a, b, c) {\n a.nodeType === Fj ? a.parentNode.insertBefore(b, c) : a.insertBefore(b, c);\n }, removeChild: function (a, b) {\n a.removeChild(b);\n }, removeChildFromContainer: function (a, b) {\n a.nodeType === Fj ? a.parentNode.removeChild(b) : a.removeChild(b);\n }, canHydrateInstance: function (a, b) {\n return a.nodeType === Dj && b === a.nodeName.toLowerCase();\n }, canHydrateTextInstance: function (a, b) {\n return \"\" === b ? !1 : a.nodeType === Ej;\n }, getNextHydratableSibling: function (a) {\n for (a = a.nextSibling; a && a.nodeType !== Dj && a.nodeType !== Ej;) a = a.nextSibling;return a;\n }, getFirstHydratableChild: function (a) {\n for (a = a.firstChild; a && a.nodeType !== Dj && a.nodeType !== Ej;) a = a.nextSibling;return a;\n }, hydrateInstance: function (a, b, c, d, e, f) {\n Vj(f, a);Wj(a, c);return Pj(a, b, c, e, d);\n }, hydrateTextInstance: function (a, b, c) {\n Vj(c, a);return Qj(a, b);\n }, didNotHydrateInstance: function (a, b) {\n 1 === b.nodeType ? Rj(a, b) : Sj(a, b);\n }, didNotFindHydratableInstance: function (a, b, c) {\n Tj(a, b, c);\n }, didNotFindHydratableTextInstance: function (a, b) {\n Uj(a, b);\n }, scheduleDeferredCallback: dd.rIC, useSyncScheduling: !0 });sb.injection.injectFiberBatchedUpdates(Xj.batchedUpdates);\nfunction ck(a, b, c, d, e) {\n ak(c) ? void 0 : w(\"200\");var f = c._reactRootContainer;if (f) Xj.updateContainer(b, f, a, e);else {\n if (!d && !bk(c)) for (d = void 0; d = c.lastChild;) c.removeChild(d);var g = Xj.createContainer(c);f = c._reactRootContainer = g;Xj.unbatchedUpdates(function () {\n Xj.updateContainer(b, g, a, e);\n });\n }return Xj.getPublicRootInstance(f);\n}function dk(a, b) {\n var c = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;ak(b) ? void 0 : w(\"200\");return ne.createPortal(a, b, null, c);\n}\nvar ek = { createPortal: dk, hydrate: function (a, b, c) {\n return ck(null, a, b, !0, c);\n }, render: function (a, b, c) {\n return ck(null, a, b, !1, c);\n }, unstable_renderSubtreeIntoContainer: function (a, b, c, d) {\n null != a && Pa.has(a) ? void 0 : w(\"38\");return ck(a, b, c, !1, d);\n }, unmountComponentAtNode: function (a) {\n ak(a) ? void 0 : w(\"40\");return a._reactRootContainer ? (Xj.unbatchedUpdates(function () {\n ck(null, null, a, !1, function () {\n a._reactRootContainer = null;\n });\n }), !0) : !1;\n }, findDOMNode: Dh, unstable_createPortal: dk, unstable_batchedUpdates: sb.batchedUpdates,\n unstable_deferredUpdates: Xj.deferredUpdates, flushSync: Xj.flushSync, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { EventPluginHub: Jb, EventPluginRegistry: sa, EventPropagators: Th, ReactControlledComponent: nb, ReactDOMComponentTree: G, ReactDOMEventListener: L } };Cj({ findFiberByHostInstance: G.getClosestInstanceFromNode, findHostInstanceByFiber: Xj.findHostInstance, bundleType: 0, version: \"16.0.0\", rendererPackageName: \"react-dom\" });module.exports = ek;" + }, + { + "id": 479, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/ExecutionEnvironment.js", + "name": "./node_modules/fbjs/lib/ExecutionEnvironment.js", + "index": 389, + "index2": 375, + "size": 935, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "issuerId": 478, + "issuerName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/ExecutionEnvironment", + "loc": "12:64-104" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;" + }, + { + "id": 480, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/EventListener.js", + "name": "./node_modules/fbjs/lib/EventListener.js", + "index": 390, + "index2": 376, + "size": 2248, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "issuerId": 478, + "issuerName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/EventListener", + "loc": "14:9-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Upstream version of event listener. Does not take into account specific\n * nature of platform.\n */\nvar EventListener = {\n /**\n * Listen to DOM events during the bubble phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n listen: function listen(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, false);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, false);\n }\n };\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, callback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, callback);\n }\n };\n }\n },\n\n /**\n * Listen to DOM events during the capture phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n capture: function capture(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, true);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, true);\n }\n };\n } else {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');\n }\n return {\n remove: emptyFunction\n };\n }\n },\n\n registerDefault: function registerDefault() {}\n};\n\nmodule.exports = EventListener;" + }, + { + "id": 481, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/shallowEqual.js", + "name": "./node_modules/fbjs/lib/shallowEqual.js", + "index": 391, + "index2": 377, + "size": 1616, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "issuerId": 478, + "issuerName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/shallowEqual", + "loc": "17:9-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;" + }, + { + "id": 482, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/containsNode.js", + "name": "./node_modules/fbjs/lib/containsNode.js", + "index": 392, + "index2": 380, + "size": 923, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "issuerId": 478, + "issuerName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/containsNode", + "loc": "18:9-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isTextNode = require('./isTextNode');\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;" + }, + { + "id": 483, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/isTextNode.js", + "name": "./node_modules/fbjs/lib/isTextNode.js", + "index": 393, + "index2": 379, + "size": 479, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/containsNode.js", + "issuerId": 482, + "issuerName": "./node_modules/fbjs/lib/containsNode.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 482, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/containsNode.js", + "module": "./node_modules/fbjs/lib/containsNode.js", + "moduleName": "./node_modules/fbjs/lib/containsNode.js", + "type": "cjs require", + "userRequest": "./isTextNode", + "loc": "12:17-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar isNode = require('./isNode');\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;" + }, + { + "id": 484, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/isNode.js", + "name": "./node_modules/fbjs/lib/isNode.js", + "index": 394, + "index2": 378, + "size": 703, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/isTextNode.js", + "issuerId": 483, + "issuerName": "./node_modules/fbjs/lib/isTextNode.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 483, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/isTextNode.js", + "module": "./node_modules/fbjs/lib/isTextNode.js", + "moduleName": "./node_modules/fbjs/lib/isTextNode.js", + "type": "cjs require", + "userRequest": "./isNode", + "loc": "12:13-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\n\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;" + }, + { + "id": 485, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/focusNode.js", + "name": "./node_modules/fbjs/lib/focusNode.js", + "index": 395, + "index2": 381, + "size": 578, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "issuerId": 478, + "issuerName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/focusNode", + "loc": "19:9-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * @param {DOMElement} node input/textarea to focus\n */\n\nfunction focusNode(node) {\n // IE8 can throw \"Can't move focus to the control because it is invisible,\n // not enabled, or of a type that does not accept the focus.\" for all kinds of\n // reasons that are too expensive and fragile to test.\n try {\n node.focus();\n } catch (e) {}\n}\n\nmodule.exports = focusNode;" + }, + { + "id": 486, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/fbjs/lib/getActiveElement.js", + "name": "./node_modules/fbjs/lib/getActiveElement.js", + "index": 396, + "index2": 382, + "size": 913, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "issuerId": 478, + "issuerName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 478, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-dom/cjs/react-dom.production.min.js", + "module": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "moduleName": "./node_modules/react-dom/cjs/react-dom.production.min.js", + "type": "cjs require", + "userRequest": "fbjs/lib/getActiveElement", + "loc": "20:9-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 3, + "source": "'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\n\nfunction getActiveElement(doc) /*?DOMElement*/{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;" + }, + { + "id": 487, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/LegacyPortal.js", + "name": "./node_modules/react-overlays/lib/LegacyPortal.js", + "index": 400, + "index2": 388, + "size": 5495, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Portal.js", + "issuerId": 477, + "issuerName": "./node_modules/react-overlays/lib/Portal.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 477, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Portal.js", + "module": "./node_modules/react-overlays/lib/Portal.js", + "moduleName": "./node_modules/react-overlays/lib/Portal.js", + "type": "cjs require", + "userRequest": "./LegacyPortal", + "loc": "29:20-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _componentOrElement = require('prop-types-extra/lib/componentOrElement');\n\nvar _componentOrElement2 = _interopRequireDefault(_componentOrElement);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: 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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\n/**\n * The `` component renders its children into a new \"subtree\" outside of current component hierarchy.\n * You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`.\n * The children of `` component will be appended to the `container` specified.\n */\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Portal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._mountOverlayTarget = function () {\n if (!_this._overlayTarget) {\n _this._overlayTarget = document.createElement('div');\n _this._portalContainerNode = (0, _getContainer2.default)(_this.props.container, (0, _ownerDocument2.default)(_this).body);\n _this._portalContainerNode.appendChild(_this._overlayTarget);\n }\n }, _this._unmountOverlayTarget = function () {\n if (_this._overlayTarget) {\n _this._portalContainerNode.removeChild(_this._overlayTarget);\n _this._overlayTarget = null;\n }\n _this._portalContainerNode = null;\n }, _this._renderOverlay = function () {\n var overlay = !_this.props.children ? null : _react2.default.Children.only(_this.props.children);\n\n // Save reference for future access.\n if (overlay !== null) {\n _this._mountOverlayTarget();\n\n var initialRender = !_this._overlayInstance;\n\n _this._overlayInstance = _reactDom2.default.unstable_renderSubtreeIntoContainer(_this, overlay, _this._overlayTarget, function () {\n if (initialRender && _this.props.onRendered) {\n _this.props.onRendered();\n }\n });\n } else {\n // Unrender if the component is null for transitions to null\n _this._unrenderOverlay();\n _this._unmountOverlayTarget();\n }\n }, _this._unrenderOverlay = function () {\n if (_this._overlayTarget) {\n _reactDom2.default.unmountComponentAtNode(_this._overlayTarget);\n _this._overlayInstance = null;\n }\n }, _this.getMountNode = function () {\n return _this._overlayTarget;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Portal.prototype.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n this._renderOverlay();\n };\n\n Portal.prototype.componentDidUpdate = function componentDidUpdate() {\n this._renderOverlay();\n };\n\n Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this._overlayTarget && nextProps.container !== this.props.container) {\n this._portalContainerNode.removeChild(this._overlayTarget);\n this._portalContainerNode = (0, _getContainer2.default)(nextProps.container, (0, _ownerDocument2.default)(this).body);\n this._portalContainerNode.appendChild(this._overlayTarget);\n }\n };\n\n Portal.prototype.componentWillUnmount = function componentWillUnmount() {\n this._isMounted = false;\n this._unrenderOverlay();\n this._unmountOverlayTarget();\n };\n\n Portal.prototype.render = function render() {\n return null;\n };\n\n return Portal;\n}(_react2.default.Component);\n\nPortal.displayName = 'Portal';\nPortal.propTypes = {\n /**\n * A Node, Component instance, or function that returns either. The `container` will have the Portal children\n * appended to it.\n */\n container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n\n onRendered: _propTypes2.default.func\n};\nexports.default = Portal;\nmodule.exports = exports['default'];" + }, + { + "id": 488, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "name": "./node_modules/react-overlays/lib/Position.js", + "index": 401, + "index2": 408, + "size": 7149, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "issuerId": 97, + "issuerName": "./node_modules/react-overlays/lib/Overlay.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 97, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "module": "./node_modules/react-overlays/lib/Overlay.js", + "moduleName": "./node_modules/react-overlays/lib/Overlay.js", + "type": "cjs require", + "userRequest": "./Position", + "loc": "31:16-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _componentOrElement = require('prop-types-extra/lib/componentOrElement');\n\nvar _componentOrElement2 = _interopRequireDefault(_componentOrElement);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _calculatePosition = require('./utils/calculatePosition');\n\nvar _calculatePosition2 = _interopRequireDefault(_calculatePosition);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\n/**\n * The Position component calculates the coordinates for its child, to position\n * it relative to a `target` component or node. Useful for creating callouts\n * and tooltips, the Position component injects a `style` props with `left` and\n * `top` values for positioning your component.\n *\n * It also injects \"arrow\" `left`, and `top` values for styling callout arrows\n * for giving your components a sense of directionality.\n */\nvar Position = function (_React$Component) {\n _inherits(Position, _React$Component);\n\n function Position(props, context) {\n _classCallCheck(this, Position);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.getTarget = function () {\n var target = _this.props.target;\n\n var targetElement = typeof target === 'function' ? target() : target;\n return targetElement && _reactDom2.default.findDOMNode(targetElement) || null;\n };\n\n _this.maybeUpdatePosition = function (placementChanged) {\n var target = _this.getTarget();\n\n if (!_this.props.shouldUpdatePosition && target === _this._lastTarget && !placementChanged) {\n return;\n }\n\n _this.updatePosition(target);\n };\n\n _this.state = {\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n };\n\n _this._needsFlush = false;\n _this._lastTarget = null;\n return _this;\n }\n\n Position.prototype.componentDidMount = function componentDidMount() {\n this.updatePosition(this.getTarget());\n };\n\n Position.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n this._needsFlush = true;\n };\n\n Position.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this._needsFlush) {\n this._needsFlush = false;\n this.maybeUpdatePosition(this.props.placement !== prevProps.placement);\n }\n };\n\n Position.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n props = _objectWithoutProperties(_props, ['children', 'className']);\n\n var _state = this.state,\n positionLeft = _state.positionLeft,\n positionTop = _state.positionTop,\n arrowPosition = _objectWithoutProperties(_state, ['positionLeft', 'positionTop']);\n\n // These should not be forwarded to the child.\n\n\n delete props.target;\n delete props.container;\n delete props.containerPadding;\n delete props.shouldUpdatePosition;\n\n var child = _react2.default.Children.only(children);\n return (0, _react.cloneElement)(child, _extends({}, props, arrowPosition, {\n // FIXME: Don't forward `positionLeft` and `positionTop` via both props\n // and `props.style`.\n positionLeft: positionLeft,\n positionTop: positionTop,\n className: (0, _classnames2.default)(className, child.props.className),\n style: _extends({}, child.props.style, {\n left: positionLeft,\n top: positionTop\n })\n }));\n };\n\n Position.prototype.updatePosition = function updatePosition(target) {\n this._lastTarget = target;\n\n if (!target) {\n this.setState({\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n });\n\n return;\n }\n\n var overlay = _reactDom2.default.findDOMNode(this);\n var container = (0, _getContainer2.default)(this.props.container, (0, _ownerDocument2.default)(this).body);\n\n this.setState((0, _calculatePosition2.default)(this.props.placement, overlay, target, container, this.props.containerPadding));\n };\n\n return Position;\n}(_react2.default.Component);\n\nPosition.propTypes = {\n /**\n * A node, element, or function that returns either. The child will be\n * be positioned next to the `target` specified.\n */\n target: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n\n /**\n * \"offsetParent\" of the component\n */\n container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n /**\n * Minimum spacing in pixels between container border and component border\n */\n containerPadding: _propTypes2.default.number,\n /**\n * How to position the component relative to the target\n */\n placement: _propTypes2.default.oneOf(['top', 'right', 'bottom', 'left']),\n /**\n * Whether the position should be changed on each update\n */\n shouldUpdatePosition: _propTypes2.default.bool\n};\n\nPosition.displayName = 'Position';\n\nPosition.defaultProps = {\n containerPadding: 0,\n placement: 'right',\n shouldUpdatePosition: false\n};\n\nexports.default = Position;\nmodule.exports = exports['default'];" + }, + { + "id": 489, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/calculatePosition.js", + "name": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "index": 402, + "index2": 407, + "size": 3999, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "issuerId": 488, + "issuerName": "./node_modules/react-overlays/lib/Position.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 488, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Position.js", + "module": "./node_modules/react-overlays/lib/Position.js", + "moduleName": "./node_modules/react-overlays/lib/Position.js", + "type": "cjs require", + "userRequest": "./utils/calculatePosition", + "loc": "35:25-61" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nexports.__esModule = true;\nexports.default = calculatePosition;\n\nvar _offset = require('dom-helpers/query/offset');\n\nvar _offset2 = _interopRequireDefault(_offset);\n\nvar _position = require('dom-helpers/query/position');\n\nvar _position2 = _interopRequireDefault(_position);\n\nvar _scrollTop = require('dom-helpers/query/scrollTop');\n\nvar _scrollTop2 = _interopRequireDefault(_scrollTop);\n\nvar _ownerDocument = require('./ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction getContainerDimensions(containerNode) {\n var width = void 0,\n height = void 0,\n scroll = void 0;\n\n if (containerNode.tagName === 'BODY') {\n width = window.innerWidth;\n height = window.innerHeight;\n\n scroll = (0, _scrollTop2.default)((0, _ownerDocument2.default)(containerNode).documentElement) || (0, _scrollTop2.default)(containerNode);\n } else {\n var _getOffset = (0, _offset2.default)(containerNode);\n\n width = _getOffset.width;\n height = _getOffset.height;\n\n scroll = (0, _scrollTop2.default)(containerNode);\n }\n\n return { width: width, height: height, scroll: scroll };\n}\n\nfunction getTopDelta(top, overlayHeight, container, padding) {\n var containerDimensions = getContainerDimensions(container);\n var containerScroll = containerDimensions.scroll;\n var containerHeight = containerDimensions.height;\n\n var topEdgeOffset = top - padding - containerScroll;\n var bottomEdgeOffset = top + padding - containerScroll + overlayHeight;\n\n if (topEdgeOffset < 0) {\n return -topEdgeOffset;\n } else if (bottomEdgeOffset > containerHeight) {\n return containerHeight - bottomEdgeOffset;\n } else {\n return 0;\n }\n}\n\nfunction getLeftDelta(left, overlayWidth, container, padding) {\n var containerDimensions = getContainerDimensions(container);\n var containerWidth = containerDimensions.width;\n\n var leftEdgeOffset = left - padding;\n var rightEdgeOffset = left + padding + overlayWidth;\n\n if (leftEdgeOffset < 0) {\n return -leftEdgeOffset;\n } else if (rightEdgeOffset > containerWidth) {\n return containerWidth - rightEdgeOffset;\n }\n\n return 0;\n}\n\nfunction calculatePosition(placement, overlayNode, target, container, padding) {\n var childOffset = container.tagName === 'BODY' ? (0, _offset2.default)(target) : (0, _position2.default)(target, container);\n\n var _getOffset2 = (0, _offset2.default)(overlayNode),\n overlayHeight = _getOffset2.height,\n overlayWidth = _getOffset2.width;\n\n var positionLeft = void 0,\n positionTop = void 0,\n arrowOffsetLeft = void 0,\n arrowOffsetTop = void 0;\n\n if (placement === 'left' || placement === 'right') {\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n\n if (placement === 'left') {\n positionLeft = childOffset.left - overlayWidth;\n } else {\n positionLeft = childOffset.left + childOffset.width;\n }\n\n var topDelta = getTopDelta(positionTop, overlayHeight, container, padding);\n\n positionTop += topDelta;\n arrowOffsetTop = 50 * (1 - 2 * topDelta / overlayHeight) + '%';\n arrowOffsetLeft = void 0;\n } else if (placement === 'top' || placement === 'bottom') {\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n\n if (placement === 'top') {\n positionTop = childOffset.top - overlayHeight;\n } else {\n positionTop = childOffset.top + childOffset.height;\n }\n\n var leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);\n\n positionLeft += leftDelta;\n arrowOffsetLeft = 50 * (1 - 2 * leftDelta / overlayWidth) + '%';\n arrowOffsetTop = void 0;\n } else {\n throw new Error('calcOverlayPosition(): No such placement of \"' + placement + '\" found.');\n }\n\n return { positionLeft: positionLeft, positionTop: positionTop, arrowOffsetLeft: arrowOffsetLeft, arrowOffsetTop: arrowOffsetTop };\n}\nmodule.exports = exports['default'];" + }, + { + "id": 490, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/position.js", + "name": "./node_modules/dom-helpers/query/position.js", + "index": 407, + "index2": 406, + "size": 2210, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/calculatePosition.js", + "issuerId": 489, + "issuerName": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 489, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/calculatePosition.js", + "module": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "moduleName": "./node_modules/react-overlays/lib/utils/calculatePosition.js", + "type": "cjs require", + "userRequest": "dom-helpers/query/position", + "loc": "10:16-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nexports.default = position;\n\nvar _offset = require('./offset');\n\nvar _offset2 = _interopRequireDefault(_offset);\n\nvar _offsetParent = require('./offsetParent');\n\nvar _offsetParent2 = _interopRequireDefault(_offsetParent);\n\nvar _scrollTop = require('./scrollTop');\n\nvar _scrollTop2 = _interopRequireDefault(_scrollTop);\n\nvar _scrollLeft = require('./scrollLeft');\n\nvar _scrollLeft2 = _interopRequireDefault(_scrollLeft);\n\nvar _style = require('../style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction nodeName(node) {\n return node.nodeName && node.nodeName.toLowerCase();\n}\n\nfunction position(node, offsetParent) {\n var parentOffset = { top: 0, left: 0 },\n offset;\n\n // Fixed elements are offset from window (parentOffset = {top:0, left: 0},\n // because it is its only offset parent\n if ((0, _style2.default)(node, 'position') === 'fixed') {\n offset = node.getBoundingClientRect();\n } else {\n offsetParent = offsetParent || (0, _offsetParent2.default)(node);\n offset = (0, _offset2.default)(node);\n\n if (nodeName(offsetParent) !== 'html') parentOffset = (0, _offset2.default)(offsetParent);\n\n parentOffset.top += parseInt((0, _style2.default)(offsetParent, 'borderTopWidth'), 10) - (0, _scrollTop2.default)(offsetParent) || 0;\n parentOffset.left += parseInt((0, _style2.default)(offsetParent, 'borderLeftWidth'), 10) - (0, _scrollLeft2.default)(offsetParent) || 0;\n }\n\n // Subtract parent offsets and node margins\n return _extends({}, offset, {\n top: offset.top - parentOffset.top - (parseInt((0, _style2.default)(node, 'marginTop'), 10) || 0),\n left: offset.left - parentOffset.left - (parseInt((0, _style2.default)(node, 'marginLeft'), 10) || 0)\n });\n}\nmodule.exports = exports['default'];" + }, + { + "id": 491, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/offsetParent.js", + "name": "./node_modules/dom-helpers/query/offsetParent.js", + "index": 408, + "index2": 403, + "size": 871, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/position.js", + "issuerId": 490, + "issuerName": "./node_modules/dom-helpers/query/position.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 490, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/query/position.js", + "module": "./node_modules/dom-helpers/query/position.js", + "moduleName": "./node_modules/dom-helpers/query/position.js", + "type": "cjs require", + "userRequest": "./offsetParent", + "loc": "23:20-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = offsetParent;\n\nvar _ownerDocument = require('../ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _style = require('../style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction nodeName(node) {\n return node.nodeName && node.nodeName.toLowerCase();\n}\n\nfunction offsetParent(node) {\n var doc = (0, _ownerDocument2.default)(node),\n offsetParent = node && node.offsetParent;\n\n while (offsetParent && nodeName(node) !== 'html' && (0, _style2.default)(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n\n return offsetParent || doc.documentElement;\n}\nmodule.exports = exports['default'];" + }, + { + "id": 492, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/camelize.js", + "name": "./node_modules/dom-helpers/util/camelize.js", + "index": 411, + "index2": 394, + "size": 287, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/camelizeStyle.js", + "issuerId": 222, + "issuerName": "./node_modules/dom-helpers/util/camelizeStyle.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 222, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/camelizeStyle.js", + "module": "./node_modules/dom-helpers/util/camelizeStyle.js", + "moduleName": "./node_modules/dom-helpers/util/camelizeStyle.js", + "type": "cjs require", + "userRequest": "./camelize", + "loc": "8:16-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 13, + "source": "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = camelize;\nvar rHyphen = /-(.)/g;\n\nfunction camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}\nmodule.exports = exports[\"default\"];" + }, + { + "id": 493, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/hyphenateStyle.js", + "name": "./node_modules/dom-helpers/util/hyphenateStyle.js", + "index": 412, + "index2": 397, + "size": 774, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "issuerId": 221, + "issuerName": "./node_modules/dom-helpers/style/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 221, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "module": "./node_modules/dom-helpers/style/index.js", + "moduleName": "./node_modules/dom-helpers/style/index.js", + "type": "cjs require", + "userRequest": "../util/hyphenateStyle", + "loc": "12:22-55" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hyphenateStyleName;\n\nvar _hyphenate = require('./hyphenate');\n\nvar _hyphenate2 = _interopRequireDefault(_hyphenate);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nvar msPattern = /^ms-/; /**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\n\nfunction hyphenateStyleName(string) {\n return (0, _hyphenate2.default)(string).replace(msPattern, '-ms-');\n}\nmodule.exports = exports['default'];" + }, + { + "id": 494, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/hyphenate.js", + "name": "./node_modules/dom-helpers/util/hyphenate.js", + "index": 413, + "index2": 396, + "size": 257, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/hyphenateStyle.js", + "issuerId": 493, + "issuerName": "./node_modules/dom-helpers/util/hyphenateStyle.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 493, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/hyphenateStyle.js", + "module": "./node_modules/dom-helpers/util/hyphenateStyle.js", + "moduleName": "./node_modules/dom-helpers/util/hyphenateStyle.js", + "type": "cjs require", + "userRequest": "./hyphenate", + "loc": "8:17-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 13, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hyphenate;\n\nvar rUpper = /([A-Z])/g;\n\nfunction hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}\nmodule.exports = exports['default'];" + }, + { + "id": 495, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/getComputedStyle.js", + "name": "./node_modules/dom-helpers/style/getComputedStyle.js", + "index": 414, + "index2": 398, + "size": 1810, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "issuerId": 221, + "issuerName": "./node_modules/dom-helpers/style/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 221, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "module": "./node_modules/dom-helpers/style/index.js", + "moduleName": "./node_modules/dom-helpers/style/index.js", + "type": "cjs require", + "userRequest": "./getComputedStyle", + "loc": "16:25-54" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _getComputedStyle;\n\nvar _camelizeStyle = require('../util/camelizeStyle');\n\nvar _camelizeStyle2 = _interopRequireDefault(_camelizeStyle);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nvar rposition = /^(top|right|bottom|left)$/;\nvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\nfunction _getComputedStyle(node) {\n if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n var doc = node.ownerDocument;\n\n return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {\n //ie 8 \"magic\" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72\n getPropertyValue: function getPropertyValue(prop) {\n var style = node.style;\n\n prop = (0, _camelizeStyle2.default)(prop);\n\n if (prop == 'float') prop = 'styleFloat';\n\n var current = node.currentStyle[prop] || null;\n\n if (current == null && style && style[prop]) current = style[prop];\n\n if (rnumnonpx.test(current) && !rposition.test(prop)) {\n // Remember the original values\n var left = style.left;\n var runStyle = node.runtimeStyle;\n var rsLeft = runStyle && runStyle.left;\n\n // Put in the new values to get a computed value out\n if (rsLeft) runStyle.left = node.currentStyle.left;\n\n style.left = prop === 'fontSize' ? '1em' : current;\n current = style.pixelLeft + 'px';\n\n // Revert the changed values\n style.left = left;\n if (rsLeft) runStyle.left = rsLeft;\n }\n\n return current;\n }\n };\n}\nmodule.exports = exports['default'];" + }, + { + "id": 496, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/removeStyle.js", + "name": "./node_modules/dom-helpers/style/removeStyle.js", + "index": 415, + "index2": 399, + "size": 291, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "issuerId": 221, + "issuerName": "./node_modules/dom-helpers/style/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 221, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "module": "./node_modules/dom-helpers/style/index.js", + "moduleName": "./node_modules/dom-helpers/style/index.js", + "type": "cjs require", + "userRequest": "./removeStyle", + "loc": "20:19-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = removeStyle;\nfunction removeStyle(node, key) {\n return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n}\nmodule.exports = exports['default'];" + }, + { + "id": 497, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/transition/isTransform.js", + "name": "./node_modules/dom-helpers/transition/isTransform.js", + "index": 417, + "index2": 401, + "size": 349, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "issuerId": 221, + "issuerName": "./node_modules/dom-helpers/style/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 221, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/style/index.js", + "module": "./node_modules/dom-helpers/style/index.js", + "moduleName": "./node_modules/dom-helpers/style/index.js", + "type": "cjs require", + "userRequest": "../transition/isTransform", + "loc": "26:19-55" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isTransform;\nvar supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\n\nfunction isTransform(property) {\n return !!(property && supportedTransforms.test(property));\n}\nmodule.exports = exports[\"default\"];" + }, + { + "id": 498, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/RootCloseWrapper.js", + "name": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "index": 420, + "index2": 412, + "size": 5563, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "issuerId": 97, + "issuerName": "./node_modules/react-overlays/lib/Overlay.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 97, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/Overlay.js", + "module": "./node_modules/react-overlays/lib/Overlay.js", + "moduleName": "./node_modules/react-overlays/lib/Overlay.js", + "type": "cjs require", + "userRequest": "./RootCloseWrapper", + "loc": "35:24-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\nexports.__esModule = true;\n\nvar _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: 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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar escapeKeyCode = 27;\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\n/**\n * The `` component registers your callback on the document\n * when rendered. Powers the `` component. This is used achieve modal\n * style behavior where your callback is triggered when the user tries to\n * interact with the rest of the document or hits the `esc` key.\n */\n\nvar RootCloseWrapper = function (_React$Component) {\n _inherits(RootCloseWrapper, _React$Component);\n\n function RootCloseWrapper(props, context) {\n _classCallCheck(this, RootCloseWrapper);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.addEventListeners = function () {\n var event = _this.props.event;\n\n var doc = (0, _ownerDocument2.default)(_this);\n\n // Use capture for this listener so it fires before React's listener, to\n // avoid false positives in the contains() check below if the target DOM\n // element is removed in the React mouse callback.\n _this.documentMouseCaptureListener = (0, _addEventListener2.default)(doc, event, _this.handleMouseCapture, true);\n\n _this.documentMouseListener = (0, _addEventListener2.default)(doc, event, _this.handleMouse);\n\n _this.documentKeyupListener = (0, _addEventListener2.default)(doc, 'keyup', _this.handleKeyUp);\n };\n\n _this.removeEventListeners = function () {\n if (_this.documentMouseCaptureListener) {\n _this.documentMouseCaptureListener.remove();\n }\n\n if (_this.documentMouseListener) {\n _this.documentMouseListener.remove();\n }\n\n if (_this.documentKeyupListener) {\n _this.documentKeyupListener.remove();\n }\n };\n\n _this.handleMouseCapture = function (e) {\n _this.preventMouseRootClose = isModifiedEvent(e) || !isLeftClickEvent(e) || (0, _contains2.default)(_reactDom2.default.findDOMNode(_this), e.target);\n };\n\n _this.handleMouse = function (e) {\n if (!_this.preventMouseRootClose && _this.props.onRootClose) {\n _this.props.onRootClose(e);\n }\n };\n\n _this.handleKeyUp = function (e) {\n if (e.keyCode === escapeKeyCode && _this.props.onRootClose) {\n _this.props.onRootClose(e);\n }\n };\n\n _this.preventMouseRootClose = false;\n return _this;\n }\n\n RootCloseWrapper.prototype.componentDidMount = function componentDidMount() {\n if (!this.props.disabled) {\n this.addEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (!this.props.disabled && prevProps.disabled) {\n this.addEventListeners();\n } else if (this.props.disabled && !prevProps.disabled) {\n this.removeEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.componentWillUnmount = function componentWillUnmount() {\n if (!this.props.disabled) {\n this.removeEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.render = function render() {\n return this.props.children;\n };\n\n return RootCloseWrapper;\n}(_react2.default.Component);\n\nRootCloseWrapper.displayName = 'RootCloseWrapper';\n\nRootCloseWrapper.propTypes = {\n /**\n * Callback fired after click or mousedown. Also triggers when user hits `esc`.\n */\n onRootClose: _propTypes2.default.func,\n /**\n * Children to render.\n */\n children: _propTypes2.default.element,\n /**\n * Disable the the RootCloseWrapper, preventing it from triggering `onRootClose`.\n */\n disabled: _propTypes2.default.bool,\n /**\n * Choose which document mouse event to bind to.\n */\n event: _propTypes2.default.oneOf(['click', 'mousedown'])\n};\n\nRootCloseWrapper.defaultProps = {\n event: 'click'\n};\n\nexports.default = RootCloseWrapper;\nmodule.exports = exports['default'];" + }, + { + "id": 499, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/utils/addEventListener.js", + "name": "./node_modules/react-overlays/lib/utils/addEventListener.js", + "index": 421, + "index2": 411, + "size": 583, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/RootCloseWrapper.js", + "issuerId": 498, + "issuerName": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 498, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-overlays/lib/RootCloseWrapper.js", + "module": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "moduleName": "./node_modules/react-overlays/lib/RootCloseWrapper.js", + "type": "cjs require", + "userRequest": "./utils/addEventListener", + "loc": "21:24-59" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (node, event, handler, capture) {\n (0, _on2.default)(node, event, handler, capture);\n\n return {\n remove: function remove() {\n (0, _off2.default)(node, event, handler, capture);\n }\n };\n};\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _off = require('dom-helpers/events/off');\n\nvar _off2 = _interopRequireDefault(_off);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nmodule.exports = exports['default'];" + }, + { + "id": 500, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/stringz/dist/string.js", + "name": "./node_modules/stringz/dist/string.js", + "index": 461, + "index2": 448, + "size": 784, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/stringz/dist/index.js", + "issuerId": 100, + "issuerName": "./node_modules/stringz/dist/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 100, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/stringz/dist/index.js", + "module": "./node_modules/stringz/dist/index.js", + "moduleName": "./node_modules/stringz/dist/index.js", + "type": "cjs require", + "userRequest": "./string", + "loc": "11:14-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// Borrowed from:\n// https://github.com/lodash/lodash/blob/master/lodash.js\n// https://github.com/mathiasbynens/regenerate\n// https://mathiasbynens.be/notes/javascript-unicode\nvar astralRange = exports.astralRange = /\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*/g;" + }, + { + "id": 501, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/BrowserRouter.js", + "name": "./node_modules/react-router-dom/es/BrowserRouter.js", + "index": 495, + "index2": 495, + "size": 2241, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./BrowserRouter", + "loc": "1:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport warning from 'warning';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport createHistory from 'history/createBrowserHistory';\nimport Router from './Router';\n\n/**\n * The public API for a that uses HTML5 history.\n */\n\nvar BrowserRouter = function (_React$Component) {\n _inherits(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, BrowserRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = createHistory(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n BrowserRouter.prototype.componentWillMount = function componentWillMount() {\n warning(!this.props.history, ' ignores the history prop. To use a custom history, ' + 'use `import { Router }` instead of `import { BrowserRouter as Router }`.');\n };\n\n BrowserRouter.prototype.render = function render() {\n return React.createElement(Router, { history: this.history, children: this.props.children });\n };\n\n return BrowserRouter;\n}(React.Component);\n\nexport default BrowserRouter;" + }, + { + "id": 502, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/resolve-pathname/index.js", + "name": "./node_modules/resolve-pathname/index.js", + "index": 499, + "index2": 486, + "size": 1797, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/LocationUtils.js", + "issuerId": 83, + "issuerName": "./node_modules/history/es/LocationUtils.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 83, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/LocationUtils.js", + "module": "./node_modules/history/es/LocationUtils.js", + "moduleName": "./node_modules/history/es/LocationUtils.js", + "type": "harmony import", + "userRequest": "resolve-pathname", + "loc": "11:0-47" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash = void 0;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) {\n fromParts.unshift('..');\n }if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;" + }, + { + "id": 503, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/value-equal/index.js", + "name": "./node_modules/value-equal/index.js", + "index": 500, + "index2": 487, + "size": 1140, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/LocationUtils.js", + "issuerId": 83, + "issuerName": "./node_modules/history/es/LocationUtils.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 83, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/LocationUtils.js", + "module": "./node_modules/history/es/LocationUtils.js", + "moduleName": "./node_modules/history/es/LocationUtils.js", + "type": "harmony import", + "userRequest": "value-equal", + "loc": "12:0-37" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 7, + "source": "var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nfunction valueEqual(a, b) {\n if (a === b) return true;\n\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return valueEqual(item, b[index]);\n });\n }\n\n var aType = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n var bType = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n\n if (aType !== bType) return false;\n\n if (aType === 'object') {\n var aValue = a.valueOf();\n var bValue = b.valueOf();\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n return aKeys.every(function (key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;" + }, + { + "id": 504, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/HashRouter.js", + "name": "./node_modules/react-router-dom/es/HashRouter.js", + "index": 506, + "index2": 497, + "size": 2215, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./HashRouter", + "loc": "3:0-39" + } + ], + "usedExports": false, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport warning from 'warning';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport createHistory from 'history/createHashHistory';\nimport Router from './Router';\n\n/**\n * The public API for a that uses window.location.hash.\n */\n\nvar HashRouter = function (_React$Component) {\n _inherits(HashRouter, _React$Component);\n\n function HashRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, HashRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = createHistory(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n HashRouter.prototype.componentWillMount = function componentWillMount() {\n warning(!this.props.history, ' ignores the history prop. To use a custom history, ' + 'use `import { Router }` instead of `import { HashRouter as Router }`.');\n };\n\n HashRouter.prototype.render = function render() {\n return React.createElement(Router, { history: this.history, children: this.props.children });\n };\n\n return HashRouter;\n}(React.Component);\n\nexport default HashRouter;" + }, + { + "id": 505, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/MemoryRouter.js", + "name": "./node_modules/react-router-dom/es/MemoryRouter.js", + "index": 509, + "index2": 501, + "size": 149, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./MemoryRouter", + "loc": "7:0-43" + } + ], + "usedExports": false, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "// Written in this round about way for babel-transform-imports\nimport MemoryRouter from 'react-router/es/MemoryRouter';\n\nexport default MemoryRouter;" + }, + { + "id": 506, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/MemoryRouter.js", + "name": "./node_modules/react-router/es/MemoryRouter.js", + "index": 510, + "index2": 500, + "size": 2237, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/MemoryRouter.js", + "issuerId": 505, + "issuerName": "./node_modules/react-router-dom/es/MemoryRouter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 505, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/MemoryRouter.js", + "module": "./node_modules/react-router-dom/es/MemoryRouter.js", + "moduleName": "./node_modules/react-router-dom/es/MemoryRouter.js", + "type": "harmony import", + "userRequest": "react-router/es/MemoryRouter", + "loc": "2:0-56" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport warning from 'warning';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport createHistory from 'history/createMemoryHistory';\nimport Router from './Router';\n\n/**\n * The public API for a that stores location in memory.\n */\n\nvar MemoryRouter = function (_React$Component) {\n _inherits(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, MemoryRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = createHistory(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n MemoryRouter.prototype.componentWillMount = function componentWillMount() {\n warning(!this.props.history, ' ignores the history prop. To use a custom history, ' + 'use `import { Router }` instead of `import { MemoryRouter as Router }`.');\n };\n\n MemoryRouter.prototype.render = function render() {\n return React.createElement(Router, { history: this.history, children: this.props.children });\n };\n\n return MemoryRouter;\n}(React.Component);\n\nexport default MemoryRouter;" + }, + { + "id": 507, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/NavLink.js", + "name": "./node_modules/react-router-dom/es/NavLink.js", + "index": 512, + "index2": 507, + "size": 2344, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./NavLink", + "loc": "9:0-33" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Route from './Route';\nimport Link from './Link';\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nvar NavLink = function NavLink(_ref) {\n var to = _ref.to,\n exact = _ref.exact,\n strict = _ref.strict,\n location = _ref.location,\n activeClassName = _ref.activeClassName,\n className = _ref.className,\n activeStyle = _ref.activeStyle,\n style = _ref.style,\n getIsActive = _ref.isActive,\n ariaCurrent = _ref.ariaCurrent,\n rest = _objectWithoutProperties(_ref, ['to', 'exact', 'strict', 'location', 'activeClassName', 'className', 'activeStyle', 'style', 'isActive', 'ariaCurrent']);\n\n return React.createElement(Route, {\n path: (typeof to === 'undefined' ? 'undefined' : _typeof(to)) === 'object' ? to.pathname : to,\n exact: exact,\n strict: strict,\n location: location,\n children: function children(_ref2) {\n var location = _ref2.location,\n match = _ref2.match;\n\n var isActive = !!(getIsActive ? getIsActive(match, location) : match);\n\n return React.createElement(Link, _extends({\n to: to,\n className: isActive ? [className, activeClassName].filter(function (i) {\n return i;\n }).join(' ') : className,\n style: isActive ? _extends({}, style, activeStyle) : style,\n 'aria-current': isActive && ariaCurrent\n }, rest));\n }\n });\n};\n\nNavLink.defaultProps = {\n activeClassName: 'active',\n ariaCurrent: 'true'\n};\n\nexport default NavLink;" + }, + { + "id": 508, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/node_modules/path-to-regexp/index.js", + "name": "./node_modules/react-router/node_modules/path-to-regexp/index.js", + "index": 516, + "index2": 503, + "size": 10862, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/matchPath.js", + "issuerId": 142, + "issuerName": "./node_modules/react-router/es/matchPath.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 142, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/matchPath.js", + "module": "./node_modules/react-router/es/matchPath.js", + "moduleName": "./node_modules/react-router/es/matchPath.js", + "type": "harmony import", + "userRequest": "path-to-regexp", + "loc": "1:0-42" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var isarray = require('isarray');\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp;\nmodule.exports.parse = parse;\nmodule.exports.compile = compile;\nmodule.exports.tokensToFunction = tokensToFunction;\nmodule.exports.tokensToRegExp = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n// Match escaped characters that would otherwise appear in future matches.\n// This allows the user to escape special characters that won't transform.\n'(\\\\\\\\.)',\n// Match Express-style parameters and un-named parameters with a prefix\n// and optional suffixes. Matches appear as:\n//\n// \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n// \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n// \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n'([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse(str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue;\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?'\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens;\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile(str, options) {\n return tokensToFunction(parse(str, options));\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty(str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk(str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction(tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue;\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue;\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined');\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`');\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue;\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty');\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`');\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue;\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"');\n }\n\n path += token.prefix + segment;\n }\n\n return path;\n };\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1');\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup(group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1');\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys(re, keys) {\n re.keys = keys;\n return re;\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags(options) {\n return options.sensitive ? '' : 'i';\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp(path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys);\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp(path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys);\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options);\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp(tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */keys || options;\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys);\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp(path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */keys || options;\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */keys);\n }\n\n if (isarray(path)) {\n return arrayToRegexp( /** @type {!Array} */path, /** @type {!Array} */keys, options);\n }\n\n return stringToRegexp( /** @type {string} */path, /** @type {!Array} */keys, options);\n}" + }, + { + "id": 509, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/node_modules/isarray/index.js", + "name": "./node_modules/react-router/node_modules/isarray/index.js", + "index": 517, + "index2": 502, + "size": 119, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/node_modules/path-to-regexp/index.js", + "issuerId": 508, + "issuerName": "./node_modules/react-router/node_modules/path-to-regexp/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 508, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/node_modules/path-to-regexp/index.js", + "module": "./node_modules/react-router/node_modules/path-to-regexp/index.js", + "moduleName": "./node_modules/react-router/node_modules/path-to-regexp/index.js", + "type": "cjs require", + "userRequest": "isarray", + "loc": "1:14-32" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};" + }, + { + "id": 510, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Prompt.js", + "name": "./node_modules/react-router-dom/es/Prompt.js", + "index": 518, + "index2": 509, + "size": 131, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./Prompt", + "loc": "11:0-31" + } + ], + "usedExports": false, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "// Written in this round about way for babel-transform-imports\nimport Prompt from 'react-router/es/Prompt';\n\nexport default Prompt;" + }, + { + "id": 511, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Prompt.js", + "name": "./node_modules/react-router/es/Prompt.js", + "index": 519, + "index2": 508, + "size": 2705, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Prompt.js", + "issuerId": 510, + "issuerName": "./node_modules/react-router-dom/es/Prompt.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 510, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Prompt.js", + "module": "./node_modules/react-router-dom/es/Prompt.js", + "moduleName": "./node_modules/react-router-dom/es/Prompt.js", + "type": "harmony import", + "userRequest": "react-router/es/Prompt", + "loc": "2:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport invariant from 'invariant';\n\n/**\n * The public API for prompting the user before navigating away\n * from a screen with a component.\n */\n\nvar Prompt = function (_React$Component) {\n _inherits(Prompt, _React$Component);\n\n function Prompt() {\n _classCallCheck(this, Prompt);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Prompt.prototype.enable = function enable(message) {\n if (this.unblock) this.unblock();\n\n this.unblock = this.context.router.history.block(message);\n };\n\n Prompt.prototype.disable = function disable() {\n if (this.unblock) {\n this.unblock();\n this.unblock = null;\n }\n };\n\n Prompt.prototype.componentWillMount = function componentWillMount() {\n invariant(this.context.router, 'You should not use outside a ');\n\n if (this.props.when) this.enable(this.props.message);\n };\n\n Prompt.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.when) {\n if (!this.props.when || this.props.message !== nextProps.message) this.enable(nextProps.message);\n } else {\n this.disable();\n }\n };\n\n Prompt.prototype.componentWillUnmount = function componentWillUnmount() {\n this.disable();\n };\n\n Prompt.prototype.render = function render() {\n return null;\n };\n\n return Prompt;\n}(React.Component);\n\nPrompt.propTypes = {\n when: PropTypes.bool,\n message: PropTypes.oneOfType([PropTypes.func, PropTypes.string]).isRequired\n};\nPrompt.defaultProps = {\n when: true\n};\nPrompt.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.shape({\n block: PropTypes.func.isRequired\n }).isRequired\n }).isRequired\n};\n\nexport default Prompt;" + }, + { + "id": 512, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Redirect.js", + "name": "./node_modules/react-router-dom/es/Redirect.js", + "index": 520, + "index2": 512, + "size": 137, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./Redirect", + "loc": "13:0-35" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "// Written in this round about way for babel-transform-imports\nimport Redirect from 'react-router/es/Redirect';\n\nexport default Redirect;" + }, + { + "id": 513, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Redirect.js", + "name": "./node_modules/react-router/es/Redirect.js", + "index": 521, + "index2": 511, + "size": 3146, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Redirect.js", + "issuerId": 512, + "issuerName": "./node_modules/react-router-dom/es/Redirect.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 512, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Redirect.js", + "module": "./node_modules/react-router-dom/es/Redirect.js", + "moduleName": "./node_modules/react-router-dom/es/Redirect.js", + "type": "harmony import", + "userRequest": "react-router/es/Redirect", + "loc": "2:0-48" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport { createLocation, locationsAreEqual } from 'history';\n\n/**\n * The public API for updating the location programmatically\n * with a component.\n */\n\nvar Redirect = function (_React$Component) {\n _inherits(Redirect, _React$Component);\n\n function Redirect() {\n _classCallCheck(this, Redirect);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Redirect.prototype.isStatic = function isStatic() {\n return this.context.router && this.context.router.staticContext;\n };\n\n Redirect.prototype.componentWillMount = function componentWillMount() {\n invariant(this.context.router, 'You should not use outside a ');\n\n if (this.isStatic()) this.perform();\n };\n\n Redirect.prototype.componentDidMount = function componentDidMount() {\n if (!this.isStatic()) this.perform();\n };\n\n Redirect.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var prevTo = createLocation(prevProps.to);\n var nextTo = createLocation(this.props.to);\n\n if (locationsAreEqual(prevTo, nextTo)) {\n warning(false, 'You tried to redirect to the same route you\\'re currently on: ' + ('\"' + nextTo.pathname + nextTo.search + '\"'));\n return;\n }\n\n this.perform();\n };\n\n Redirect.prototype.perform = function perform() {\n var history = this.context.router.history;\n var _props = this.props,\n push = _props.push,\n to = _props.to;\n\n if (push) {\n history.push(to);\n } else {\n history.replace(to);\n }\n };\n\n Redirect.prototype.render = function render() {\n return null;\n };\n\n return Redirect;\n}(React.Component);\n\nRedirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n};\nRedirect.defaultProps = {\n push: false\n};\nRedirect.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.shape({\n push: PropTypes.func.isRequired,\n replace: PropTypes.func.isRequired\n }).isRequired,\n staticContext: PropTypes.object\n }).isRequired\n};\n\nexport default Redirect;" + }, + { + "id": 514, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/history/es/index.js", + "name": "./node_modules/history/es/index.js", + "index": 522, + "index2": 510, + "size": 460, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Redirect.js", + "issuerId": 513, + "issuerName": "./node_modules/react-router/es/Redirect.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 513, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Redirect.js", + "module": "./node_modules/react-router/es/Redirect.js", + "moduleName": "./node_modules/react-router/es/Redirect.js", + "type": "harmony import", + "userRequest": "history", + "loc": "23:0-60" + } + ], + "usedExports": [ + "createLocation", + "locationsAreEqual" + ], + "providedExports": [ + "createBrowserHistory", + "createHashHistory", + "createMemoryHistory", + "createLocation", + "locationsAreEqual", + "parsePath", + "createPath" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _createBrowserHistory from './createBrowserHistory';\nexport { _createBrowserHistory as createBrowserHistory };\nimport _createHashHistory from './createHashHistory';\nexport { _createHashHistory as createHashHistory };\nimport _createMemoryHistory from './createMemoryHistory';\nexport { _createMemoryHistory as createMemoryHistory };\n\nexport { createLocation, locationsAreEqual } from './LocationUtils';\nexport { parsePath, createPath } from './PathUtils';" + }, + { + "id": 515, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/StaticRouter.js", + "name": "./node_modules/react-router-dom/es/StaticRouter.js", + "index": 523, + "index2": 514, + "size": 149, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./StaticRouter", + "loc": "19:0-43" + } + ], + "usedExports": false, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "// Written in this round about way for babel-transform-imports\nimport StaticRouter from 'react-router/es/StaticRouter';\n\nexport default StaticRouter;" + }, + { + "id": 516, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/StaticRouter.js", + "name": "./node_modules/react-router/es/StaticRouter.js", + "index": 524, + "index2": 513, + "size": 6210, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/StaticRouter.js", + "issuerId": 515, + "issuerName": "./node_modules/react-router-dom/es/StaticRouter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 515, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/StaticRouter.js", + "module": "./node_modules/react-router-dom/es/StaticRouter.js", + "moduleName": "./node_modules/react-router-dom/es/StaticRouter.js", + "type": "harmony import", + "userRequest": "react-router/es/StaticRouter", + "loc": "2:0-56" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { addLeadingSlash, createPath, parsePath } from 'history/PathUtils';\nimport Router from './Router';\n\nvar normalizeLocation = function normalizeLocation(object) {\n var _object$pathname = object.pathname,\n pathname = _object$pathname === undefined ? '/' : _object$pathname,\n _object$search = object.search,\n search = _object$search === undefined ? '' : _object$search,\n _object$hash = object.hash,\n hash = _object$hash === undefined ? '' : _object$hash;\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nvar addBasename = function addBasename(basename, location) {\n if (!basename) return location;\n\n return _extends({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n};\n\nvar stripBasename = function stripBasename(basename, location) {\n if (!basename) return location;\n\n var base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return _extends({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n};\n\nvar createLocation = function createLocation(location) {\n return typeof location === 'string' ? parsePath(location) : normalizeLocation(location);\n};\n\nvar createURL = function createURL(location) {\n return typeof location === 'string' ? location : createPath(location);\n};\n\nvar staticHandler = function staticHandler(methodName) {\n return function () {\n invariant(false, 'You cannot %s with ', methodName);\n };\n};\n\nvar noop = function noop() {};\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\nvar StaticRouter = function (_React$Component) {\n _inherits(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StaticRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.createHref = function (path) {\n return addLeadingSlash(_this.props.basename + createURL(path));\n }, _this.handlePush = function (location) {\n var _this$props = _this.props,\n basename = _this$props.basename,\n context = _this$props.context;\n\n context.action = 'PUSH';\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }, _this.handleReplace = function (location) {\n var _this$props2 = _this.props,\n basename = _this$props2.basename,\n context = _this$props2.context;\n\n context.action = 'REPLACE';\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }, _this.handleListen = function () {\n return noop;\n }, _this.handleBlock = function () {\n return noop;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StaticRouter.prototype.getChildContext = function getChildContext() {\n return {\n router: {\n staticContext: this.props.context\n }\n };\n };\n\n StaticRouter.prototype.componentWillMount = function componentWillMount() {\n warning(!this.props.history, ' ignores the history prop. To use a custom history, ' + 'use `import { Router }` instead of `import { StaticRouter as Router }`.');\n };\n\n StaticRouter.prototype.render = function render() {\n var _props = this.props,\n basename = _props.basename,\n context = _props.context,\n location = _props.location,\n props = _objectWithoutProperties(_props, ['basename', 'context', 'location']);\n\n var history = {\n createHref: this.createHref,\n action: 'POP',\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler('go'),\n goBack: staticHandler('goBack'),\n goForward: staticHandler('goForward'),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return React.createElement(Router, _extends({}, props, { history: history }));\n };\n\n return StaticRouter;\n}(React.Component);\n\nStaticRouter.defaultProps = {\n basename: '',\n location: '/'\n};\nStaticRouter.childContextTypes = {\n router: PropTypes.object.isRequired\n};\n\nexport default StaticRouter;" + }, + { + "id": 517, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Switch.js", + "name": "./node_modules/react-router-dom/es/Switch.js", + "index": 525, + "index2": 516, + "size": 131, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./Switch", + "loc": "21:0-31" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "// Written in this round about way for babel-transform-imports\nimport Switch from 'react-router/es/Switch';\n\nexport default Switch;" + }, + { + "id": 518, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/Switch.js", + "name": "./node_modules/react-router/es/Switch.js", + "index": 526, + "index2": 515, + "size": 3230, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Switch.js", + "issuerId": 517, + "issuerName": "./node_modules/react-router-dom/es/Switch.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 517, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/Switch.js", + "module": "./node_modules/react-router-dom/es/Switch.js", + "moduleName": "./node_modules/react-router-dom/es/Switch.js", + "type": "harmony import", + "userRequest": "react-router/es/Switch", + "loc": "2:0-44" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport matchPath from './matchPath';\n\n/**\n * The public API for rendering the first that matches.\n */\n\nvar Switch = function (_React$Component) {\n _inherits(Switch, _React$Component);\n\n function Switch() {\n _classCallCheck(this, Switch);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Switch.prototype.componentWillMount = function componentWillMount() {\n invariant(this.context.router, 'You should not use outside a ');\n };\n\n Switch.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n warning(!(nextProps.location && !this.props.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.');\n\n warning(!(!nextProps.location && this.props.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.');\n };\n\n Switch.prototype.render = function render() {\n var route = this.context.router.route;\n var children = this.props.children;\n\n var location = this.props.location || route.location;\n\n var match = void 0,\n child = void 0;\n React.Children.forEach(children, function (element) {\n if (!React.isValidElement(element)) return;\n\n var _element$props = element.props,\n pathProp = _element$props.path,\n exact = _element$props.exact,\n strict = _element$props.strict,\n sensitive = _element$props.sensitive,\n from = _element$props.from;\n\n var path = pathProp || from;\n\n if (match == null) {\n child = element;\n match = path ? matchPath(location.pathname, { path: path, exact: exact, strict: strict, sensitive: sensitive }) : route.match;\n }\n });\n\n return match ? React.cloneElement(child, { location: location, computedMatch: match }) : null;\n };\n\n return Switch;\n}(React.Component);\n\nSwitch.contextTypes = {\n router: PropTypes.shape({\n route: PropTypes.object.isRequired\n }).isRequired\n};\n\n\nexport default Switch;" + }, + { + "id": 519, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/matchPath.js", + "name": "./node_modules/react-router-dom/es/matchPath.js", + "index": 527, + "index2": 517, + "size": 140, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./matchPath", + "loc": "23:0-37" + } + ], + "usedExports": false, + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "// Written in this round about way for babel-transform-imports\nimport matchPath from 'react-router/es/matchPath';\n\nexport default matchPath;" + }, + { + "id": 520, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/withRouter.js", + "name": "./node_modules/react-router-dom/es/withRouter.js", + "index": 528, + "index2": 519, + "size": 143, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "issuerId": 58, + "issuerName": "./node_modules/react-router-dom/es/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 58, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/index.js", + "module": "./node_modules/react-router-dom/es/index.js", + "moduleName": "./node_modules/react-router-dom/es/index.js", + "type": "harmony import", + "userRequest": "./withRouter", + "loc": "25:0-39" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "// Written in this round about way for babel-transform-imports\nimport withRouter from 'react-router/es/withRouter';\n\nexport default withRouter;" + }, + { + "id": 521, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router/es/withRouter.js", + "name": "./node_modules/react-router/es/withRouter.js", + "index": 529, + "index2": 518, + "size": 1372, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/withRouter.js", + "issuerId": 520, + "issuerName": "./node_modules/react-router-dom/es/withRouter.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 520, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-dom/es/withRouter.js", + "module": "./node_modules/react-router-dom/es/withRouter.js", + "moduleName": "./node_modules/react-router-dom/es/withRouter.js", + "type": "harmony import", + "userRequest": "react-router/es/withRouter", + "loc": "2:0-52" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport hoistStatics from 'hoist-non-react-statics';\nimport Route from './Route';\n\n/**\n * A public higher-order component to access the imperative API\n */\nvar withRouter = function withRouter(Component) {\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutProperties(props, ['wrappedComponentRef']);\n\n return React.createElement(Route, { render: function render(routeComponentProps) {\n return React.createElement(Component, _extends({}, remainingProps, routeComponentProps, { ref: wrappedComponentRef }));\n } });\n };\n\n C.displayName = 'withRouter(' + (Component.displayName || Component.name) + ')';\n C.WrappedComponent = Component;\n\n\n return hoistStatics(C, Component);\n};\n\nexport default withRouter;" + }, + { + "id": 522, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "name": "./node_modules/react-hotkeys/lib/HotKeys.js", + "index": 543, + "index2": 641, + "size": 7428, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/index.js", + "issuerId": 162, + "issuerName": "./node_modules/react-hotkeys/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 162, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/index.js", + "module": "./node_modules/react-hotkeys/lib/index.js", + "moduleName": "./node_modules/react-hotkeys/lib/index.js", + "type": "cjs require", + "userRequest": "./HotKeys", + "loc": "7:15-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _createReactClass = require('create-react-class');\n\nvar _createReactClass2 = _interopRequireDefault(_createReactClass);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _FocusTrap = require('./FocusTrap');\n\nvar _FocusTrap2 = _interopRequireDefault(_FocusTrap);\n\nvar _HotKeyMapMixin = require('./HotKeyMapMixin');\n\nvar _HotKeyMapMixin2 = _interopRequireDefault(_HotKeyMapMixin);\n\nvar _isBoolean = require('lodash/isBoolean');\n\nvar _isBoolean2 = _interopRequireDefault(_isBoolean);\n\nvar _isArray = require('lodash/isArray');\n\nvar _isArray2 = _interopRequireDefault(_isArray);\n\nvar _isObject = require('lodash/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nvar _forEach = require('lodash/forEach');\n\nvar _forEach2 = _interopRequireDefault(_forEach);\n\nvar _isEqual = require('lodash/isEqual');\n\nvar _isEqual2 = _interopRequireDefault(_isEqual);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i];\n }return target;\n}\n\nfunction getSequencesFromMap(hotKeyMap, hotKeyName) {\n var sequences = hotKeyMap[hotKeyName];\n\n // If no sequence is found with this name we assume\n // the user is passing a hard-coded sequence as a key\n if (!sequences) {\n return [hotKeyName];\n }\n\n if ((0, _isArray2.default)(sequences)) {\n return sequences;\n }\n\n return [sequences];\n}\n\nvar HotKeys = (0, _createReactClass2.default)({\n displayName: 'HotKeys',\n mixins: [(0, _HotKeyMapMixin2.default)()],\n\n propTypes: {\n children: _propTypes2.default.node,\n onFocus: _propTypes2.default.func,\n onBlur: _propTypes2.default.func,\n keyMap: _propTypes2.default.object,\n handlers: _propTypes2.default.object,\n focused: _propTypes2.default.bool, // externally controlled focus\n attach: _propTypes2.default.any // dom element to listen for key events\n },\n\n contextTypes: {\n hotKeyParent: _propTypes2.default.any\n },\n\n childContextTypes: {\n hotKeyParent: _propTypes2.default.any\n },\n\n getChildContext: function getChildContext() {\n return {\n hotKeyParent: this\n };\n },\n componentDidMount: function componentDidMount() {\n // import is here to support React's server rendering as Mousetrap immediately\n // calls itself with window and it fails in Node environment\n var Mousetrap = require('mousetrap');\n // Not optimal - imagine hundreds of this component. We need a top level\n // delegation point for mousetrap\n this.__mousetrap__ = new Mousetrap(this.props.attach || _reactDom2.default.findDOMNode(this));\n\n this.updateHotKeys(true);\n },\n componentDidUpdate: function componentDidUpdate(prevProps) {\n this.updateHotKeys(false, prevProps);\n },\n componentWillUnmount: function componentWillUnmount() {\n if (this.context.hotKeyParent) {\n this.context.hotKeyParent.childHandledSequence(null);\n }\n\n if (this.__mousetrap__) {\n this.__mousetrap__.reset();\n }\n },\n updateHotKeys: function updateHotKeys() {\n var _this = this;\n\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var prevProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _props$handlers = this.props.handlers,\n handlers = _props$handlers === undefined ? {} : _props$handlers;\n var _prevProps$handlers = prevProps.handlers,\n prevHandlers = _prevProps$handlers === undefined ? handlers : _prevProps$handlers;\n\n // Ensure map is up-to-date to begin with\n // We will only bother continuing if the map was actually updated\n\n if (!force && !this.updateMap() && (0, _isEqual2.default)(handlers, prevHandlers)) {\n return;\n }\n\n var hotKeyMap = this.getMap();\n var sequenceHandlers = [];\n var mousetrap = this.__mousetrap__;\n\n // Group all our handlers by sequence\n (0, _forEach2.default)(handlers, function (handler, hotKey) {\n var handlerSequences = getSequencesFromMap(hotKeyMap, hotKey);\n\n // Could be optimized as every handler will get called across every bound\n // component - imagine making a node a focus point and then having hundreds!\n (0, _forEach2.default)(handlerSequences, function (sequence) {\n var action = void 0;\n\n var callback = function callback(event, sequence) {\n // Check we are actually in focus and that a child hasn't already handled this sequence\n var isFocused = (0, _isBoolean2.default)(_this.props.focused) ? _this.props.focused : _this.__isFocused__;\n\n if (isFocused && sequence !== _this.__lastChildSequence__) {\n if (_this.context.hotKeyParent) {\n _this.context.hotKeyParent.childHandledSequence(sequence);\n }\n\n return handler(event, sequence);\n }\n };\n\n if ((0, _isObject2.default)(sequence)) {\n action = sequence.action;\n sequence = sequence.sequence;\n }\n\n sequenceHandlers.push({ callback: callback, action: action, sequence: sequence });\n });\n });\n\n // Hard reset our handlers (probably could be more efficient)\n mousetrap.reset();\n (0, _forEach2.default)(sequenceHandlers, function (handler) {\n return mousetrap.bind(handler.sequence, handler.callback, handler.action);\n });\n },\n childHandledSequence: function childHandledSequence() {\n var sequence = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n this.__lastChildSequence__ = sequence;\n\n // Traverse up any hot key parents so everyone is aware a child has handled a certain sequence\n if (this.context.hotKeyParent) {\n this.context.hotKeyParent.childHandledSequence(sequence);\n }\n },\n onFocus: function onFocus() {\n this.__isFocused__ = true;\n\n if (this.props.onFocus) {\n var _props;\n\n (_props = this.props).onFocus.apply(_props, arguments);\n }\n },\n onBlur: function onBlur() {\n this.__isFocused__ = false;\n\n if (this.props.onBlur) {\n var _props2;\n\n (_props2 = this.props).onBlur.apply(_props2, arguments);\n }\n if (this.context.hotKeyParent) {\n this.context.hotKeyParent.childHandledSequence(null);\n }\n },\n render: function render() {\n var _props3 = this.props,\n children = _props3.children,\n keyMap = _props3.keyMap,\n handlers = _props3.handlers,\n focused = _props3.focused,\n attach = _props3.attach,\n props = _objectWithoutProperties(_props3, ['children', 'keyMap', 'handlers', 'focused', 'attach']);\n\n return _react2.default.createElement(_FocusTrap2.default, _extends({}, props, { onFocus: this.onFocus, onBlur: this.onBlur }), children);\n }\n});\n\nexports.default = HotKeys;" + }, + { + "id": 523, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/create-react-class/index.js", + "name": "./node_modules/create-react-class/index.js", + "index": 544, + "index2": 532, + "size": 676, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "issuerId": 522, + "issuerName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "create-react-class", + "loc": "25:24-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar React = require('react');\nvar factory = require('./factory');\n\nif (typeof React === 'undefined') {\n throw Error('create-react-class could not find the React object. If you are using script tags, ' + 'make sure that React is being loaded before create-react-class.');\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(React.Component, React.isValidElement, ReactNoopUpdateQueue);" + }, + { + "id": 524, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/create-react-class/factory.js", + "name": "./node_modules/create-react-class/factory.js", + "index": 545, + "index2": 531, + "size": 26874, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/create-react-class/index.js", + "issuerId": 523, + "issuerName": "./node_modules/create-react-class/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 523, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/create-react-class/index.js", + "module": "./node_modules/create-react-class/index.js", + "moduleName": "./node_modules/create-react-class/index.js", + "type": "cjs require", + "userRequest": "./factory", + "loc": "12:14-34" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar _invariant = require('fbjs/lib/invariant');\n\nif (process.env.NODE_ENV !== 'production') {\n var warning = require('fbjs/lib/warning');\n}\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return

Hello World
;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return
Hello, {name}!
;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function (Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function (Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function (Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes);\n },\n contextTypes: function (Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes);\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function (Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function (Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function (Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function () {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName);\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(specPolicy === 'OVERRIDE_BASE', 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name);\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED', 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name);\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(isMixinValid, \"%s: You're attempting to include a mixin that is either null \" + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec);\n }\n }\n\n return;\n }\n\n _invariant(typeof spec !== 'function', \"ReactClass: You're attempting to \" + 'use a component class or function as a mixin. Instead, just use a ' + 'regular object.');\n _invariant(!isValidElement(spec), \"ReactClass: You're attempting to \" + 'use a component as a mixin. Instead, just use a regular object.');\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY'), 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name);\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(!isReserved, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name);\n\n var isInherited = name in Constructor;\n _invariant(!isInherited, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name);\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(one && two && typeof one === 'object' && typeof two === 'object', 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.');\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(one[key] === undefined, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key);\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function (newThis) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName);\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName);\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function () {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function () {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function (newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function () {\n if (process.env.NODE_ENV !== 'production') {\n warning(this.__didWarnIsMounted, '%s: isMounted is deprecated. Instead, make sure to clean up ' + 'subscriptions and pending requests in componentWillUnmount to ' + 'prevent memory leaks.', this.constructor && this.constructor.displayName || this.name || 'Component');\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function () {};\n _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function (props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory');\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (initialState === undefined && this.getInitialState._isMockFunction) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(typeof initialState === 'object' && !Array.isArray(initialState), '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent');\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(Constructor.prototype.render, 'createClass(...): Class specification must implement a `render` method.');\n\n if (process.env.NODE_ENV !== 'production') {\n warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component');\n warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component');\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;" + }, + { + "id": 525, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "name": "./node_modules/lodash/assign.js", + "index": 548, + "index2": 575, + "size": 1566, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "issuerId": 233, + "issuerName": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 233, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "module": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeyMapMixin.js", + "type": "cjs require", + "userRequest": "lodash/assign", + "loc": "16:14-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var assignValue = require('./_assignValue'),\n copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n isArrayLike = require('./isArrayLike'),\n isPrototype = require('./_isPrototype'),\n keys = require('./keys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function (object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\nmodule.exports = assign;" + }, + { + "id": 526, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsNative.js", + "name": "./node_modules/lodash/_baseIsNative.js", + "index": 553, + "index2": 538, + "size": 1410, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getNative.js", + "issuerId": 41, + "issuerName": "./node_modules/lodash/_getNative.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 41, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getNative.js", + "module": "./node_modules/lodash/_getNative.js", + "moduleName": "./node_modules/lodash/_getNative.js", + "type": "cjs require", + "userRequest": "./_baseIsNative", + "loc": "1:19-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&').replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$');\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;" + }, + { + "id": 527, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isMasked.js", + "name": "./node_modules/lodash/_isMasked.js", + "index": 555, + "index2": 536, + "size": 558, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsNative.js", + "issuerId": 526, + "issuerName": "./node_modules/lodash/_baseIsNative.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 526, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsNative.js", + "module": "./node_modules/lodash/_baseIsNative.js", + "moduleName": "./node_modules/lodash/_baseIsNative.js", + "type": "cjs require", + "userRequest": "./_isMasked", + "loc": "2:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = function () {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? 'Symbol(src)_1.' + uid : '';\n}();\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && maskSrcKey in func;\n}\n\nmodule.exports = isMasked;" + }, + { + "id": 528, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_coreJsData.js", + "name": "./node_modules/lodash/_coreJsData.js", + "index": 556, + "index2": 535, + "size": 156, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isMasked.js", + "issuerId": 527, + "issuerName": "./node_modules/lodash/_isMasked.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 527, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isMasked.js", + "module": "./node_modules/lodash/_isMasked.js", + "moduleName": "./node_modules/lodash/_isMasked.js", + "type": "cjs require", + "userRequest": "./_coreJsData", + "loc": "1:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 13, + "source": "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;" + }, + { + "id": 529, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getValue.js", + "name": "./node_modules/lodash/_getValue.js", + "index": 558, + "index2": 539, + "size": 324, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getNative.js", + "issuerId": 41, + "issuerName": "./node_modules/lodash/_getNative.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 41, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getNative.js", + "module": "./node_modules/lodash/_getNative.js", + "moduleName": "./node_modules/lodash/_getNative.js", + "type": "cjs require", + "userRequest": "./_getValue", + "loc": "2:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;" + }, + { + "id": 530, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_copyObject.js", + "name": "./node_modules/lodash/_copyObject.js", + "index": 560, + "index2": 545, + "size": 1031, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "issuerId": 525, + "issuerName": "./node_modules/lodash/assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 525, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "module": "./node_modules/lodash/assign.js", + "moduleName": "./node_modules/lodash/assign.js", + "type": "cjs require", + "userRequest": "./_copyObject", + "loc": "2:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;" + }, + { + "id": 531, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_createAssigner.js", + "name": "./node_modules/lodash/_createAssigner.js", + "index": 561, + "index2": 558, + "size": 1028, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "issuerId": 525, + "issuerName": "./node_modules/lodash/assign.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 525, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/assign.js", + "module": "./node_modules/lodash/assign.js", + "moduleName": "./node_modules/lodash/assign.js", + "type": "cjs require", + "userRequest": "./_createAssigner", + "loc": "3:21-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function (object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = assigner.length > 3 && typeof customizer == 'function' ? (length--, customizer) : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;" + }, + { + "id": 532, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseRest.js", + "name": "./node_modules/lodash/_baseRest.js", + "index": 562, + "index2": 553, + "size": 558, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_createAssigner.js", + "issuerId": 531, + "issuerName": "./node_modules/lodash/_createAssigner.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 531, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_createAssigner.js", + "module": "./node_modules/lodash/_createAssigner.js", + "moduleName": "./node_modules/lodash/_createAssigner.js", + "type": "cjs require", + "userRequest": "./_baseRest", + "loc": "1:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;" + }, + { + "id": 533, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_overRest.js", + "name": "./node_modules/lodash/_overRest.js", + "index": 564, + "index2": 548, + "size": 1094, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseRest.js", + "issuerId": 532, + "issuerName": "./node_modules/lodash/_baseRest.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 532, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseRest.js", + "module": "./node_modules/lodash/_baseRest.js", + "moduleName": "./node_modules/lodash/_baseRest.js", + "type": "cjs require", + "userRequest": "./_overRest", + "loc": "2:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? func.length - 1 : start, 0);\n return function () {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;" + }, + { + "id": 534, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_apply.js", + "name": "./node_modules/lodash/_apply.js", + "index": 565, + "index2": 547, + "size": 737, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_overRest.js", + "issuerId": 533, + "issuerName": "./node_modules/lodash/_overRest.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 533, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_overRest.js", + "module": "./node_modules/lodash/_overRest.js", + "moduleName": "./node_modules/lodash/_overRest.js", + "type": "cjs require", + "userRequest": "./_apply", + "loc": "1:12-31" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0:\n return func.call(thisArg);\n case 1:\n return func.call(thisArg, args[0]);\n case 2:\n return func.call(thisArg, args[0], args[1]);\n case 3:\n return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;" + }, + { + "id": 535, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_setToString.js", + "name": "./node_modules/lodash/_setToString.js", + "index": 566, + "index2": 552, + "size": 391, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseRest.js", + "issuerId": 532, + "issuerName": "./node_modules/lodash/_baseRest.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 532, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseRest.js", + "module": "./node_modules/lodash/_baseRest.js", + "moduleName": "./node_modules/lodash/_baseRest.js", + "type": "cjs require", + "userRequest": "./_setToString", + "loc": "3:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;" + }, + { + "id": 536, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseSetToString.js", + "name": "./node_modules/lodash/_baseSetToString.js", + "index": 567, + "index2": 550, + "size": 641, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_setToString.js", + "issuerId": 535, + "issuerName": "./node_modules/lodash/_setToString.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 535, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_setToString.js", + "module": "./node_modules/lodash/_setToString.js", + "moduleName": "./node_modules/lodash/_setToString.js", + "type": "cjs require", + "userRequest": "./_baseSetToString", + "loc": "1:22-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function (func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;" + }, + { + "id": 537, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/constant.js", + "name": "./node_modules/lodash/constant.js", + "index": 568, + "index2": 549, + "size": 528, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseSetToString.js", + "issuerId": 536, + "issuerName": "./node_modules/lodash/_baseSetToString.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 536, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseSetToString.js", + "module": "./node_modules/lodash/_baseSetToString.js", + "moduleName": "./node_modules/lodash/_baseSetToString.js", + "type": "cjs require", + "userRequest": "./constant", + "loc": "1:15-36" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function () {\n return value;\n };\n}\n\nmodule.exports = constant;" + }, + { + "id": 538, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_shortOut.js", + "name": "./node_modules/lodash/_shortOut.js", + "index": 569, + "index2": 551, + "size": 941, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_setToString.js", + "issuerId": 535, + "issuerName": "./node_modules/lodash/_setToString.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 535, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_setToString.js", + "module": "./node_modules/lodash/_setToString.js", + "moduleName": "./node_modules/lodash/_setToString.js", + "type": "cjs require", + "userRequest": "./_shortOut", + "loc": "2:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function () {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;" + }, + { + "id": 539, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isIterateeCall.js", + "name": "./node_modules/lodash/_isIterateeCall.js", + "index": 570, + "index2": 557, + "size": 849, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_createAssigner.js", + "issuerId": 531, + "issuerName": "./node_modules/lodash/_createAssigner.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 531, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_createAssigner.js", + "module": "./node_modules/lodash/_createAssigner.js", + "moduleName": "./node_modules/lodash/_createAssigner.js", + "type": "cjs require", + "userRequest": "./_isIterateeCall", + "loc": "2:21-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number' ? isArrayLike(object) && isIndex(index, object.length) : type == 'string' && index in object) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;" + }, + { + "id": 540, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayLikeKeys.js", + "name": "./node_modules/lodash/_arrayLikeKeys.js", + "index": 576, + "index2": 570, + "size": 1700, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/keys.js", + "issuerId": 144, + "issuerName": "./node_modules/lodash/keys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 144, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/keys.js", + "module": "./node_modules/lodash/keys.js", + "moduleName": "./node_modules/lodash/keys.js", + "type": "cjs require", + "userRequest": "./_arrayLikeKeys", + "loc": "1:20-47" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n isBuff && (key == 'offset' || key == 'parent') ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') ||\n // Skip index properties.\n isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;" + }, + { + "id": 541, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseTimes.js", + "name": "./node_modules/lodash/_baseTimes.js", + "index": 577, + "index2": 560, + "size": 503, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayLikeKeys.js", + "issuerId": 540, + "issuerName": "./node_modules/lodash/_arrayLikeKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 540, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayLikeKeys.js", + "module": "./node_modules/lodash/_arrayLikeKeys.js", + "moduleName": "./node_modules/lodash/_arrayLikeKeys.js", + "type": "cjs require", + "userRequest": "./_baseTimes", + "loc": "1:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;" + }, + { + "id": 542, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isArguments.js", + "name": "./node_modules/lodash/isArguments.js", + "index": 578, + "index2": 562, + "size": 1029, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayLikeKeys.js", + "issuerId": 540, + "issuerName": "./node_modules/lodash/_arrayLikeKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 540, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayLikeKeys.js", + "module": "./node_modules/lodash/_arrayLikeKeys.js", + "moduleName": "./node_modules/lodash/_arrayLikeKeys.js", + "type": "cjs require", + "userRequest": "./isArguments", + "loc": "2:18-42" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function () {\n return arguments;\n}()) ? baseIsArguments : function (value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;" + }, + { + "id": 543, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsArguments.js", + "name": "./node_modules/lodash/_baseIsArguments.js", + "index": 579, + "index2": 561, + "size": 487, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isArguments.js", + "issuerId": 542, + "issuerName": "./node_modules/lodash/isArguments.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 542, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isArguments.js", + "module": "./node_modules/lodash/isArguments.js", + "moduleName": "./node_modules/lodash/isArguments.js", + "type": "cjs require", + "userRequest": "./_baseIsArguments", + "loc": "1:22-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;" + }, + { + "id": 544, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/stubFalse.js", + "name": "./node_modules/lodash/stubFalse.js", + "index": 582, + "index2": 564, + "size": 279, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isBuffer.js", + "issuerId": 242, + "issuerName": "./node_modules/lodash/isBuffer.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 242, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isBuffer.js", + "module": "./node_modules/lodash/isBuffer.js", + "moduleName": "./node_modules/lodash/isBuffer.js", + "type": "cjs require", + "userRequest": "./stubFalse", + "loc": "2:16-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;" + }, + { + "id": 545, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsTypedArray.js", + "name": "./node_modules/lodash/_baseIsTypedArray.js", + "index": 584, + "index2": 566, + "size": 2219, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isTypedArray.js", + "issuerId": 243, + "issuerName": "./node_modules/lodash/isTypedArray.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 243, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isTypedArray.js", + "module": "./node_modules/lodash/isTypedArray.js", + "moduleName": "./node_modules/lodash/isTypedArray.js", + "type": "cjs require", + "userRequest": "./_baseIsTypedArray", + "loc": "1:23-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;" + }, + { + "id": 546, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseUnary.js", + "name": "./node_modules/lodash/_baseUnary.js", + "index": 585, + "index2": 567, + "size": 332, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isTypedArray.js", + "issuerId": 243, + "issuerName": "./node_modules/lodash/isTypedArray.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 243, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isTypedArray.js", + "module": "./node_modules/lodash/isTypedArray.js", + "moduleName": "./node_modules/lodash/isTypedArray.js", + "type": "cjs require", + "userRequest": "./_baseUnary", + "loc": "2:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function (value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;" + }, + { + "id": 547, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_nodeUtil.js", + "name": "./node_modules/lodash/_nodeUtil.js", + "index": 586, + "index2": 568, + "size": 763, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isTypedArray.js", + "issuerId": 243, + "issuerName": "./node_modules/lodash/isTypedArray.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 243, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isTypedArray.js", + "module": "./node_modules/lodash/isTypedArray.js", + "moduleName": "./node_modules/lodash/isTypedArray.js", + "type": "cjs require", + "userRequest": "./_nodeUtil", + "loc": "3:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = function () {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}();\n\nmodule.exports = nodeUtil;" + }, + { + "id": 548, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseKeys.js", + "name": "./node_modules/lodash/_baseKeys.js", + "index": 587, + "index2": 573, + "size": 775, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/keys.js", + "issuerId": 144, + "issuerName": "./node_modules/lodash/keys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 144, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/keys.js", + "module": "./node_modules/lodash/keys.js", + "moduleName": "./node_modules/lodash/keys.js", + "type": "cjs require", + "userRequest": "./_baseKeys", + "loc": "2:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;" + }, + { + "id": 549, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_nativeKeys.js", + "name": "./node_modules/lodash/_nativeKeys.js", + "index": 588, + "index2": 572, + "size": 203, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseKeys.js", + "issuerId": 548, + "issuerName": "./node_modules/lodash/_baseKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 548, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseKeys.js", + "module": "./node_modules/lodash/_baseKeys.js", + "moduleName": "./node_modules/lodash/_baseKeys.js", + "type": "cjs require", + "userRequest": "./_nativeKeys", + "loc": "2:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;" + }, + { + "id": 550, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_overArg.js", + "name": "./node_modules/lodash/_overArg.js", + "index": 589, + "index2": 571, + "size": 382, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_nativeKeys.js", + "issuerId": 549, + "issuerName": "./node_modules/lodash/_nativeKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 549, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_nativeKeys.js", + "module": "./node_modules/lodash/_nativeKeys.js", + "moduleName": "./node_modules/lodash/_nativeKeys.js", + "type": "cjs require", + "userRequest": "./_overArg", + "loc": "1:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function (arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;" + }, + { + "id": 551, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqual.js", + "name": "./node_modules/lodash/_baseIsEqual.js", + "index": 591, + "index2": 628, + "size": 1016, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isEqual.js", + "issuerId": 244, + "issuerName": "./node_modules/lodash/isEqual.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 244, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isEqual.js", + "module": "./node_modules/lodash/isEqual.js", + "moduleName": "./node_modules/lodash/isEqual.js", + "type": "cjs require", + "userRequest": "./_baseIsEqual", + "loc": "1:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;" + }, + { + "id": 552, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "name": "./node_modules/lodash/_baseIsEqualDeep.js", + "index": 592, + "index2": 627, + "size": 3001, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqual.js", + "issuerId": 551, + "issuerName": "./node_modules/lodash/_baseIsEqual.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 551, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqual.js", + "module": "./node_modules/lodash/_baseIsEqual.js", + "moduleName": "./node_modules/lodash/_baseIsEqual.js", + "type": "cjs require", + "userRequest": "./_baseIsEqualDeep", + "loc": "1:22-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack());\n return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack());\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack());\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;" + }, + { + "id": 553, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "name": "./node_modules/lodash/_Stack.js", + "index": 593, + "index2": 604, + "size": 733, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "issuerId": 552, + "issuerName": "./node_modules/lodash/_baseIsEqualDeep.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 552, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "module": "./node_modules/lodash/_baseIsEqualDeep.js", + "moduleName": "./node_modules/lodash/_baseIsEqualDeep.js", + "type": "cjs require", + "userRequest": "./_Stack", + "loc": "1:12-31" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;" + }, + { + "id": 554, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_listCacheClear.js", + "name": "./node_modules/lodash/_listCacheClear.js", + "index": 595, + "index2": 576, + "size": 217, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "issuerId": 86, + "issuerName": "./node_modules/lodash/_ListCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 86, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "module": "./node_modules/lodash/_ListCache.js", + "moduleName": "./node_modules/lodash/_ListCache.js", + "type": "cjs require", + "userRequest": "./_listCacheClear", + "loc": "1:21-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;" + }, + { + "id": 555, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_listCacheDelete.js", + "name": "./node_modules/lodash/_listCacheDelete.js", + "index": 596, + "index2": 578, + "size": 774, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "issuerId": 86, + "issuerName": "./node_modules/lodash/_ListCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 86, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "module": "./node_modules/lodash/_ListCache.js", + "moduleName": "./node_modules/lodash/_ListCache.js", + "type": "cjs require", + "userRequest": "./_listCacheDelete", + "loc": "2:22-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;" + }, + { + "id": 556, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_listCacheGet.js", + "name": "./node_modules/lodash/_listCacheGet.js", + "index": 598, + "index2": 579, + "size": 419, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "issuerId": 86, + "issuerName": "./node_modules/lodash/_ListCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 86, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "module": "./node_modules/lodash/_ListCache.js", + "moduleName": "./node_modules/lodash/_ListCache.js", + "type": "cjs require", + "userRequest": "./_listCacheGet", + "loc": "3:19-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;" + }, + { + "id": 557, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_listCacheHas.js", + "name": "./node_modules/lodash/_listCacheHas.js", + "index": 599, + "index2": 580, + "size": 402, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "issuerId": 86, + "issuerName": "./node_modules/lodash/_ListCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 86, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "module": "./node_modules/lodash/_ListCache.js", + "moduleName": "./node_modules/lodash/_ListCache.js", + "type": "cjs require", + "userRequest": "./_listCacheHas", + "loc": "4:19-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;" + }, + { + "id": 558, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_listCacheSet.js", + "name": "./node_modules/lodash/_listCacheSet.js", + "index": 600, + "index2": 581, + "size": 552, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "issuerId": 86, + "issuerName": "./node_modules/lodash/_ListCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 86, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_ListCache.js", + "module": "./node_modules/lodash/_ListCache.js", + "moduleName": "./node_modules/lodash/_ListCache.js", + "type": "cjs require", + "userRequest": "./_listCacheSet", + "loc": "5:19-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;" + }, + { + "id": 559, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_stackClear.js", + "name": "./node_modules/lodash/_stackClear.js", + "index": 601, + "index2": 583, + "size": 255, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "issuerId": 553, + "issuerName": "./node_modules/lodash/_Stack.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 553, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "module": "./node_modules/lodash/_Stack.js", + "moduleName": "./node_modules/lodash/_Stack.js", + "type": "cjs require", + "userRequest": "./_stackClear", + "loc": "2:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache();\n this.size = 0;\n}\n\nmodule.exports = stackClear;" + }, + { + "id": 560, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_stackDelete.js", + "name": "./node_modules/lodash/_stackDelete.js", + "index": 602, + "index2": 584, + "size": 404, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "issuerId": 553, + "issuerName": "./node_modules/lodash/_Stack.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 553, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "module": "./node_modules/lodash/_Stack.js", + "moduleName": "./node_modules/lodash/_Stack.js", + "type": "cjs require", + "userRequest": "./_stackDelete", + "loc": "3:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;" + }, + { + "id": 561, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_stackGet.js", + "name": "./node_modules/lodash/_stackGet.js", + "index": 603, + "index2": 585, + "size": 270, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "issuerId": 553, + "issuerName": "./node_modules/lodash/_Stack.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 553, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "module": "./node_modules/lodash/_Stack.js", + "moduleName": "./node_modules/lodash/_Stack.js", + "type": "cjs require", + "userRequest": "./_stackGet", + "loc": "4:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;" + }, + { + "id": 562, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_stackHas.js", + "name": "./node_modules/lodash/_stackHas.js", + "index": 604, + "index2": 586, + "size": 322, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "issuerId": 553, + "issuerName": "./node_modules/lodash/_Stack.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 553, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "module": "./node_modules/lodash/_Stack.js", + "moduleName": "./node_modules/lodash/_Stack.js", + "type": "cjs require", + "userRequest": "./_stackHas", + "loc": "5:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;" + }, + { + "id": 563, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_stackSet.js", + "name": "./node_modules/lodash/_stackSet.js", + "index": 605, + "index2": 603, + "size": 850, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "issuerId": 553, + "issuerName": "./node_modules/lodash/_Stack.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 553, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Stack.js", + "module": "./node_modules/lodash/_Stack.js", + "moduleName": "./node_modules/lodash/_Stack.js", + "type": "cjs require", + "userRequest": "./_stackSet", + "loc": "6:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;" + }, + { + "id": 564, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheClear.js", + "name": "./node_modules/lodash/_mapCacheClear.js", + "index": 608, + "index2": 595, + "size": 398, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "issuerId": 245, + "issuerName": "./node_modules/lodash/_MapCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 245, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "module": "./node_modules/lodash/_MapCache.js", + "moduleName": "./node_modules/lodash/_MapCache.js", + "type": "cjs require", + "userRequest": "./_mapCacheClear", + "loc": "1:20-47" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash(),\n 'map': new (Map || ListCache)(),\n 'string': new Hash()\n };\n}\n\nmodule.exports = mapCacheClear;" + }, + { + "id": 565, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "name": "./node_modules/lodash/_Hash.js", + "index": 609, + "index2": 594, + "size": 764, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheClear.js", + "issuerId": 564, + "issuerName": "./node_modules/lodash/_mapCacheClear.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 564, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheClear.js", + "module": "./node_modules/lodash/_mapCacheClear.js", + "moduleName": "./node_modules/lodash/_mapCacheClear.js", + "type": "cjs require", + "userRequest": "./_Hash", + "loc": "1:11-29" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 13, + "source": "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;" + }, + { + "id": 566, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_hashClear.js", + "name": "./node_modules/lodash/_hashClear.js", + "index": 610, + "index2": 589, + "size": 280, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "issuerId": 565, + "issuerName": "./node_modules/lodash/_Hash.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 565, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "module": "./node_modules/lodash/_Hash.js", + "moduleName": "./node_modules/lodash/_Hash.js", + "type": "cjs require", + "userRequest": "./_hashClear", + "loc": "1:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 14, + "source": "var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;" + }, + { + "id": 567, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_hashDelete.js", + "name": "./node_modules/lodash/_hashDelete.js", + "index": 612, + "index2": 590, + "size": 444, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "issuerId": 565, + "issuerName": "./node_modules/lodash/_Hash.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 565, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "module": "./node_modules/lodash/_Hash.js", + "moduleName": "./node_modules/lodash/_Hash.js", + "type": "cjs require", + "userRequest": "./_hashDelete", + "loc": "2:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 14, + "source": "/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;" + }, + { + "id": 568, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_hashGet.js", + "name": "./node_modules/lodash/_hashGet.js", + "index": 613, + "index2": 591, + "size": 771, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "issuerId": 565, + "issuerName": "./node_modules/lodash/_Hash.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 565, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "module": "./node_modules/lodash/_Hash.js", + "moduleName": "./node_modules/lodash/_Hash.js", + "type": "cjs require", + "userRequest": "./_hashGet", + "loc": "3:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 14, + "source": "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;" + }, + { + "id": 569, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_hashHas.js", + "name": "./node_modules/lodash/_hashHas.js", + "index": 614, + "index2": 592, + "size": 623, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "issuerId": 565, + "issuerName": "./node_modules/lodash/_Hash.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 565, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "module": "./node_modules/lodash/_Hash.js", + "moduleName": "./node_modules/lodash/_Hash.js", + "type": "cjs require", + "userRequest": "./_hashHas", + "loc": "4:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 14, + "source": "var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;" + }, + { + "id": 570, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_hashSet.js", + "name": "./node_modules/lodash/_hashSet.js", + "index": 615, + "index2": 593, + "size": 595, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "issuerId": 565, + "issuerName": "./node_modules/lodash/_Hash.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 565, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Hash.js", + "module": "./node_modules/lodash/_Hash.js", + "moduleName": "./node_modules/lodash/_Hash.js", + "type": "cjs require", + "userRequest": "./_hashSet", + "loc": "5:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 14, + "source": "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;" + }, + { + "id": 571, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheDelete.js", + "name": "./node_modules/lodash/_mapCacheDelete.js", + "index": 616, + "index2": 598, + "size": 449, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "issuerId": 245, + "issuerName": "./node_modules/lodash/_MapCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 245, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "module": "./node_modules/lodash/_MapCache.js", + "moduleName": "./node_modules/lodash/_MapCache.js", + "type": "cjs require", + "userRequest": "./_mapCacheDelete", + "loc": "2:21-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;" + }, + { + "id": 572, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_isKeyable.js", + "name": "./node_modules/lodash/_isKeyable.js", + "index": 618, + "index2": 596, + "size": 415, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getMapData.js", + "issuerId": 89, + "issuerName": "./node_modules/lodash/_getMapData.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 89, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getMapData.js", + "module": "./node_modules/lodash/_getMapData.js", + "moduleName": "./node_modules/lodash/_getMapData.js", + "type": "cjs require", + "userRequest": "./_isKeyable", + "loc": "1:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 14, + "source": "/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null;\n}\n\nmodule.exports = isKeyable;" + }, + { + "id": 573, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheGet.js", + "name": "./node_modules/lodash/_mapCacheGet.js", + "index": 619, + "index2": 599, + "size": 329, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "issuerId": 245, + "issuerName": "./node_modules/lodash/_MapCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 245, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "module": "./node_modules/lodash/_MapCache.js", + "moduleName": "./node_modules/lodash/_MapCache.js", + "type": "cjs require", + "userRequest": "./_mapCacheGet", + "loc": "3:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;" + }, + { + "id": 574, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheHas.js", + "name": "./node_modules/lodash/_mapCacheHas.js", + "index": 620, + "index2": 600, + "size": 381, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "issuerId": 245, + "issuerName": "./node_modules/lodash/_MapCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 245, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "module": "./node_modules/lodash/_MapCache.js", + "moduleName": "./node_modules/lodash/_MapCache.js", + "type": "cjs require", + "userRequest": "./_mapCacheHas", + "loc": "4:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;" + }, + { + "id": 575, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapCacheSet.js", + "name": "./node_modules/lodash/_mapCacheSet.js", + "index": 621, + "index2": 601, + "size": 488, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "issuerId": 245, + "issuerName": "./node_modules/lodash/_MapCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 245, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_MapCache.js", + "module": "./node_modules/lodash/_MapCache.js", + "moduleName": "./node_modules/lodash/_MapCache.js", + "type": "cjs require", + "userRequest": "./_mapCacheSet", + "loc": "5:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;" + }, + { + "id": 576, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_SetCache.js", + "name": "./node_modules/lodash/_SetCache.js", + "index": 623, + "index2": 607, + "size": 647, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalArrays.js", + "issuerId": 246, + "issuerName": "./node_modules/lodash/_equalArrays.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 246, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalArrays.js", + "module": "./node_modules/lodash/_equalArrays.js", + "moduleName": "./node_modules/lodash/_equalArrays.js", + "type": "cjs require", + "userRequest": "./_SetCache", + "loc": "1:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache();\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;" + }, + { + "id": 577, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_setCacheAdd.js", + "name": "./node_modules/lodash/_setCacheAdd.js", + "index": 624, + "index2": 605, + "size": 423, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_SetCache.js", + "issuerId": 576, + "issuerName": "./node_modules/lodash/_SetCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 576, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_SetCache.js", + "module": "./node_modules/lodash/_SetCache.js", + "moduleName": "./node_modules/lodash/_SetCache.js", + "type": "cjs require", + "userRequest": "./_setCacheAdd", + "loc": "2:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;" + }, + { + "id": 578, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_setCacheHas.js", + "name": "./node_modules/lodash/_setCacheHas.js", + "index": 625, + "index2": 606, + "size": 315, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_SetCache.js", + "issuerId": 576, + "issuerName": "./node_modules/lodash/_SetCache.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 576, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_SetCache.js", + "module": "./node_modules/lodash/_SetCache.js", + "moduleName": "./node_modules/lodash/_SetCache.js", + "type": "cjs require", + "userRequest": "./_setCacheHas", + "loc": "3:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;" + }, + { + "id": 579, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arraySome.js", + "name": "./node_modules/lodash/_arraySome.js", + "index": 626, + "index2": 608, + "size": 593, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalArrays.js", + "issuerId": 246, + "issuerName": "./node_modules/lodash/_equalArrays.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 246, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalArrays.js", + "module": "./node_modules/lodash/_equalArrays.js", + "moduleName": "./node_modules/lodash/_equalArrays.js", + "type": "cjs require", + "userRequest": "./_arraySome", + "loc": "2:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;" + }, + { + "id": 580, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_cacheHas.js", + "name": "./node_modules/lodash/_cacheHas.js", + "index": 627, + "index2": 609, + "size": 336, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalArrays.js", + "issuerId": 246, + "issuerName": "./node_modules/lodash/_equalArrays.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 246, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalArrays.js", + "module": "./node_modules/lodash/_equalArrays.js", + "moduleName": "./node_modules/lodash/_equalArrays.js", + "type": "cjs require", + "userRequest": "./_cacheHas", + "loc": "3:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;" + }, + { + "id": 581, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalByTag.js", + "name": "./node_modules/lodash/_equalByTag.js", + "index": 628, + "index2": 614, + "size": 3717, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "issuerId": 552, + "issuerName": "./node_modules/lodash/_baseIsEqualDeep.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 552, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "module": "./node_modules/lodash/_baseIsEqualDeep.js", + "moduleName": "./node_modules/lodash/_baseIsEqualDeep.js", + "type": "cjs require", + "userRequest": "./_equalByTag", + "loc": "3:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == other + '';\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;" + }, + { + "id": 582, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Uint8Array.js", + "name": "./node_modules/lodash/_Uint8Array.js", + "index": 629, + "index2": 611, + "size": 129, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalByTag.js", + "issuerId": 581, + "issuerName": "./node_modules/lodash/_equalByTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 581, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalByTag.js", + "module": "./node_modules/lodash/_equalByTag.js", + "moduleName": "./node_modules/lodash/_equalByTag.js", + "type": "cjs require", + "userRequest": "./_Uint8Array", + "loc": "2:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;" + }, + { + "id": 583, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_mapToArray.js", + "name": "./node_modules/lodash/_mapToArray.js", + "index": 630, + "index2": 612, + "size": 363, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalByTag.js", + "issuerId": 581, + "issuerName": "./node_modules/lodash/_equalByTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 581, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalByTag.js", + "module": "./node_modules/lodash/_equalByTag.js", + "moduleName": "./node_modules/lodash/_equalByTag.js", + "type": "cjs require", + "userRequest": "./_mapToArray", + "loc": "5:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function (value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;" + }, + { + "id": 584, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_setToArray.js", + "name": "./node_modules/lodash/_setToArray.js", + "index": 631, + "index2": 613, + "size": 345, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalByTag.js", + "issuerId": 581, + "issuerName": "./node_modules/lodash/_equalByTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 581, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalByTag.js", + "module": "./node_modules/lodash/_equalByTag.js", + "moduleName": "./node_modules/lodash/_equalByTag.js", + "type": "cjs require", + "userRequest": "./_setToArray", + "loc": "6:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function (value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;" + }, + { + "id": 585, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalObjects.js", + "name": "./node_modules/lodash/_equalObjects.js", + "index": 632, + "index2": 621, + "size": 2827, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "issuerId": 552, + "issuerName": "./node_modules/lodash/_baseIsEqualDeep.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 552, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "module": "./node_modules/lodash/_baseIsEqualDeep.js", + "moduleName": "./node_modules/lodash/_baseIsEqualDeep.js", + "type": "cjs require", + "userRequest": "./_equalObjects", + "loc": "4:19-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor && 'constructor' in object && 'constructor' in other && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;" + }, + { + "id": 586, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getAllKeys.js", + "name": "./node_modules/lodash/_getAllKeys.js", + "index": 633, + "index2": 620, + "size": 454, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalObjects.js", + "issuerId": 585, + "issuerName": "./node_modules/lodash/_equalObjects.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 585, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_equalObjects.js", + "module": "./node_modules/lodash/_equalObjects.js", + "moduleName": "./node_modules/lodash/_equalObjects.js", + "type": "cjs require", + "userRequest": "./_getAllKeys", + "loc": "1:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;" + }, + { + "id": 587, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetAllKeys.js", + "name": "./node_modules/lodash/_baseGetAllKeys.js", + "index": 634, + "index2": 616, + "size": 738, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getAllKeys.js", + "issuerId": 586, + "issuerName": "./node_modules/lodash/_getAllKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 586, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getAllKeys.js", + "module": "./node_modules/lodash/_getAllKeys.js", + "moduleName": "./node_modules/lodash/_getAllKeys.js", + "type": "cjs require", + "userRequest": "./_baseGetAllKeys", + "loc": "1:21-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;" + }, + { + "id": 588, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayPush.js", + "name": "./node_modules/lodash/_arrayPush.js", + "index": 635, + "index2": 615, + "size": 436, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetAllKeys.js", + "issuerId": 587, + "issuerName": "./node_modules/lodash/_baseGetAllKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 587, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseGetAllKeys.js", + "module": "./node_modules/lodash/_baseGetAllKeys.js", + "moduleName": "./node_modules/lodash/_baseGetAllKeys.js", + "type": "cjs require", + "userRequest": "./_arrayPush", + "loc": "1:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;" + }, + { + "id": 589, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getSymbols.js", + "name": "./node_modules/lodash/_getSymbols.js", + "index": 636, + "index2": 619, + "size": 887, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getAllKeys.js", + "issuerId": 586, + "issuerName": "./node_modules/lodash/_getAllKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 586, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getAllKeys.js", + "module": "./node_modules/lodash/_getAllKeys.js", + "moduleName": "./node_modules/lodash/_getAllKeys.js", + "type": "cjs require", + "userRequest": "./_getSymbols", + "loc": "2:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 11, + "source": "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function (object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function (symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;" + }, + { + "id": 590, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayFilter.js", + "name": "./node_modules/lodash/_arrayFilter.js", + "index": 637, + "index2": 617, + "size": 631, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getSymbols.js", + "issuerId": 589, + "issuerName": "./node_modules/lodash/_getSymbols.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 589, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getSymbols.js", + "module": "./node_modules/lodash/_getSymbols.js", + "moduleName": "./node_modules/lodash/_getSymbols.js", + "type": "cjs require", + "userRequest": "./_arrayFilter", + "loc": "1:18-43" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;" + }, + { + "id": 591, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/stubArray.js", + "name": "./node_modules/lodash/stubArray.js", + "index": 638, + "index2": 618, + "size": 389, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getSymbols.js", + "issuerId": 589, + "issuerName": "./node_modules/lodash/_getSymbols.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 589, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getSymbols.js", + "module": "./node_modules/lodash/_getSymbols.js", + "moduleName": "./node_modules/lodash/_getSymbols.js", + "type": "cjs require", + "userRequest": "./stubArray", + "loc": "2:16-38" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 12, + "source": "/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;" + }, + { + "id": 592, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "name": "./node_modules/lodash/_getTag.js", + "index": 639, + "index2": 626, + "size": 1998, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "issuerId": 552, + "issuerName": "./node_modules/lodash/_baseIsEqualDeep.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 552, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseIsEqualDeep.js", + "module": "./node_modules/lodash/_baseIsEqualDeep.js", + "moduleName": "./node_modules/lodash/_baseIsEqualDeep.js", + "type": "cjs require", + "userRequest": "./_getTag", + "loc": "5:13-33" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) {\n getTag = function (value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString:\n return dataViewTag;\n case mapCtorString:\n return mapTag;\n case promiseCtorString:\n return promiseTag;\n case setCtorString:\n return setTag;\n case weakMapCtorString:\n return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;" + }, + { + "id": 593, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_DataView.js", + "name": "./node_modules/lodash/_DataView.js", + "index": 640, + "index2": 622, + "size": 209, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "issuerId": 592, + "issuerName": "./node_modules/lodash/_getTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 592, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "module": "./node_modules/lodash/_getTag.js", + "moduleName": "./node_modules/lodash/_getTag.js", + "type": "cjs require", + "userRequest": "./_DataView", + "loc": "1:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;" + }, + { + "id": 594, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Promise.js", + "name": "./node_modules/lodash/_Promise.js", + "index": 641, + "index2": 623, + "size": 206, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "issuerId": 592, + "issuerName": "./node_modules/lodash/_getTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 592, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "module": "./node_modules/lodash/_getTag.js", + "moduleName": "./node_modules/lodash/_getTag.js", + "type": "cjs require", + "userRequest": "./_Promise", + "loc": "3:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;" + }, + { + "id": 595, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_Set.js", + "name": "./node_modules/lodash/_Set.js", + "index": 642, + "index2": 624, + "size": 194, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "issuerId": 592, + "issuerName": "./node_modules/lodash/_getTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 592, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "module": "./node_modules/lodash/_getTag.js", + "moduleName": "./node_modules/lodash/_getTag.js", + "type": "cjs require", + "userRequest": "./_Set", + "loc": "4:10-27" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;" + }, + { + "id": 596, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_WeakMap.js", + "name": "./node_modules/lodash/_WeakMap.js", + "index": 643, + "index2": 625, + "size": 206, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "issuerId": 592, + "issuerName": "./node_modules/lodash/_getTag.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 592, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_getTag.js", + "module": "./node_modules/lodash/_getTag.js", + "moduleName": "./node_modules/lodash/_getTag.js", + "type": "cjs require", + "userRequest": "./_WeakMap", + "loc": "5:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;" + }, + { + "id": 597, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/isBoolean.js", + "name": "./node_modules/lodash/isBoolean.js", + "index": 644, + "index2": 631, + "size": 676, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "issuerId": 522, + "issuerName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "lodash/isBoolean", + "loc": "41:17-44" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false || isObjectLike(value) && baseGetTag(value) == boolTag;\n}\n\nmodule.exports = isBoolean;" + }, + { + "id": 598, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/forEach.js", + "name": "./node_modules/lodash/forEach.js", + "index": 645, + "index2": 639, + "size": 1354, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "issuerId": 522, + "issuerName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "lodash/forEach", + "loc": "53:15-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "var arrayEach = require('./_arrayEach'),\n baseEach = require('./_baseEach'),\n castFunction = require('./_castFunction'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nmodule.exports = forEach;" + }, + { + "id": 599, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_arrayEach.js", + "name": "./node_modules/lodash/_arrayEach.js", + "index": 646, + "index2": 632, + "size": 536, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/forEach.js", + "issuerId": 598, + "issuerName": "./node_modules/lodash/forEach.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 598, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/forEach.js", + "module": "./node_modules/lodash/forEach.js", + "moduleName": "./node_modules/lodash/forEach.js", + "type": "cjs require", + "userRequest": "./_arrayEach", + "loc": "1:16-39" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;" + }, + { + "id": 600, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseEach.js", + "name": "./node_modules/lodash/_baseEach.js", + "index": 647, + "index2": 637, + "size": 454, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/forEach.js", + "issuerId": 598, + "issuerName": "./node_modules/lodash/forEach.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 598, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/forEach.js", + "module": "./node_modules/lodash/forEach.js", + "moduleName": "./node_modules/lodash/forEach.js", + "type": "cjs require", + "userRequest": "./_baseEach", + "loc": "2:15-37" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;" + }, + { + "id": 601, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseForOwn.js", + "name": "./node_modules/lodash/_baseForOwn.js", + "index": 648, + "index2": 635, + "size": 455, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseEach.js", + "issuerId": 600, + "issuerName": "./node_modules/lodash/_baseEach.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 600, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseEach.js", + "module": "./node_modules/lodash/_baseEach.js", + "moduleName": "./node_modules/lodash/_baseEach.js", + "type": "cjs require", + "userRequest": "./_baseForOwn", + "loc": "1:17-41" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;" + }, + { + "id": 602, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseFor.js", + "name": "./node_modules/lodash/_baseFor.js", + "index": 649, + "index2": 634, + "size": 592, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseForOwn.js", + "issuerId": 601, + "issuerName": "./node_modules/lodash/_baseForOwn.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 601, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseForOwn.js", + "module": "./node_modules/lodash/_baseForOwn.js", + "moduleName": "./node_modules/lodash/_baseForOwn.js", + "type": "cjs require", + "userRequest": "./_baseFor", + "loc": "1:14-35" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;" + }, + { + "id": 603, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_createBaseFor.js", + "name": "./node_modules/lodash/_createBaseFor.js", + "index": 650, + "index2": 633, + "size": 648, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseFor.js", + "issuerId": 602, + "issuerName": "./node_modules/lodash/_baseFor.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 602, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseFor.js", + "module": "./node_modules/lodash/_baseFor.js", + "moduleName": "./node_modules/lodash/_baseFor.js", + "type": "cjs require", + "userRequest": "./_createBaseFor", + "loc": "1:20-47" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function (object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;" + }, + { + "id": 604, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_createBaseEach.js", + "name": "./node_modules/lodash/_createBaseEach.js", + "index": 651, + "index2": 636, + "size": 884, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseEach.js", + "issuerId": 600, + "issuerName": "./node_modules/lodash/_baseEach.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 600, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_baseEach.js", + "module": "./node_modules/lodash/_baseEach.js", + "moduleName": "./node_modules/lodash/_baseEach.js", + "type": "cjs require", + "userRequest": "./_createBaseEach", + "loc": "2:21-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function (collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while (fromRight ? index-- : ++index < length) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;" + }, + { + "id": 605, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/_castFunction.js", + "name": "./node_modules/lodash/_castFunction.js", + "index": 652, + "index2": 638, + "size": 325, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/forEach.js", + "issuerId": 598, + "issuerName": "./node_modules/lodash/forEach.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 598, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/lodash/forEach.js", + "module": "./node_modules/lodash/forEach.js", + "moduleName": "./node_modules/lodash/forEach.js", + "type": "cjs require", + "userRequest": "./_castFunction", + "loc": "3:19-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "var identity = require('./identity');\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nmodule.exports = castFunction;" + }, + { + "id": 606, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/mousetrap/mousetrap.js", + "name": "./node_modules/mousetrap/mousetrap.js", + "index": 653, + "index2": 640, + "size": 33062, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "issuerId": 522, + "issuerName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 522, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-hotkeys/lib/HotKeys.js", + "module": "./node_modules/react-hotkeys/lib/HotKeys.js", + "moduleName": "./node_modules/react-hotkeys/lib/HotKeys.js", + "type": "cjs require", + "userRequest": "mousetrap", + "loc": "117:20-40" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "/*global define:false */\n/**\n * Copyright 2012-2017 Craig Campbell\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Mousetrap is a simple keyboard shortcut library for Javascript with\n * no external dependencies\n *\n * @version 1.6.1\n * @url craig.is/killing/mice\n */\n(function (window, document, undefined) {\n\n // Check if mousetrap is used inside browser, if not, return\n if (!window) {\n return;\n }\n\n /**\n * mapping of special keycodes to their corresponding keys\n *\n * everything in this dictionary cannot use keypress events\n * so it has to be here to map to the correct keycodes for\n * keyup/keydown events\n *\n * @type {Object}\n */\n var _MAP = {\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 16: 'shift',\n 17: 'ctrl',\n 18: 'alt',\n 20: 'capslock',\n 27: 'esc',\n 32: 'space',\n 33: 'pageup',\n 34: 'pagedown',\n 35: 'end',\n 36: 'home',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down',\n 45: 'ins',\n 46: 'del',\n 91: 'meta',\n 93: 'meta',\n 224: 'meta'\n };\n\n /**\n * mapping for special characters so they can support\n *\n * this dictionary is only used incase you want to bind a\n * keyup or keydown event to one of these keys\n *\n * @type {Object}\n */\n var _KEYCODE_MAP = {\n 106: '*',\n 107: '+',\n 109: '-',\n 110: '.',\n 111: '/',\n 186: ';',\n 187: '=',\n 188: ',',\n 189: '-',\n 190: '.',\n 191: '/',\n 192: '`',\n 219: '[',\n 220: '\\\\',\n 221: ']',\n 222: '\\''\n };\n\n /**\n * this is a mapping of keys that require shift on a US keypad\n * back to the non shift equivelents\n *\n * this is so you can use keyup events with these keys\n *\n * note that this will only work reliably on US keyboards\n *\n * @type {Object}\n */\n var _SHIFT_MAP = {\n '~': '`',\n '!': '1',\n '@': '2',\n '#': '3',\n '$': '4',\n '%': '5',\n '^': '6',\n '&': '7',\n '*': '8',\n '(': '9',\n ')': '0',\n '_': '-',\n '+': '=',\n ':': ';',\n '\\\"': '\\'',\n '<': ',',\n '>': '.',\n '?': '/',\n '|': '\\\\'\n };\n\n /**\n * this is a list of special strings you can use to map\n * to modifier keys when you specify your keyboard shortcuts\n *\n * @type {Object}\n */\n var _SPECIAL_ALIASES = {\n 'option': 'alt',\n 'command': 'meta',\n 'return': 'enter',\n 'escape': 'esc',\n 'plus': '+',\n 'mod': /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? 'meta' : 'ctrl'\n };\n\n /**\n * variable to store the flipped version of _MAP from above\n * needed to check if we should use keypress or not when no action\n * is specified\n *\n * @type {Object|undefined}\n */\n var _REVERSE_MAP;\n\n /**\n * loop through the f keys, f1 to f19 and add them to the map\n * programatically\n */\n for (var i = 1; i < 20; ++i) {\n _MAP[111 + i] = 'f' + i;\n }\n\n /**\n * loop through to map numbers on the numeric keypad\n */\n for (i = 0; i <= 9; ++i) {\n\n // This needs to use a string cause otherwise since 0 is falsey\n // mousetrap will never fire for numpad 0 pressed as part of a keydown\n // event.\n //\n // @see https://github.com/ccampbell/mousetrap/pull/258\n _MAP[i + 96] = i.toString();\n }\n\n /**\n * cross browser add event method\n *\n * @param {Element|HTMLDocument} object\n * @param {string} type\n * @param {Function} callback\n * @returns void\n */\n function _addEvent(object, type, callback) {\n if (object.addEventListener) {\n object.addEventListener(type, callback, false);\n return;\n }\n\n object.attachEvent('on' + type, callback);\n }\n\n /**\n * takes the event and returns the key character\n *\n * @param {Event} e\n * @return {string}\n */\n function _characterFromEvent(e) {\n\n // for keypress events we should return the character as is\n if (e.type == 'keypress') {\n var character = String.fromCharCode(e.which);\n\n // if the shift key is not pressed then it is safe to assume\n // that we want the character to be lowercase. this means if\n // you accidentally have caps lock on then your key bindings\n // will continue to work\n //\n // the only side effect that might not be desired is if you\n // bind something like 'A' cause you want to trigger an\n // event when capital A is pressed caps lock will no longer\n // trigger the event. shift+a will though.\n if (!e.shiftKey) {\n character = character.toLowerCase();\n }\n\n return character;\n }\n\n // for non keypress events the special maps are needed\n if (_MAP[e.which]) {\n return _MAP[e.which];\n }\n\n if (_KEYCODE_MAP[e.which]) {\n return _KEYCODE_MAP[e.which];\n }\n\n // if it is not in the special map\n\n // with keydown and keyup events the character seems to always\n // come in as an uppercase character whether you are pressing shift\n // or not. we should make sure it is always lowercase for comparisons\n return String.fromCharCode(e.which).toLowerCase();\n }\n\n /**\n * checks if two arrays are equal\n *\n * @param {Array} modifiers1\n * @param {Array} modifiers2\n * @returns {boolean}\n */\n function _modifiersMatch(modifiers1, modifiers2) {\n return modifiers1.sort().join(',') === modifiers2.sort().join(',');\n }\n\n /**\n * takes a key event and figures out what the modifiers are\n *\n * @param {Event} e\n * @returns {Array}\n */\n function _eventModifiers(e) {\n var modifiers = [];\n\n if (e.shiftKey) {\n modifiers.push('shift');\n }\n\n if (e.altKey) {\n modifiers.push('alt');\n }\n\n if (e.ctrlKey) {\n modifiers.push('ctrl');\n }\n\n if (e.metaKey) {\n modifiers.push('meta');\n }\n\n return modifiers;\n }\n\n /**\n * prevents default for this event\n *\n * @param {Event} e\n * @returns void\n */\n function _preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n return;\n }\n\n e.returnValue = false;\n }\n\n /**\n * stops propogation for this event\n *\n * @param {Event} e\n * @returns void\n */\n function _stopPropagation(e) {\n if (e.stopPropagation) {\n e.stopPropagation();\n return;\n }\n\n e.cancelBubble = true;\n }\n\n /**\n * determines if the keycode specified is a modifier key or not\n *\n * @param {string} key\n * @returns {boolean}\n */\n function _isModifier(key) {\n return key == 'shift' || key == 'ctrl' || key == 'alt' || key == 'meta';\n }\n\n /**\n * reverses the map lookup so that we can look for specific keys\n * to see what can and can't use keypress\n *\n * @return {Object}\n */\n function _getReverseMap() {\n if (!_REVERSE_MAP) {\n _REVERSE_MAP = {};\n for (var key in _MAP) {\n\n // pull out the numeric keypad from here cause keypress should\n // be able to detect the keys from the character\n if (key > 95 && key < 112) {\n continue;\n }\n\n if (_MAP.hasOwnProperty(key)) {\n _REVERSE_MAP[_MAP[key]] = key;\n }\n }\n }\n return _REVERSE_MAP;\n }\n\n /**\n * picks the best action based on the key combination\n *\n * @param {string} key - character for key\n * @param {Array} modifiers\n * @param {string=} action passed in\n */\n function _pickBestAction(key, modifiers, action) {\n\n // if no action was picked in we should try to pick the one\n // that we think would work best for this key\n if (!action) {\n action = _getReverseMap()[key] ? 'keydown' : 'keypress';\n }\n\n // modifier keys don't work as expected with keypress,\n // switch to keydown\n if (action == 'keypress' && modifiers.length) {\n action = 'keydown';\n }\n\n return action;\n }\n\n /**\n * Converts from a string key combination to an array\n *\n * @param {string} combination like \"command+shift+l\"\n * @return {Array}\n */\n function _keysFromString(combination) {\n if (combination === '+') {\n return ['+'];\n }\n\n combination = combination.replace(/\\+{2}/g, '+plus');\n return combination.split('+');\n }\n\n /**\n * Gets info for a specific key combination\n *\n * @param {string} combination key combination (\"command+s\" or \"a\" or \"*\")\n * @param {string=} action\n * @returns {Object}\n */\n function _getKeyInfo(combination, action) {\n var keys;\n var key;\n var i;\n var modifiers = [];\n\n // take the keys from this pattern and figure out what the actual\n // pattern is all about\n keys = _keysFromString(combination);\n\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n\n // normalize key names\n if (_SPECIAL_ALIASES[key]) {\n key = _SPECIAL_ALIASES[key];\n }\n\n // if this is not a keypress event then we should\n // be smart about using shift keys\n // this will only work for US keyboards however\n if (action && action != 'keypress' && _SHIFT_MAP[key]) {\n key = _SHIFT_MAP[key];\n modifiers.push('shift');\n }\n\n // if this key is a modifier then add it to the list of modifiers\n if (_isModifier(key)) {\n modifiers.push(key);\n }\n }\n\n // depending on what the key combination is\n // we will try to pick the best event for it\n action = _pickBestAction(key, modifiers, action);\n\n return {\n key: key,\n modifiers: modifiers,\n action: action\n };\n }\n\n function _belongsTo(element, ancestor) {\n if (element === null || element === document) {\n return false;\n }\n\n if (element === ancestor) {\n return true;\n }\n\n return _belongsTo(element.parentNode, ancestor);\n }\n\n function Mousetrap(targetElement) {\n var self = this;\n\n targetElement = targetElement || document;\n\n if (!(self instanceof Mousetrap)) {\n return new Mousetrap(targetElement);\n }\n\n /**\n * element to attach key events to\n *\n * @type {Element}\n */\n self.target = targetElement;\n\n /**\n * a list of all the callbacks setup via Mousetrap.bind()\n *\n * @type {Object}\n */\n self._callbacks = {};\n\n /**\n * direct map of string combinations to callbacks used for trigger()\n *\n * @type {Object}\n */\n self._directMap = {};\n\n /**\n * keeps track of what level each sequence is at since multiple\n * sequences can start out with the same sequence\n *\n * @type {Object}\n */\n var _sequenceLevels = {};\n\n /**\n * variable to store the setTimeout call\n *\n * @type {null|number}\n */\n var _resetTimer;\n\n /**\n * temporary state where we will ignore the next keyup\n *\n * @type {boolean|string}\n */\n var _ignoreNextKeyup = false;\n\n /**\n * temporary state where we will ignore the next keypress\n *\n * @type {boolean}\n */\n var _ignoreNextKeypress = false;\n\n /**\n * are we currently inside of a sequence?\n * type of action (\"keyup\" or \"keydown\" or \"keypress\") or false\n *\n * @type {boolean|string}\n */\n var _nextExpectedAction = false;\n\n /**\n * resets all sequence counters except for the ones passed in\n *\n * @param {Object} doNotReset\n * @returns void\n */\n function _resetSequences(doNotReset) {\n doNotReset = doNotReset || {};\n\n var activeSequences = false,\n key;\n\n for (key in _sequenceLevels) {\n if (doNotReset[key]) {\n activeSequences = true;\n continue;\n }\n _sequenceLevels[key] = 0;\n }\n\n if (!activeSequences) {\n _nextExpectedAction = false;\n }\n }\n\n /**\n * finds all callbacks that match based on the keycode, modifiers,\n * and action\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event|Object} e\n * @param {string=} sequenceName - name of the sequence we are looking for\n * @param {string=} combination\n * @param {number=} level\n * @returns {Array}\n */\n function _getMatches(character, modifiers, e, sequenceName, combination, level) {\n var i;\n var callback;\n var matches = [];\n var action = e.type;\n\n // if there are no events related to this keycode\n if (!self._callbacks[character]) {\n return [];\n }\n\n // if a modifier key is coming up on its own we should allow it\n if (action == 'keyup' && _isModifier(character)) {\n modifiers = [character];\n }\n\n // loop through all callbacks for the key that was pressed\n // and see if any of them match\n for (i = 0; i < self._callbacks[character].length; ++i) {\n callback = self._callbacks[character][i];\n\n // if a sequence name is not specified, but this is a sequence at\n // the wrong level then move onto the next match\n if (!sequenceName && callback.seq && _sequenceLevels[callback.seq] != callback.level) {\n continue;\n }\n\n // if the action we are looking for doesn't match the action we got\n // then we should keep going\n if (action != callback.action) {\n continue;\n }\n\n // if this is a keypress event and the meta key and control key\n // are not pressed that means that we need to only look at the\n // character, otherwise check the modifiers as well\n //\n // chrome will not fire a keypress if meta or control is down\n // safari will fire a keypress if meta or meta+shift is down\n // firefox will fire a keypress if meta or control is down\n if (action == 'keypress' && !e.metaKey && !e.ctrlKey || _modifiersMatch(modifiers, callback.modifiers)) {\n\n // when you bind a combination or sequence a second time it\n // should overwrite the first one. if a sequenceName or\n // combination is specified in this call it does just that\n //\n // @todo make deleting its own method?\n var deleteCombo = !sequenceName && callback.combo == combination;\n var deleteSequence = sequenceName && callback.seq == sequenceName && callback.level == level;\n if (deleteCombo || deleteSequence) {\n self._callbacks[character].splice(i, 1);\n }\n\n matches.push(callback);\n }\n }\n\n return matches;\n }\n\n /**\n * actually calls the callback function\n *\n * if your callback function returns false this will use the jquery\n * convention - prevent default and stop propogation on the event\n *\n * @param {Function} callback\n * @param {Event} e\n * @returns void\n */\n function _fireCallback(callback, e, combo, sequence) {\n\n // if this event should not happen stop here\n if (self.stopCallback(e, e.target || e.srcElement, combo, sequence)) {\n return;\n }\n\n if (callback(e, combo) === false) {\n _preventDefault(e);\n _stopPropagation(e);\n }\n }\n\n /**\n * handles a character key event\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event} e\n * @returns void\n */\n self._handleKey = function (character, modifiers, e) {\n var callbacks = _getMatches(character, modifiers, e);\n var i;\n var doNotReset = {};\n var maxLevel = 0;\n var processedSequenceCallback = false;\n\n // Calculate the maxLevel for sequences so we can only execute the longest callback sequence\n for (i = 0; i < callbacks.length; ++i) {\n if (callbacks[i].seq) {\n maxLevel = Math.max(maxLevel, callbacks[i].level);\n }\n }\n\n // loop through matching callbacks for this key event\n for (i = 0; i < callbacks.length; ++i) {\n\n // fire for all sequence callbacks\n // this is because if for example you have multiple sequences\n // bound such as \"g i\" and \"g t\" they both need to fire the\n // callback for matching g cause otherwise you can only ever\n // match the first one\n if (callbacks[i].seq) {\n\n // only fire callbacks for the maxLevel to prevent\n // subsequences from also firing\n //\n // for example 'a option b' should not cause 'option b' to fire\n // even though 'option b' is part of the other sequence\n //\n // any sequences that do not match here will be discarded\n // below by the _resetSequences call\n if (callbacks[i].level != maxLevel) {\n continue;\n }\n\n processedSequenceCallback = true;\n\n // keep a list of which sequences were matches for later\n doNotReset[callbacks[i].seq] = 1;\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo, callbacks[i].seq);\n continue;\n }\n\n // if there were no sequence matches but we are still here\n // that means this is a regular match so we should fire that\n if (!processedSequenceCallback) {\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo);\n }\n }\n\n // if the key you pressed matches the type of sequence without\n // being a modifier (ie \"keyup\" or \"keypress\") then we should\n // reset all sequences that were not matched by this event\n //\n // this is so, for example, if you have the sequence \"h a t\" and you\n // type \"h e a r t\" it does not match. in this case the \"e\" will\n // cause the sequence to reset\n //\n // modifier keys are ignored because you can have a sequence\n // that contains modifiers such as \"enter ctrl+space\" and in most\n // cases the modifier key will be pressed before the next key\n //\n // also if you have a sequence such as \"ctrl+b a\" then pressing the\n // \"b\" key will trigger a \"keypress\" and a \"keydown\"\n //\n // the \"keydown\" is expected when there is a modifier, but the\n // \"keypress\" ends up matching the _nextExpectedAction since it occurs\n // after and that causes the sequence to reset\n //\n // we ignore keypresses in a sequence that directly follow a keydown\n // for the same character\n var ignoreThisKeypress = e.type == 'keypress' && _ignoreNextKeypress;\n if (e.type == _nextExpectedAction && !_isModifier(character) && !ignoreThisKeypress) {\n _resetSequences(doNotReset);\n }\n\n _ignoreNextKeypress = processedSequenceCallback && e.type == 'keydown';\n };\n\n /**\n * handles a keydown event\n *\n * @param {Event} e\n * @returns void\n */\n function _handleKeyEvent(e) {\n\n // normalize e.which for key events\n // @see http://stackoverflow.com/questions/4285627/javascript-keycode-vs-charcode-utter-confusion\n if (typeof e.which !== 'number') {\n e.which = e.keyCode;\n }\n\n var character = _characterFromEvent(e);\n\n // no character found then stop\n if (!character) {\n return;\n }\n\n // need to use === for the character check because the character can be 0\n if (e.type == 'keyup' && _ignoreNextKeyup === character) {\n _ignoreNextKeyup = false;\n return;\n }\n\n self.handleKey(character, _eventModifiers(e), e);\n }\n\n /**\n * called to set a 1 second timeout on the specified sequence\n *\n * this is so after each key press in the sequence you have 1 second\n * to press the next key before you have to start over\n *\n * @returns void\n */\n function _resetSequenceTimer() {\n clearTimeout(_resetTimer);\n _resetTimer = setTimeout(_resetSequences, 1000);\n }\n\n /**\n * binds a key sequence to an event\n *\n * @param {string} combo - combo specified in bind call\n * @param {Array} keys\n * @param {Function} callback\n * @param {string=} action\n * @returns void\n */\n function _bindSequence(combo, keys, callback, action) {\n\n // start off by adding a sequence level record for this combination\n // and setting the level to 0\n _sequenceLevels[combo] = 0;\n\n /**\n * callback to increase the sequence level for this sequence and reset\n * all other sequences that were active\n *\n * @param {string} nextAction\n * @returns {Function}\n */\n function _increaseSequence(nextAction) {\n return function () {\n _nextExpectedAction = nextAction;\n ++_sequenceLevels[combo];\n _resetSequenceTimer();\n };\n }\n\n /**\n * wraps the specified callback inside of another function in order\n * to reset all sequence counters as soon as this sequence is done\n *\n * @param {Event} e\n * @returns void\n */\n function _callbackAndReset(e) {\n _fireCallback(callback, e, combo);\n\n // we should ignore the next key up if the action is key down\n // or keypress. this is so if you finish a sequence and\n // release the key the final key will not trigger a keyup\n if (action !== 'keyup') {\n _ignoreNextKeyup = _characterFromEvent(e);\n }\n\n // weird race condition if a sequence ends with the key\n // another sequence begins with\n setTimeout(_resetSequences, 10);\n }\n\n // loop through keys one at a time and bind the appropriate callback\n // function. for any key leading up to the final one it should\n // increase the sequence. after the final, it should reset all sequences\n //\n // if an action is specified in the original bind call then that will\n // be used throughout. otherwise we will pass the action that the\n // next key in the sequence should match. this allows a sequence\n // to mix and match keypress and keydown events depending on which\n // ones are better suited to the key provided\n for (var i = 0; i < keys.length; ++i) {\n var isFinal = i + 1 === keys.length;\n var wrappedCallback = isFinal ? _callbackAndReset : _increaseSequence(action || _getKeyInfo(keys[i + 1]).action);\n _bindSingle(keys[i], wrappedCallback, action, combo, i);\n }\n }\n\n /**\n * binds a single keyboard combination\n *\n * @param {string} combination\n * @param {Function} callback\n * @param {string=} action\n * @param {string=} sequenceName - name of sequence if part of sequence\n * @param {number=} level - what part of the sequence the command is\n * @returns void\n */\n function _bindSingle(combination, callback, action, sequenceName, level) {\n\n // store a direct mapped reference for use with Mousetrap.trigger\n self._directMap[combination + ':' + action] = callback;\n\n // make sure multiple spaces in a row become a single space\n combination = combination.replace(/\\s+/g, ' ');\n\n var sequence = combination.split(' ');\n var info;\n\n // if this pattern is a sequence of keys then run through this method\n // to reprocess each pattern one key at a time\n if (sequence.length > 1) {\n _bindSequence(combination, sequence, callback, action);\n return;\n }\n\n info = _getKeyInfo(combination, action);\n\n // make sure to initialize array if this is the first time\n // a callback is added for this key\n self._callbacks[info.key] = self._callbacks[info.key] || [];\n\n // remove an existing match if there is one\n _getMatches(info.key, info.modifiers, { type: info.action }, sequenceName, combination, level);\n\n // add this call back to the array\n // if it is a sequence put it at the beginning\n // if not put it at the end\n //\n // this is important because the way these are processed expects\n // the sequence ones to come first\n self._callbacks[info.key][sequenceName ? 'unshift' : 'push']({\n callback: callback,\n modifiers: info.modifiers,\n action: info.action,\n seq: sequenceName,\n level: level,\n combo: combination\n });\n }\n\n /**\n * binds multiple combinations to the same callback\n *\n * @param {Array} combinations\n * @param {Function} callback\n * @param {string|undefined} action\n * @returns void\n */\n self._bindMultiple = function (combinations, callback, action) {\n for (var i = 0; i < combinations.length; ++i) {\n _bindSingle(combinations[i], callback, action);\n }\n };\n\n // start!\n _addEvent(targetElement, 'keypress', _handleKeyEvent);\n _addEvent(targetElement, 'keydown', _handleKeyEvent);\n _addEvent(targetElement, 'keyup', _handleKeyEvent);\n }\n\n /**\n * binds an event to mousetrap\n *\n * can be a single key, a combination of keys separated with +,\n * an array of keys, or a sequence of keys separated by spaces\n *\n * be sure to list the modifier keys first to make sure that the\n * correct key ends up getting bound (the last key in the pattern)\n *\n * @param {string|Array} keys\n * @param {Function} callback\n * @param {string=} action - 'keypress', 'keydown', or 'keyup'\n * @returns void\n */\n Mousetrap.prototype.bind = function (keys, callback, action) {\n var self = this;\n keys = keys instanceof Array ? keys : [keys];\n self._bindMultiple.call(self, keys, callback, action);\n return self;\n };\n\n /**\n * unbinds an event to mousetrap\n *\n * the unbinding sets the callback function of the specified key combo\n * to an empty function and deletes the corresponding key in the\n * _directMap dict.\n *\n * TODO: actually remove this from the _callbacks dictionary instead\n * of binding an empty function\n *\n * the keycombo+action has to be exactly the same as\n * it was defined in the bind method\n *\n * @param {string|Array} keys\n * @param {string} action\n * @returns void\n */\n Mousetrap.prototype.unbind = function (keys, action) {\n var self = this;\n return self.bind.call(self, keys, function () {}, action);\n };\n\n /**\n * triggers an event that has already been bound\n *\n * @param {string} keys\n * @param {string=} action\n * @returns void\n */\n Mousetrap.prototype.trigger = function (keys, action) {\n var self = this;\n if (self._directMap[keys + ':' + action]) {\n self._directMap[keys + ':' + action]({}, keys);\n }\n return self;\n };\n\n /**\n * resets the library back to its initial state. this is useful\n * if you want to clear out the current keyboard shortcuts and bind\n * new ones - for example if you switch to another page\n *\n * @returns void\n */\n Mousetrap.prototype.reset = function () {\n var self = this;\n self._callbacks = {};\n self._directMap = {};\n return self;\n };\n\n /**\n * should we stop this event before firing off callbacks\n *\n * @param {Event} e\n * @param {Element} element\n * @return {boolean}\n */\n Mousetrap.prototype.stopCallback = function (e, element) {\n var self = this;\n\n // if the element has the class \"mousetrap\" then no need to stop\n if ((' ' + element.className + ' ').indexOf(' mousetrap ') > -1) {\n return false;\n }\n\n if (_belongsTo(element, self.target)) {\n return false;\n }\n\n // stop for input, select, and textarea\n return element.tagName == 'INPUT' || element.tagName == 'SELECT' || element.tagName == 'TEXTAREA' || element.isContentEditable;\n };\n\n /**\n * exposes _handleKey publicly so it can be overwritten by extensions\n */\n Mousetrap.prototype.handleKey = function () {\n var self = this;\n return self._handleKey.apply(self, arguments);\n };\n\n /**\n * allow custom key mappings\n */\n Mousetrap.addKeycodes = function (object) {\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n _MAP[key] = object[key];\n }\n }\n _REVERSE_MAP = null;\n };\n\n /**\n * Init the global mousetrap functions\n *\n * This method is needed to allow the global mousetrap functions to work\n * now that mousetrap is a constructor function.\n */\n Mousetrap.init = function () {\n var documentMousetrap = Mousetrap(document);\n for (var method in documentMousetrap) {\n if (method.charAt(0) !== '_') {\n Mousetrap[method] = function (method) {\n return function () {\n return documentMousetrap[method].apply(documentMousetrap, arguments);\n };\n }(method);\n }\n }\n };\n\n Mousetrap.init();\n\n // expose mousetrap to the global object\n window.Mousetrap = Mousetrap;\n\n // expose as a common js module\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Mousetrap;\n }\n\n // expose mousetrap as an AMD module\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return Mousetrap;\n });\n }\n})(typeof window !== 'undefined' ? window : null, typeof window !== 'undefined' ? document : null);" + }, + { + "id": 607, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "name": "./node_modules/scroll-behavior/lib/index.js", + "index": 664, + "index2": 654, + "size": 10669, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "issuerId": 152, + "issuerName": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 152, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "module": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "moduleName": "./node_modules/react-router-scroll-4/lib/react-router-scroll-4.es.js", + "type": "harmony import", + "userRequest": "scroll-behavior", + "loc": "6:0-45" + } + ], + "usedExports": [ + "default" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nexports.__esModule = true;\n\nvar _off = require('dom-helpers/events/off');\n\nvar _off2 = _interopRequireDefault(_off);\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _scrollLeft = require('dom-helpers/query/scrollLeft');\n\nvar _scrollLeft2 = _interopRequireDefault(_scrollLeft);\n\nvar _scrollTop = require('dom-helpers/query/scrollTop');\n\nvar _scrollTop2 = _interopRequireDefault(_scrollTop);\n\nvar _requestAnimationFrame = require('dom-helpers/util/requestAnimationFrame');\n\nvar _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: 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} /* eslint-disable no-underscore-dangle */\n\n// Try at most this many times to scroll, to avoid getting stuck.\nvar MAX_SCROLL_ATTEMPTS = 2;\n\nvar ScrollBehavior = function () {\n function ScrollBehavior(_ref) {\n var _this = this;\n\n var addTransitionHook = _ref.addTransitionHook,\n stateStorage = _ref.stateStorage,\n getCurrentLocation = _ref.getCurrentLocation,\n shouldUpdateScroll = _ref.shouldUpdateScroll;\n\n _classCallCheck(this, ScrollBehavior);\n\n this._onWindowScroll = function () {\n // It's possible that this scroll operation was triggered by what will be a\n // `POP` transition. Instead of updating the saved location immediately, we\n // have to enqueue the update, then potentially cancel it if we observe a\n // location update.\n if (!_this._saveWindowPositionHandle) {\n _this._saveWindowPositionHandle = (0, _requestAnimationFrame2.default)(_this._saveWindowPosition);\n }\n\n if (_this._windowScrollTarget) {\n var _windowScrollTarget = _this._windowScrollTarget,\n xTarget = _windowScrollTarget[0],\n yTarget = _windowScrollTarget[1];\n\n var x = (0, _scrollLeft2.default)(window);\n var y = (0, _scrollTop2.default)(window);\n\n if (x === xTarget && y === yTarget) {\n _this._windowScrollTarget = null;\n _this._cancelCheckWindowScroll();\n }\n }\n };\n\n this._saveWindowPosition = function () {\n _this._saveWindowPositionHandle = null;\n\n _this._savePosition(null, window);\n };\n\n this._checkWindowScrollPosition = function () {\n _this._checkWindowScrollHandle = null;\n\n // We can only get here if scrollTarget is set. Every code path that unsets\n // scroll target also cancels the handle to avoid calling this handler.\n // Still, check anyway just in case.\n /* istanbul ignore if: paranoid guard */\n if (!_this._windowScrollTarget) {\n return;\n }\n\n _this._scrollToTarget(window, _this._windowScrollTarget);\n\n ++_this._numWindowScrollAttempts;\n\n /* istanbul ignore if: paranoid guard */\n if (_this._numWindowScrollAttempts >= MAX_SCROLL_ATTEMPTS) {\n _this._windowScrollTarget = null;\n return;\n }\n\n _this._checkWindowScrollHandle = (0, _requestAnimationFrame2.default)(_this._checkWindowScrollPosition);\n };\n\n this._scrollToTarget = function (element, target) {\n if (typeof target === 'string') {\n var el = document.getElementById(target) || document.getElementsByName(target)[0];\n if (el) {\n el.scrollIntoView();\n return;\n }\n\n // Fallback to scrolling to top when target fragment doesn't exist.\n target = [0, 0]; // eslint-disable-line no-param-reassign\n }\n\n var _target = target,\n x = _target[0],\n y = _target[1];\n\n (0, _scrollLeft2.default)(element, x);\n (0, _scrollTop2.default)(element, y);\n };\n\n this._stateStorage = stateStorage;\n this._getCurrentLocation = getCurrentLocation;\n this._shouldUpdateScroll = shouldUpdateScroll;\n\n // This helps avoid some jankiness in fighting against the browser's\n // default scroll behavior on `POP` transitions.\n /* istanbul ignore else: Travis browsers all support this */\n if ('scrollRestoration' in window.history) {\n this._oldScrollRestoration = window.history.scrollRestoration;\n window.history.scrollRestoration = 'manual';\n } else {\n this._oldScrollRestoration = null;\n }\n\n this._saveWindowPositionHandle = null;\n this._checkWindowScrollHandle = null;\n this._windowScrollTarget = null;\n this._numWindowScrollAttempts = 0;\n\n this._scrollElements = {};\n\n // We have to listen to each window scroll update rather than to just\n // location updates, because some browsers will update scroll position\n // before emitting the location change.\n (0, _on2.default)(window, 'scroll', this._onWindowScroll);\n\n this._removeTransitionHook = addTransitionHook(function () {\n _requestAnimationFrame2.default.cancel(_this._saveWindowPositionHandle);\n _this._saveWindowPositionHandle = null;\n\n Object.keys(_this._scrollElements).forEach(function (key) {\n var scrollElement = _this._scrollElements[key];\n _requestAnimationFrame2.default.cancel(scrollElement.savePositionHandle);\n scrollElement.savePositionHandle = null;\n\n // It's fine to save element scroll positions here, though; the browser\n // won't modify them.\n _this._saveElementPosition(key);\n });\n });\n }\n\n ScrollBehavior.prototype.registerElement = function registerElement(key, element, shouldUpdateScroll, context) {\n var _this2 = this;\n\n !!this._scrollElements[key] ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'ScrollBehavior: There is already an element registered for `%s`.', key) : (0, _invariant2.default)(false) : void 0;\n\n var saveElementPosition = function saveElementPosition() {\n _this2._saveElementPosition(key);\n };\n\n var scrollElement = {\n element: element,\n shouldUpdateScroll: shouldUpdateScroll,\n savePositionHandle: null,\n\n onScroll: function onScroll() {\n if (!scrollElement.savePositionHandle) {\n scrollElement.savePositionHandle = (0, _requestAnimationFrame2.default)(saveElementPosition);\n }\n }\n };\n\n this._scrollElements[key] = scrollElement;\n (0, _on2.default)(element, 'scroll', scrollElement.onScroll);\n\n this._updateElementScroll(key, null, context);\n };\n\n ScrollBehavior.prototype.unregisterElement = function unregisterElement(key) {\n !this._scrollElements[key] ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'ScrollBehavior: There is no element registered for `%s`.', key) : (0, _invariant2.default)(false) : void 0;\n\n var _scrollElements$key = this._scrollElements[key],\n element = _scrollElements$key.element,\n onScroll = _scrollElements$key.onScroll,\n savePositionHandle = _scrollElements$key.savePositionHandle;\n\n (0, _off2.default)(element, 'scroll', onScroll);\n _requestAnimationFrame2.default.cancel(savePositionHandle);\n\n delete this._scrollElements[key];\n };\n\n ScrollBehavior.prototype.updateScroll = function updateScroll(prevContext, context) {\n var _this3 = this;\n\n this._updateWindowScroll(prevContext, context);\n\n Object.keys(this._scrollElements).forEach(function (key) {\n _this3._updateElementScroll(key, prevContext, context);\n });\n };\n\n ScrollBehavior.prototype.stop = function stop() {\n /* istanbul ignore if: not supported by any browsers on Travis */\n if (this._oldScrollRestoration) {\n window.history.scrollRestoration = this._oldScrollRestoration;\n }\n\n (0, _off2.default)(window, 'scroll', this._onWindowScroll);\n this._cancelCheckWindowScroll();\n\n this._removeTransitionHook();\n };\n\n ScrollBehavior.prototype._cancelCheckWindowScroll = function _cancelCheckWindowScroll() {\n _requestAnimationFrame2.default.cancel(this._checkWindowScrollHandle);\n this._checkWindowScrollHandle = null;\n };\n\n ScrollBehavior.prototype._saveElementPosition = function _saveElementPosition(key) {\n var scrollElement = this._scrollElements[key];\n scrollElement.savePositionHandle = null;\n\n this._savePosition(key, scrollElement.element);\n };\n\n ScrollBehavior.prototype._savePosition = function _savePosition(key, element) {\n this._stateStorage.save(this._getCurrentLocation(), key, [(0, _scrollLeft2.default)(element), (0, _scrollTop2.default)(element)]);\n };\n\n ScrollBehavior.prototype._updateWindowScroll = function _updateWindowScroll(prevContext, context) {\n // Whatever we were doing before isn't relevant any more.\n this._cancelCheckWindowScroll();\n\n this._windowScrollTarget = this._getScrollTarget(null, this._shouldUpdateScroll, prevContext, context);\n\n // Updating the window scroll position is really flaky. Just trying to\n // scroll it isn't enough. Instead, try to scroll a few times until it\n // works.\n this._numWindowScrollAttempts = 0;\n this._checkWindowScrollPosition();\n };\n\n ScrollBehavior.prototype._updateElementScroll = function _updateElementScroll(key, prevContext, context) {\n var _scrollElements$key2 = this._scrollElements[key],\n element = _scrollElements$key2.element,\n shouldUpdateScroll = _scrollElements$key2.shouldUpdateScroll;\n\n var scrollTarget = this._getScrollTarget(key, shouldUpdateScroll, prevContext, context);\n if (!scrollTarget) {\n return;\n }\n\n // Unlike with the window, there shouldn't be any flakiness to deal with\n // here.\n this._scrollToTarget(element, scrollTarget);\n };\n\n ScrollBehavior.prototype._getDefaultScrollTarget = function _getDefaultScrollTarget(location) {\n var hash = location.hash;\n if (hash && hash !== '#') {\n return hash.charAt(0) === '#' ? hash.slice(1) : hash;\n }\n return [0, 0];\n };\n\n ScrollBehavior.prototype._getScrollTarget = function _getScrollTarget(key, shouldUpdateScroll, prevContext, context) {\n var scrollTarget = shouldUpdateScroll ? shouldUpdateScroll.call(this, prevContext, context) : true;\n\n if (!scrollTarget || Array.isArray(scrollTarget) || typeof scrollTarget === 'string') {\n return scrollTarget;\n }\n\n var location = this._getCurrentLocation();\n if (location.action === 'PUSH') {\n return this._getDefaultScrollTarget(location);\n }\n\n return this._stateStorage.read(location, key) || this._getDefaultScrollTarget(location);\n };\n\n return ScrollBehavior;\n}();\n\nexports.default = ScrollBehavior;\nmodule.exports = exports['default'];" + }, + { + "id": 608, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/dom-helpers/util/requestAnimationFrame.js", + "name": "./node_modules/dom-helpers/util/requestAnimationFrame.js", + "index": 665, + "index2": 653, + "size": 1266, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "issuerId": 607, + "issuerName": "./node_modules/scroll-behavior/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 607, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/scroll-behavior/lib/index.js", + "module": "./node_modules/scroll-behavior/lib/index.js", + "moduleName": "./node_modules/scroll-behavior/lib/index.js", + "type": "cjs require", + "userRequest": "dom-helpers/util/requestAnimationFrame", + "loc": "21:29-78" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inDOM = require('./inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'];\nvar cancel = 'clearTimeout';\nvar raf = fallback;\nvar compatRaf = void 0;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (_inDOM2.default) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function raf(cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n\n/* https://github.com/component/raf */\nvar prev = new Date().getTime();\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n\n prev = curr;\n return req;\n}\n\ncompatRaf = function compatRaf(cb) {\n return raf(cb);\n};\ncompatRaf.cancel = function (id) {\n window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);\n};\nexports.default = compatRaf;\nmodule.exports = exports['default'];" + }, + { + "id": 609, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "name": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "index": 739, + "index2": 742, + "size": 30652, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/index.js", + "issuerId": 165, + "issuerName": "./node_modules/react-swipeable-views/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 165, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/index.js", + "module": "./node_modules/react-swipeable-views/lib/index.js", + "moduleName": "./node_modules/react-swipeable-views/lib/index.js", + "type": "cjs require", + "userRequest": "./SwipeableViews", + "loc": "7:22-49" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 7, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _assign = require('babel-runtime/core-js/object/assign');\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');\n\nvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\nvar _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nexports.getDomTreeShapes = getDomTreeShapes;\nexports.findNativeHandler = findNativeHandler;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _properties2 = _interopRequireDefault(_properties);\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _off = require('dom-helpers/events/off');\n\nvar _off2 = _interopRequireDefault(_off);\n\nvar _reactSwipeableViewsCore = require('react-swipeable-views-core');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction addEventListenerEnhanced(node, event, handler, options) {\n (0, _on2.default)(node, event, handler, options);\n return {\n remove: function remove() {\n (0, _off2.default)(node, event, handler, options);\n }\n };\n} // weak\n\nvar styleInjected = false;\n\n// Support old version of iOS and IE 10.\n// To be deleted in 2019.\nfunction injectStyle() {\n // Inject once for all the instances\n if (!styleInjected) {\n var style = document.createElement('style');\n style.innerHTML = '\\n .react-swipeable-view-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n }\\n .react-swipeable-view-container > div {\\n -ms-flex-negative: 0;\\n }\\n ';\n\n if (document.body) {\n document.body.appendChild(style);\n }\n styleInjected = true;\n }\n}\n\nvar styles = {\n container: {\n direction: 'ltr',\n display: 'flex'\n // Cause an issue on Firefox. We can't enable it for now.\n // willChange: 'transform',\n },\n slide: {\n width: '100%',\n WebkitFlexShrink: 0,\n flexShrink: 0,\n overflow: 'auto'\n }\n};\n\nvar axisProperties = {\n root: {\n x: {\n overflowX: 'hidden'\n },\n 'x-reverse': {\n overflowX: 'hidden'\n },\n y: {\n overflowY: 'hidden'\n },\n 'y-reverse': {\n overflowY: 'hidden'\n }\n },\n flexDirection: {\n x: 'row',\n 'x-reverse': 'row-reverse',\n y: 'column',\n 'y-reverse': 'column-reverse'\n },\n transform: {\n x: function x(translate) {\n return 'translate(' + -translate + '%, 0)';\n },\n 'x-reverse': function xReverse(translate) {\n return 'translate(' + translate + '%, 0)';\n },\n y: function y(translate) {\n return 'translate(0, ' + -translate + '%)';\n },\n 'y-reverse': function yReverse(translate) {\n return 'translate(0, ' + translate + '%)';\n }\n },\n length: {\n x: 'width',\n 'x-reverse': 'width',\n y: 'height',\n 'y-reverse': 'height'\n },\n rotationMatrix: {\n x: {\n x: [1, 0],\n y: [0, 1]\n },\n 'x-reverse': {\n x: [-1, 0],\n y: [0, 1]\n },\n y: {\n x: [0, 1],\n y: [1, 0]\n },\n 'y-reverse': {\n x: [0, -1],\n y: [1, 0]\n }\n },\n scrollPosition: {\n x: 'scrollLeft',\n 'x-reverse': 'scrollLeft',\n y: 'scrollTop',\n 'y-reverse': 'scrollTop'\n },\n scrollLength: {\n x: 'scrollWidth',\n 'x-reverse': 'scrollWidth',\n y: 'scrollHeight',\n 'y-reverse': 'scrollHeight'\n },\n clientLength: {\n x: 'clientWidth',\n 'x-reverse': 'clientWidth',\n y: 'clientHeight',\n 'y-reverse': 'clientHeight'\n }\n};\n\nfunction createTransition(property, options) {\n var duration = options.duration,\n easeFunction = options.easeFunction,\n delay = options.delay;\n\n return property + ' ' + duration + ' ' + easeFunction + ' ' + delay;\n}\n\n// We are using a 2x2 rotation matrix.\nfunction applyRotationMatrix(touch, axis) {\n var rotationMatrix = axisProperties.rotationMatrix[axis];\n\n return {\n pageX: rotationMatrix.x[0] * touch.pageX + rotationMatrix.x[1] * touch.pageY,\n pageY: rotationMatrix.y[0] * touch.pageX + rotationMatrix.y[1] * touch.pageY\n };\n}\n\nfunction adaptMouse(event) {\n event.touches = [{ pageX: event.pageX, pageY: event.pageY }];\n return event;\n}\n\nfunction getDomTreeShapes(element, rootNode) {\n var domTreeShapes = [];\n\n while (element && element !== rootNode) {\n // We reach a Swipeable View, no need to look higher in the dom tree.\n if (element.hasAttribute('data-swipeable')) {\n break;\n }\n\n var style = window.getComputedStyle(element);\n\n if (\n // Ignore the scroll children if the element is absolute positioned.\n style.getPropertyValue('position') === 'absolute' ||\n // Ignore the scroll children if the element has an overflowX hidden\n style.getPropertyValue('overflow-x') === 'hidden') {\n domTreeShapes = [];\n } else if (element.clientWidth > 0 && element.scrollWidth > element.clientWidth || element.clientHeight > 0 && element.scrollHeight > element.clientHeight) {\n // Ignore the nodes that have no width.\n // Keep elements with a scroll\n domTreeShapes.push({\n element: element,\n scrollWidth: element.scrollWidth,\n scrollHeight: element.scrollHeight,\n clientWidth: element.clientWidth,\n clientHeight: element.clientHeight,\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n });\n }\n\n element = element.parentNode;\n }\n\n return domTreeShapes;\n}\n\n// We can only have one node at the time claiming ownership for handling the swipe.\n// Otherwise, the UX would be confusing.\n// That's why we use a singleton here.\nvar nodeHowClaimedTheScroll = null;\n\nfunction findNativeHandler(params) {\n var domTreeShapes = params.domTreeShapes,\n pageX = params.pageX,\n startX = params.startX,\n axis = params.axis;\n\n return domTreeShapes.some(function (shape) {\n // Determine if we are going backward or forward.\n var goingForward = pageX >= startX;\n if (axis === 'x' || axis === 'y') {\n goingForward = !goingForward;\n }\n\n var scrollPosition = shape[axisProperties.scrollPosition[axis]];\n\n var areNotAtStart = scrollPosition > 0;\n var areNotAtEnd = scrollPosition + shape[axisProperties.clientLength[axis]] < shape[axisProperties.scrollLength[axis]];\n\n if (goingForward && areNotAtEnd || !goingForward && areNotAtStart) {\n nodeHowClaimedTheScroll = shape.element;\n return true;\n }\n\n return false;\n });\n}\n\nvar SwipeableViews = function (_Component) {\n (0, _inherits3.default)(SwipeableViews, _Component);\n\n function SwipeableViews() {\n var _ref;\n\n var _temp, _this, _ret;\n\n (0, _classCallCheck3.default)(this, SwipeableViews);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = SwipeableViews.__proto__ || (0, _getPrototypeOf2.default)(SwipeableViews)).call.apply(_ref, [this].concat(args))), _this), _this.state = {}, _this.rootNode = null, _this.containerNode = null, _this.ignoreNextScrollEvents = false, _this.viewLength = 0, _this.startX = 0, _this.lastX = 0, _this.vx = 0, _this.startY = 0, _this.isSwiping = undefined, _this.started = false, _this.startIndex = 0, _this.transitionListener = null, _this.touchMoveListener = null, _this.activeSlide = null, _this.handleSwipeStart = function (event) {\n var axis = _this.props.axis;\n\n // Latency and rapid rerenders on some devices can leave\n // a period where rootNode briefly equals null.\n\n if (_this.rootNode === null) {\n return;\n }\n\n var touch = applyRotationMatrix(event.touches[0], axis);\n\n _this.viewLength = _this.rootNode.getBoundingClientRect()[axisProperties.length[axis]];\n _this.startX = touch.pageX;\n _this.lastX = touch.pageX;\n _this.vx = 0;\n _this.startY = touch.pageY;\n _this.isSwiping = undefined;\n _this.started = true;\n\n var computedStyle = window.getComputedStyle(_this.containerNode);\n var transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform');\n\n if (transform) {\n var transformValues = transform.split('(')[1].split(')')[0].split(',');\n var rootStyle = window.getComputedStyle(_this.rootNode);\n\n var tranformNormalized = applyRotationMatrix({\n pageX: parseInt(transformValues[4], 10),\n pageY: parseInt(transformValues[5], 10)\n }, axis);\n\n _this.startIndex = -tranformNormalized.pageX / (_this.viewLength - parseInt(rootStyle.paddingLeft, 10) - parseInt(rootStyle.paddingRight, 10));\n }\n }, _this.handleSwipeMove = function (event) {\n // The touch start event can be cancel.\n // Makes sure we set a starting point.\n if (!_this.started) {\n _this.handleTouchStart(event);\n return;\n }\n\n // Latency and rapid rerenders on some devices\n // can leave a period where rootNode briefly equals null.\n if (_this.rootNode === null) {\n return;\n }\n\n // We are not supposed to hanlde this touch move.\n if (nodeHowClaimedTheScroll !== null && nodeHowClaimedTheScroll !== _this.rootNode) {\n return;\n }\n\n var _this$props = _this.props,\n axis = _this$props.axis,\n children = _this$props.children,\n ignoreNativeScroll = _this$props.ignoreNativeScroll,\n onSwitching = _this$props.onSwitching,\n resistance = _this$props.resistance;\n\n var touch = applyRotationMatrix(event.touches[0], axis);\n\n // We don't know yet.\n if (_this.isSwiping === undefined) {\n var dx = Math.abs(_this.startX - touch.pageX);\n var dy = Math.abs(_this.startY - touch.pageY);\n\n var isSwiping = dx > dy && dx > _reactSwipeableViewsCore.constant.UNCERTAINTY_THRESHOLD;\n\n // We are likely to be swiping, let's prevent the scroll event.\n if (dx > dy) {\n event.preventDefault();\n }\n\n if (isSwiping === true || dy > _reactSwipeableViewsCore.constant.UNCERTAINTY_THRESHOLD) {\n _this.isSwiping = isSwiping;\n _this.startX = touch.pageX; // Shift the starting point.\n\n return; // Let's wait the next touch event to move something.\n }\n }\n\n if (_this.isSwiping !== true) {\n return;\n }\n\n // We are swiping, let's prevent the scroll event.\n event.preventDefault();\n\n // Low Pass filter.\n _this.vx = _this.vx * 0.5 + (touch.pageX - _this.lastX) * 0.5;\n _this.lastX = touch.pageX;\n\n var _computeIndex = (0, _reactSwipeableViewsCore.computeIndex)({\n children: children,\n resistance: resistance,\n pageX: touch.pageX,\n startIndex: _this.startIndex,\n startX: _this.startX,\n viewLength: _this.viewLength\n }),\n index = _computeIndex.index,\n startX = _computeIndex.startX;\n\n // Add support for native scroll elements.\n\n\n if (nodeHowClaimedTheScroll === null && !ignoreNativeScroll) {\n var domTreeShapes = getDomTreeShapes(event.target, _this.rootNode);\n var hasFoundNativeHandler = findNativeHandler({\n domTreeShapes: domTreeShapes,\n startX: _this.startX,\n pageX: touch.pageX,\n axis: axis\n });\n\n // We abort the touch move handler.\n if (hasFoundNativeHandler) {\n return;\n }\n }\n\n // We are moving toward the edges.\n if (startX) {\n _this.startX = startX;\n } else if (nodeHowClaimedTheScroll === null) {\n nodeHowClaimedTheScroll = _this.rootNode;\n }\n\n _this.setState({\n displaySameSlide: false,\n isDragging: true,\n indexCurrent: index\n }, function () {\n if (onSwitching) {\n onSwitching(index, 'move');\n }\n });\n }, _this.handleSwipeEnd = function () {\n nodeHowClaimedTheScroll = null;\n\n // The touch start event can be cancel.\n // Makes sure that a starting point is set.\n if (!_this.started) {\n return;\n }\n\n _this.started = false;\n\n if (_this.isSwiping !== true) {\n return;\n }\n\n var indexLatest = _this.state.indexLatest;\n var indexCurrent = _this.state.indexCurrent;\n var delta = indexLatest - indexCurrent;\n\n var indexNew = void 0;\n\n // Quick movement\n if (Math.abs(_this.vx) > _this.props.threshold) {\n if (_this.vx > 0) {\n indexNew = Math.floor(indexCurrent);\n } else {\n indexNew = Math.ceil(indexCurrent);\n }\n } else if (Math.abs(delta) > _this.props.hysteresis) {\n // Some hysteresis with indexLatest.\n indexNew = delta > 0 ? Math.floor(indexCurrent) : Math.ceil(indexCurrent);\n } else {\n indexNew = indexLatest;\n }\n\n var indexMax = _react.Children.count(_this.props.children) - 1;\n\n if (indexNew < 0) {\n indexNew = 0;\n } else if (indexNew > indexMax) {\n indexNew = indexMax;\n }\n\n _this.setState({\n indexCurrent: indexNew,\n indexLatest: indexNew,\n isDragging: false\n }, function () {\n if (_this.props.onSwitching) {\n _this.props.onSwitching(indexNew, 'end');\n }\n\n if (_this.props.onChangeIndex && indexNew !== indexLatest) {\n _this.props.onChangeIndex(indexNew, indexLatest);\n }\n\n // Manually calling handleTransitionEnd in that case as isn't otherwise.\n if (indexCurrent === indexLatest) {\n _this.handleTransitionEnd();\n }\n });\n }, _this.handleTouchStart = function (event) {\n if (_this.props.onTouchStart) {\n _this.props.onTouchStart(event);\n }\n _this.handleSwipeStart(event);\n }, _this.handleTouchEnd = function (event) {\n if (_this.props.onTouchEnd) {\n _this.props.onTouchEnd(event);\n }\n _this.handleSwipeEnd(event);\n }, _this.handleMouseDown = function (event) {\n if (_this.props.onMouseDown) {\n _this.props.onMouseDown(event);\n }\n event.persist();\n _this.handleSwipeStart(adaptMouse(event));\n }, _this.handleMouseUp = function (event) {\n if (_this.props.onMouseUp) {\n _this.props.onMouseUp(event);\n }\n _this.handleSwipeEnd(adaptMouse(event));\n }, _this.handleMouseLeave = function (event) {\n if (_this.props.onMouseLeave) {\n _this.props.onMouseLeave(event);\n }\n\n // Filter out events\n if (_this.started) {\n _this.handleSwipeEnd(adaptMouse(event));\n }\n }, _this.handleMouseMove = function (event) {\n if (_this.props.onMouseMove) {\n _this.props.onMouseMove(event);\n }\n\n // Filter out events\n if (_this.started) {\n _this.handleSwipeMove(adaptMouse(event));\n }\n }, _this.handleScroll = function (event) {\n if (_this.props.onScroll) {\n _this.props.onScroll(event);\n }\n\n // Ignore events bubbling up.\n if (event.target !== _this.rootNode) {\n return;\n }\n\n if (_this.ignoreNextScrollEvents) {\n _this.ignoreNextScrollEvents = false;\n return;\n }\n\n var indexLatest = _this.state.indexLatest;\n var indexNew = Math.ceil(event.target.scrollLeft / event.target.clientWidth) + indexLatest;\n\n _this.ignoreNextScrollEvents = true;\n // Reset the scroll position.\n event.target.scrollLeft = 0;\n\n if (_this.props.onChangeIndex && indexNew !== indexLatest) {\n _this.props.onChangeIndex(indexNew, indexLatest);\n }\n }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);\n }\n // Added as an ads.\n\n\n (0, _createClass3.default)(SwipeableViews, [{\n key: 'getChildContext',\n value: function getChildContext() {\n var _this2 = this;\n\n return {\n swipeableViews: {\n slideUpdateHeight: function slideUpdateHeight() {\n _this2.updateHeight();\n }\n }\n };\n }\n }, {\n key: 'componentWillMount',\n value: function componentWillMount() {\n if (process.env.NODE_ENV !== 'production') {\n (0, _reactSwipeableViewsCore.checkIndexBounds)(this.props);\n }\n\n this.setState({\n indexCurrent: this.props.index,\n indexLatest: this.props.index,\n isDragging: false,\n isFirstRender: !this.props.disableLazyLoading,\n heightLatest: 0\n });\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this3 = this;\n\n // Subscribe to transition end events.\n this.transitionListener = addEventListenerEnhanced(this.containerNode, _properties2.default.end, function (event) {\n if (event.target !== _this3.containerNode) {\n return;\n }\n\n _this3.handleTransitionEnd();\n });\n\n // Block the thread to handle that event.\n this.touchMoveListener = addEventListenerEnhanced(this.rootNode, 'touchmove', function (event) {\n // Handling touch events is disabled.\n if (_this3.props.disabled) {\n return;\n }\n _this3.handleSwipeMove(event);\n }, {\n passive: false\n });\n\n /* eslint-disable react/no-did-mount-set-state */\n this.setState({\n isFirstRender: false\n });\n /* eslint-enable react/no-did-mount-set-state */\n\n injectStyle();\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var index = nextProps.index;\n\n if (typeof index === 'number' && index !== this.props.index) {\n if (process.env.NODE_ENV !== 'production') {\n (0, _reactSwipeableViewsCore.checkIndexBounds)(nextProps);\n }\n\n this.setState({\n // If true, we are going to change the children. We shoudn't animate it.\n displaySameSlide: (0, _reactSwipeableViewsCore.getDisplaySameSlide)(this.props, nextProps),\n indexCurrent: index,\n indexLatest: index\n });\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (!this.props.animateTransitions && prevState.indexCurrent !== this.state.indexCurrent) {\n this.handleTransitionEnd();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.transitionListener.remove();\n this.touchMoveListener.remove();\n }\n }, {\n key: 'handleTransitionEnd',\n value: function handleTransitionEnd() {\n if (!this.props.onTransitionEnd) {\n return;\n }\n\n // Filters out when changing the children\n if (this.state.displaySameSlide) {\n return;\n }\n\n // The rest callback is triggered when swiping. It's just noise.\n // We filter it out.\n if (!this.state.isDragging) {\n this.props.onTransitionEnd();\n }\n }\n }, {\n key: 'updateHeight',\n value: function updateHeight() {\n if (this.activeSlide !== null) {\n var child = this.activeSlide.children[0];\n if (child !== undefined && child.offsetHeight !== undefined && this.state.heightLatest !== child.offsetHeight) {\n this.setState({\n heightLatest: child.offsetHeight\n });\n }\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var _props = this.props,\n animateHeight = _props.animateHeight,\n animateTransitions = _props.animateTransitions,\n axis = _props.axis,\n children = _props.children,\n containerStyleProp = _props.containerStyle,\n disabled = _props.disabled,\n disableLazyLoading = _props.disableLazyLoading,\n enableMouseEvents = _props.enableMouseEvents,\n hysteresis = _props.hysteresis,\n ignoreNativeScroll = _props.ignoreNativeScroll,\n index = _props.index,\n onChangeIndex = _props.onChangeIndex,\n onSwitching = _props.onSwitching,\n onTransitionEnd = _props.onTransitionEnd,\n resistance = _props.resistance,\n slideStyleProp = _props.slideStyle,\n slideClassName = _props.slideClassName,\n springConfig = _props.springConfig,\n style = _props.style,\n threshold = _props.threshold,\n other = (0, _objectWithoutProperties3.default)(_props, ['animateHeight', 'animateTransitions', 'axis', 'children', 'containerStyle', 'disabled', 'disableLazyLoading', 'enableMouseEvents', 'hysteresis', 'ignoreNativeScroll', 'index', 'onChangeIndex', 'onSwitching', 'onTransitionEnd', 'resistance', 'slideStyle', 'slideClassName', 'springConfig', 'style', 'threshold']);\n var _state = this.state,\n displaySameSlide = _state.displaySameSlide,\n heightLatest = _state.heightLatest,\n indexCurrent = _state.indexCurrent,\n isDragging = _state.isDragging,\n isFirstRender = _state.isFirstRender;\n\n var touchEvents = !disabled ? {\n onTouchStart: this.handleTouchStart,\n onTouchEnd: this.handleTouchEnd\n } : {};\n\n var mouseEvents = !disabled && enableMouseEvents ? {\n onMouseDown: this.handleMouseDown,\n onMouseUp: this.handleMouseUp,\n onMouseLeave: this.handleMouseLeave,\n onMouseMove: this.handleMouseMove\n } : {};\n\n // There is no point to animate if we are already providing a height.\n process.env.NODE_ENV !== \"production\" ? (0, _warning2.default)(!animateHeight || !containerStyleProp || !containerStyleProp.height, 'react-swipeable-view: You are setting animateHeight to true but you are\\nalso providing a custom height.\\nThe custom height has a higher priority than the animateHeight property.\\nSo animateHeight is most likely having no effect at all.') : void 0;\n\n var slideStyle = (0, _assign2.default)({}, styles.slide, slideStyleProp);\n\n var transition = void 0;\n var WebkitTransition = void 0;\n\n if (isDragging || !animateTransitions || displaySameSlide) {\n transition = 'all 0s ease 0s';\n WebkitTransition = 'all 0s ease 0s';\n } else {\n transition = createTransition('transform', springConfig);\n WebkitTransition = createTransition('-webkit-transform', springConfig);\n\n if (heightLatest !== 0) {\n var additionalTranstion = ', ' + createTransition('height', springConfig);\n transition += additionalTranstion;\n WebkitTransition += additionalTranstion;\n }\n }\n\n var transform = axisProperties.transform[axis](indexCurrent * 100);\n var containerStyle = {\n WebkitTransform: transform,\n transform: transform,\n height: null,\n WebkitFlexDirection: axisProperties.flexDirection[axis],\n flexDirection: axisProperties.flexDirection[axis],\n WebkitTransition: WebkitTransition,\n transition: transition\n };\n\n if (animateHeight) {\n containerStyle.height = heightLatest;\n }\n\n return _react2.default.createElement('div', (0, _extends3.default)({\n ref: function ref(node) {\n _this4.rootNode = node;\n },\n style: (0, _assign2.default)({}, axisProperties.root[axis], style)\n }, other, touchEvents, mouseEvents, {\n onScroll: this.handleScroll\n }), _react2.default.createElement('div', {\n ref: function ref(node) {\n _this4.containerNode = node;\n },\n style: (0, _assign2.default)({}, containerStyle, styles.container, containerStyleProp),\n className: 'react-swipeable-view-container'\n }, _react.Children.map(children, function (child, indexChild) {\n if (isFirstRender && indexChild > 0) {\n return null;\n }\n\n process.env.NODE_ENV !== \"production\" ? (0, _warning2.default)((0, _react.isValidElement)(child), 'react-swipeable-view: one of the children provided is invalid: ' + child + '.\\nWe are expecting a valid React Element') : void 0;\n\n var ref = void 0;\n var hidden = true;\n\n if (indexChild === _this4.state.indexLatest) {\n hidden = false;\n\n if (animateHeight) {\n ref = function ref(node) {\n _this4.activeSlide = node;\n _this4.updateHeight();\n };\n slideStyle.overflowY = 'hidden';\n }\n }\n\n return _react2.default.createElement('div', {\n ref: ref,\n style: slideStyle,\n className: slideClassName,\n 'aria-hidden': hidden,\n 'data-swipeable': 'true'\n }, child);\n })));\n }\n }]);\n return SwipeableViews;\n}(_react.Component);\n\nSwipeableViews.displayName = 'ReactSwipableView';\nSwipeableViews.defaultProps = {\n animateHeight: false,\n animateTransitions: true,\n axis: 'x',\n disabled: false,\n disableLazyLoading: false,\n enableMouseEvents: false,\n hysteresis: 0.6,\n ignoreNativeScroll: false,\n index: 0,\n threshold: 5,\n springConfig: {\n duration: '0.35s',\n easeFunction: 'cubic-bezier(0.15, 0.3, 0.25, 1)',\n delay: '0s'\n },\n resistance: false\n};\nSwipeableViews.childContextTypes = {\n swipeableViews: _propTypes2.default.shape({\n slideUpdateHeight: _propTypes2.default.func\n })\n};\nSwipeableViews.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * If `true`, the height of the container will be animated to match the current slide height.\n * Animating another style property has a negative impact regarding performance.\n */\n animateHeight: _propTypes2.default.bool,\n /**\n * If `false`, changes to the index prop will not cause an animated transition.\n */\n animateTransitions: _propTypes2.default.bool,\n /**\n * The axis on which the slides will slide.\n */\n axis: _propTypes2.default.oneOf(['x', 'x-reverse', 'y', 'y-reverse']),\n /**\n * Use this property to provide your slides.\n */\n children: _propTypes2.default.node.isRequired,\n /**\n * This is the inlined style that will be applied\n * to each slide container.\n */\n containerStyle: _propTypes2.default.object,\n /**\n * If `true`, it will disable touch events.\n * This is useful when you want to prohibit the user from changing slides.\n */\n disabled: _propTypes2.default.bool,\n /**\n * This is the config used to disable lazyloding,\n * if `true` will render all the views in first rendering.\n */\n disableLazyLoading: _propTypes2.default.bool,\n /**\n * If `true`, it will enable mouse events.\n * This will allow the user to perform the relevant swipe actions with a mouse.\n */\n enableMouseEvents: _propTypes2.default.bool,\n /**\n * Configure hysteresis between slides. This value determines how far\n * should user swipe to switch slide.\n */\n hysteresis: _propTypes2.default.number,\n /**\n * If `true`, it will ignore native scroll container.\n * It can be used to filter out false positive that blocks the swipe.\n */\n ignoreNativeScroll: _propTypes2.default.bool,\n /**\n * This is the index of the slide to show.\n * This is useful when you want to change the default slide shown.\n * Or when you have tabs linked to each slide.\n */\n index: _propTypes2.default.number,\n /**\n * This is callback prop. It's call by the\n * component when the shown slide change after a swipe made by the user.\n * This is useful when you have tabs linked to each slide.\n *\n * @param {integer} index This is the current index of the slide.\n * @param {integer} indexLatest This is the oldest index of the slide.\n */\n onChangeIndex: _propTypes2.default.func,\n /**\n * @ignore\n */\n onMouseDown: _propTypes2.default.func,\n /**\n * @ignore\n */\n onMouseLeave: _propTypes2.default.func,\n /**\n * @ignore\n */\n onMouseMove: _propTypes2.default.func,\n /**\n * @ignore\n */\n onMouseUp: _propTypes2.default.func,\n /**\n * @ignore\n */\n onScroll: _propTypes2.default.func,\n /**\n * This is callback prop. It's called by the\n * component when the slide switching.\n * This is useful when you want to implement something corresponding\n * to the current slide position.\n *\n * @param {integer} index This is the current index of the slide.\n * @param {string} type Can be either `move` or `end`.\n */\n onSwitching: _propTypes2.default.func,\n /**\n * @ignore\n */\n onTouchEnd: _propTypes2.default.func,\n /**\n * @ignore\n */\n onTouchMove: _propTypes2.default.func,\n /**\n * @ignore\n */\n onTouchStart: _propTypes2.default.func,\n /**\n * The callback that fires when the animation comes to a rest.\n * This is useful to defer CPU intensive task.\n */\n onTransitionEnd: _propTypes2.default.func,\n /**\n * If `true`, it will add bounds effect on the edges.\n */\n resistance: _propTypes2.default.bool,\n /**\n * This is the className that will be applied\n * on the slide component.\n */\n slideClassName: _propTypes2.default.string,\n /**\n * This is the inlined style that will be applied\n * on the slide component.\n */\n slideStyle: _propTypes2.default.object,\n /**\n * This is the config used to create CSS transitions.\n * This is useful to change the dynamic of the transition.\n */\n springConfig: _propTypes2.default.shape({\n duration: _propTypes2.default.string,\n easeFunction: _propTypes2.default.string,\n delay: _propTypes2.default.string\n }),\n /**\n * This is the inlined style that will be applied\n * on the root component.\n */\n style: _propTypes2.default.object,\n /**\n * This is the threshold used for detecting a quick swipe.\n * If the computed speed is above this value, the index change.\n */\n threshold: _propTypes2.default.number\n} : {};\nexports.default = SwipeableViews;" + }, + { + "id": 610, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/get-prototype-of.js", + "name": "./node_modules/babel-runtime/core-js/object/get-prototype-of.js", + "index": 740, + "index2": 731, + "size": 104, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "issuerId": 609, + "issuerName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "babel-runtime/core-js/object/get-prototype-of", + "loc": "19:22-78" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };" + }, + { + "id": 611, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/get-prototype-of.js", + "name": "./node_modules/core-js/library/fn/object/get-prototype-of.js", + "index": 741, + "index2": 730, + "size": 124, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/get-prototype-of.js", + "issuerId": 610, + "issuerName": "./node_modules/babel-runtime/core-js/object/get-prototype-of.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 610, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/get-prototype-of.js", + "module": "./node_modules/babel-runtime/core-js/object/get-prototype-of.js", + "moduleName": "./node_modules/babel-runtime/core-js/object/get-prototype-of.js", + "type": "cjs require", + "userRequest": "core-js/library/fn/object/get-prototype-of", + "loc": "1:30-83" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;" + }, + { + "id": 612, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "name": "./node_modules/core-js/library/modules/es6.object.get-prototype-of.js", + "index": 742, + "index2": 729, + "size": 272, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/get-prototype-of.js", + "issuerId": 611, + "issuerName": "./node_modules/core-js/library/fn/object/get-prototype-of.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 611, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/get-prototype-of.js", + "module": "./node_modules/core-js/library/fn/object/get-prototype-of.js", + "moduleName": "./node_modules/core-js/library/fn/object/get-prototype-of.js", + "type": "cjs require", + "userRequest": "../../modules/es6.object.get-prototype-of", + "loc": "1:0-52" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});" + }, + { + "id": 613, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/define-property.js", + "name": "./node_modules/babel-runtime/core-js/object/define-property.js", + "index": 744, + "index2": 734, + "size": 103, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/createClass.js", + "issuerId": 247, + "issuerName": "./node_modules/babel-runtime/helpers/createClass.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 247, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/helpers/createClass.js", + "module": "./node_modules/babel-runtime/helpers/createClass.js", + "moduleName": "./node_modules/babel-runtime/helpers/createClass.js", + "type": "cjs require", + "userRequest": "../core-js/object/define-property", + "loc": "5:22-66" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };" + }, + { + "id": 614, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/define-property.js", + "name": "./node_modules/core-js/library/fn/object/define-property.js", + "index": 745, + "index2": 733, + "size": 214, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/define-property.js", + "issuerId": 613, + "issuerName": "./node_modules/babel-runtime/core-js/object/define-property.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 613, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/babel-runtime/core-js/object/define-property.js", + "module": "./node_modules/babel-runtime/core-js/object/define-property.js", + "moduleName": "./node_modules/babel-runtime/core-js/object/define-property.js", + "type": "cjs require", + "userRequest": "core-js/library/fn/object/define-property", + "loc": "1:30-82" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};" + }, + { + "id": 615, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/modules/es6.object.define-property.js", + "name": "./node_modules/core-js/library/modules/es6.object.define-property.js", + "index": 746, + "index2": 732, + "size": 216, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/define-property.js", + "issuerId": 614, + "issuerName": "./node_modules/core-js/library/fn/object/define-property.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 614, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/core-js/library/fn/object/define-property.js", + "module": "./node_modules/core-js/library/fn/object/define-property.js", + "moduleName": "./node_modules/core-js/library/fn/object/define-property.js", + "type": "cjs require", + "userRequest": "../../modules/es6.object.define-property", + "loc": "1:0-51" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 10, + "source": "var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });" + }, + { + "id": 616, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "name": "./node_modules/react-swipeable-views-core/lib/index.js", + "index": 747, + "index2": 741, + "size": 1210, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "issuerId": 609, + "issuerName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 609, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views/lib/SwipeableViews.js", + "module": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "moduleName": "./node_modules/react-swipeable-views/lib/SwipeableViews.js", + "type": "cjs require", + "userRequest": "react-swipeable-views-core", + "loc": "66:31-68" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 8, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _checkIndexBounds = require('./checkIndexBounds');\n\nObject.defineProperty(exports, 'checkIndexBounds', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_checkIndexBounds).default;\n }\n});\n\nvar _computeIndex = require('./computeIndex');\n\nObject.defineProperty(exports, 'computeIndex', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_computeIndex).default;\n }\n});\n\nvar _constant = require('./constant');\n\nObject.defineProperty(exports, 'constant', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_constant).default;\n }\n});\n\nvar _getDisplaySameSlide = require('./getDisplaySameSlide');\n\nObject.defineProperty(exports, 'getDisplaySameSlide', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_getDisplaySameSlide).default;\n }\n});\n\nvar _mod = require('./mod');\n\nObject.defineProperty(exports, 'mod', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_mod).default;\n }\n});\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}" + }, + { + "id": 617, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/checkIndexBounds.js", + "name": "./node_modules/react-swipeable-views-core/lib/checkIndexBounds.js", + "index": 748, + "index2": 736, + "size": 786, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "issuerId": 616, + "issuerName": "./node_modules/react-swipeable-views-core/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 616, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "module": "./node_modules/react-swipeable-views-core/lib/index.js", + "moduleName": "./node_modules/react-swipeable-views-core/lib/index.js", + "type": "cjs require", + "userRequest": "./checkIndexBounds", + "loc": "7:24-53" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n/* eslint-disable flowtype/require-valid-file-annotation */\n\nvar checkIndexBounds = function checkIndexBounds(props) {\n var index = props.index,\n children = props.children;\n\n var childrenCount = _react.Children.count(children);\n\n process.env.NODE_ENV !== \"production\" ? (0, _warning2.default)(index >= 0 && index <= childrenCount, 'react-swipeable-view: the new index: ' + index + ' is out of bounds: [0-' + childrenCount + '].') : void 0;\n};\n\nexports.default = checkIndexBounds;" + }, + { + "id": 618, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/computeIndex.js", + "name": "./node_modules/react-swipeable-views-core/lib/computeIndex.js", + "index": 749, + "index2": 738, + "size": 1288, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "issuerId": 616, + "issuerName": "./node_modules/react-swipeable-views-core/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 616, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "module": "./node_modules/react-swipeable-views-core/lib/index.js", + "moduleName": "./node_modules/react-swipeable-views-core/lib/index.js", + "type": "cjs require", + "userRequest": "./computeIndex", + "loc": "16:20-45" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = computeIndex;\n\nvar _react = require('react');\n\nvar _constant = require('./constant');\n\nvar _constant2 = _interopRequireDefault(_constant);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n// weak\n\nfunction computeIndex(params) {\n var children = params.children,\n startIndex = params.startIndex,\n startX = params.startX,\n pageX = params.pageX,\n viewLength = params.viewLength,\n resistance = params.resistance;\n\n var indexMax = _react.Children.count(children) - 1;\n var index = startIndex + (startX - pageX) / viewLength;\n var newStartX = void 0;\n\n if (!resistance) {\n // Reset the starting point\n if (index < 0) {\n index = 0;\n newStartX = (index - startIndex) * viewLength + pageX;\n } else if (index > indexMax) {\n index = indexMax;\n newStartX = (index - startIndex) * viewLength + pageX;\n }\n } else if (index < 0) {\n index = Math.exp(index * _constant2.default.RESISTANCE_COEF) - 1;\n } else if (index > indexMax) {\n index = indexMax + 1 - Math.exp((indexMax - index) * _constant2.default.RESISTANCE_COEF);\n }\n\n return {\n index: index,\n startX: newStartX\n };\n}" + }, + { + "id": 619, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/getDisplaySameSlide.js", + "name": "./node_modules/react-swipeable-views-core/lib/getDisplaySameSlide.js", + "index": 751, + "index2": 739, + "size": 669, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "issuerId": 616, + "issuerName": "./node_modules/react-swipeable-views-core/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 616, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "module": "./node_modules/react-swipeable-views-core/lib/index.js", + "moduleName": "./node_modules/react-swipeable-views-core/lib/index.js", + "type": "cjs require", + "userRequest": "./getDisplaySameSlide", + "loc": "34:27-59" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// weak\n\nvar getDisplaySameSlide = function getDisplaySameSlide(props, nextProps) {\n var displaySameSlide = false;\n\n if (props.children.length && nextProps.children.length) {\n var oldChildren = props.children[props.index];\n var oldKey = oldChildren ? oldChildren.key : 'empty';\n\n if (oldKey !== null) {\n var newChildren = nextProps.children[nextProps.index];\n var newKey = newChildren ? newChildren.key : 'empty';\n\n if (oldKey === newKey) {\n displaySameSlide = true;\n }\n }\n }\n\n return displaySameSlide;\n};\n\nexports.default = getDisplaySameSlide;" + }, + { + "id": 620, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/mod.js", + "name": "./node_modules/react-swipeable-views-core/lib/mod.js", + "index": 752, + "index2": 740, + "size": 232, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "issuerId": 616, + "issuerName": "./node_modules/react-swipeable-views-core/lib/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 616, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-swipeable-views-core/lib/index.js", + "module": "./node_modules/react-swipeable-views-core/lib/index.js", + "moduleName": "./node_modules/react-swipeable-views-core/lib/index.js", + "type": "cjs require", + "userRequest": "./mod", + "loc": "43:11-27" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 9, + "source": "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* eslint-disable flowtype/require-valid-file-annotation */\n\nfunction mod(n, m) {\n var q = n % m;\n return q < 0 ? q + m : q;\n}\n\nexports.default = mod;" + }, + { + "id": 628, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/index.js", + "name": "./node_modules/react-notification/dist/index.js", + "index": 769, + "index2": 767, + "size": 614, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/notifications_container.js", + "issuerId": 251, + "issuerName": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 251, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/notifications_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/notifications_container.js", + "type": "harmony import", + "userRequest": "react-notification", + "loc": "2:0-55" + } + ], + "usedExports": [ + "NotificationStack" + ], + "providedExports": null, + "optimizationBailout": [], + "depth": 4, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _notification = require('./notification');\n\nObject.defineProperty(exports, 'Notification', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_notification).default;\n }\n});\n\nvar _notificationStack = require('./notificationStack');\n\nObject.defineProperty(exports, 'NotificationStack', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_notificationStack).default;\n }\n});\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}" + }, + { + "id": 629, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/notificationStack.js", + "name": "./node_modules/react-notification/dist/notificationStack.js", + "index": 772, + "index2": 766, + "size": 3466, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/index.js", + "issuerId": 628, + "issuerName": "./node_modules/react-notification/dist/index.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 628, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/index.js", + "module": "./node_modules/react-notification/dist/index.js", + "moduleName": "./node_modules/react-notification/dist/index.js", + "type": "cjs require", + "userRequest": "./notificationStack", + "loc": "16:25-55" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 5, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n}; /* eslint-disable react/jsx-no-bind */\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _stackedNotification = require('./stackedNotification');\n\nvar _stackedNotification2 = _interopRequireDefault(_stackedNotification);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction defaultBarStyleFactory(index, style) {\n return _extends({}, style, { bottom: 2 + index * 4 + 'rem' });\n}\n\nfunction defaultActionStyleFactory(index, style) {\n return _extends({}, style, {});\n}\n\n/**\n* The notification list does not have any state, so use a\n* pure function here. It just needs to return the stacked array\n* of notification components.\n*/\nvar NotificationStack = function NotificationStack(props) {\n return _react2.default.createElement('div', { className: 'notification-list' }, props.notifications.map(function (notification, index) {\n var isLast = index === 0 && props.notifications.length === 1;\n var dismissNow = isLast || !props.dismissInOrder;\n\n // Handle styles\n var barStyle = props.barStyleFactory(index, notification.barStyle, notification);\n var actionStyle = props.actionStyleFactory(index, notification.actionStyle, notification);\n var activeBarStyle = props.activeBarStyleFactory(index, notification.activeBarStyle, notification);\n\n // Allow onClick from notification stack or individual notifications\n var onClick = notification.onClick || props.onClick;\n var onDismiss = props.onDismiss;\n\n var dismissAfter = notification.dismissAfter;\n\n if (dismissAfter !== false) {\n if (dismissAfter == null) dismissAfter = props.dismissAfter;\n if (!dismissNow) dismissAfter += index * 1000;\n }\n\n return _react2.default.createElement(_stackedNotification2.default, _extends({}, notification, {\n key: notification.key,\n isLast: isLast,\n action: notification.action || props.action,\n dismissAfter: dismissAfter,\n onDismiss: onDismiss.bind(undefined, notification),\n onClick: onClick.bind(undefined, notification),\n activeBarStyle: activeBarStyle,\n barStyle: barStyle,\n actionStyle: actionStyle\n }));\n }));\n};\n\n/* eslint-disable react/no-unused-prop-types, react/forbid-prop-types */\nNotificationStack.propTypes = {\n activeBarStyleFactory: _propTypes2.default.func,\n barStyleFactory: _propTypes2.default.func,\n actionStyleFactory: _propTypes2.default.func,\n dismissInOrder: _propTypes2.default.bool,\n notifications: _propTypes2.default.array.isRequired,\n onDismiss: _propTypes2.default.func.isRequired,\n onClick: _propTypes2.default.func,\n action: _propTypes2.default.string\n};\n\nNotificationStack.defaultProps = {\n activeBarStyleFactory: defaultBarStyleFactory,\n barStyleFactory: defaultBarStyleFactory,\n actionStyleFactory: defaultActionStyleFactory,\n dismissInOrder: true,\n dismissAfter: 1000,\n onClick: function onClick() {}\n};\n/* eslint-enable no-alert, no-console */\n\nexports.default = NotificationStack;" + }, + { + "id": 630, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/stackedNotification.js", + "name": "./node_modules/react-notification/dist/stackedNotification.js", + "index": 773, + "index2": 765, + "size": 4548, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/notificationStack.js", + "issuerId": 629, + "issuerName": "./node_modules/react-notification/dist/notificationStack.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 629, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/react-notification/dist/notificationStack.js", + "module": "./node_modules/react-notification/dist/notificationStack.js", + "moduleName": "./node_modules/react-notification/dist/notificationStack.js", + "type": "cjs require", + "userRequest": "./stackedNotification", + "loc": "25:27-59" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 6, + "source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _defaultPropTypes = require('./defaultPropTypes');\n\nvar _defaultPropTypes2 = _interopRequireDefault(_defaultPropTypes);\n\nvar _notification = require('./notification');\n\nvar _notification2 = _interopRequireDefault(_notification);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: 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 _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar StackedNotification = function (_Component) {\n _inherits(StackedNotification, _Component);\n\n function StackedNotification(props) {\n _classCallCheck(this, StackedNotification);\n\n var _this = _possibleConstructorReturn(this, (StackedNotification.__proto__ || Object.getPrototypeOf(StackedNotification)).call(this, props));\n\n _this.state = {\n isActive: false\n };\n\n _this.handleClick = _this.handleClick.bind(_this);\n return _this;\n }\n\n _createClass(StackedNotification, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.activeTimeout = setTimeout(this.setState.bind(this, {\n isActive: true\n }), 1);\n\n this.dismiss(this.props.dismissAfter);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.dismissAfter !== this.props.dismissAfter) {\n this.dismiss(nextProps.dismissAfter);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this.activeTimeout);\n clearTimeout(this.dismissTimeout);\n }\n }, {\n key: 'dismiss',\n value: function dismiss(dismissAfter) {\n if (dismissAfter === false) return;\n\n this.dismissTimeout = setTimeout(this.setState.bind(this, {\n isActive: false\n }), dismissAfter);\n }\n\n /*\n * @function handleClick\n * @description Bind deactivate Notification function to Notification click handler\n */\n\n }, {\n key: 'handleClick',\n value: function handleClick() {\n if (this.props.onClick && typeof this.props.onClick === 'function') {\n return this.props.onClick(this.setState.bind(this, { isActive: false }));\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n return _react2.default.createElement(_notification2.default, _extends({}, this.props, {\n onClick: this.handleClick,\n onDismiss: function onDismiss() {\n return setTimeout(_this2.props.onDismiss, 300);\n },\n isActive: this.state.isActive\n }));\n }\n }]);\n\n return StackedNotification;\n}(_react.Component);\n\nStackedNotification.propTypes = _defaultPropTypes2.default;\n\nexports.default = StackedNotification;" + }, + { + "id": 631, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "name": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "index": 777, + "index2": 782, + "size": 5215, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/modal_container.js", + "issuerId": 256, + "issuerName": "./app/javascript/mastodon/features/ui/containers/modal_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 256, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/modal_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/modal_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/modal_container.js", + "type": "harmony import", + "userRequest": "../components/modal_root", + "loc": "3:0-49" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 4, + "source": "import _extends from 'babel-runtime/helpers/extends';\nimport _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport BundleContainer from '../containers/bundle_container';\nimport BundleModalError from './bundle_modal_error';\nimport ModalLoading from './modal_loading';\nimport ActionsModal from './actions_modal';\nimport MediaModal from './media_modal';\nimport VideoModal from './video_modal';\nimport BoostModal from './boost_modal';\nimport ConfirmationModal from './confirmation_modal';\nimport { OnboardingModal, ReportModal, EmbedModal } from '../../../features/ui/util/async-components';\n\nvar MODAL_COMPONENTS = {\n 'MEDIA': function MEDIA() {\n return Promise.resolve({ default: MediaModal });\n },\n 'ONBOARDING': OnboardingModal,\n 'VIDEO': function VIDEO() {\n return Promise.resolve({ default: VideoModal });\n },\n 'BOOST': function BOOST() {\n return Promise.resolve({ default: BoostModal });\n },\n 'CONFIRM': function CONFIRM() {\n return Promise.resolve({ default: ConfirmationModal });\n },\n 'REPORT': ReportModal,\n 'ACTIONS': function ACTIONS() {\n return Promise.resolve({ default: ActionsModal });\n },\n 'EMBED': EmbedModal\n};\n\nvar ModalRoot = function (_React$PureComponent) {\n _inherits(ModalRoot, _React$PureComponent);\n\n function ModalRoot() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ModalRoot);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n revealed: false\n }, _this.handleKeyUp = function (e) {\n if ((e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27) && !!_this.props.type) {\n _this.props.onClose();\n }\n }, _this.getSiblings = function () {\n return Array.apply(undefined, _this.node.parentElement.childNodes).filter(function (node) {\n return node !== _this.node;\n });\n }, _this.setRef = function (ref) {\n _this.node = ref;\n }, _this.renderLoading = function (modalId) {\n return function () {\n return ['MEDIA', 'VIDEO', 'BOOST', 'CONFIRM', 'ACTIONS'].indexOf(modalId) === -1 ? _jsx(ModalLoading, {}) : null;\n };\n }, _this.renderError = function (props) {\n var onClose = _this.props.onClose;\n\n\n return React.createElement(BundleModalError, _extends({}, props, { onClose: onClose }));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ModalRoot.prototype.componentDidMount = function componentDidMount() {\n window.addEventListener('keyup', this.handleKeyUp, false);\n };\n\n ModalRoot.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!!nextProps.type && !this.props.type) {\n this.activeElement = document.activeElement;\n\n this.getSiblings().forEach(function (sibling) {\n return sibling.setAttribute('inert', true);\n });\n } else if (!nextProps.type) {\n this.setState({ revealed: false });\n }\n };\n\n ModalRoot.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n if (!this.props.type && !!prevProps.type) {\n this.getSiblings().forEach(function (sibling) {\n return sibling.removeAttribute('inert');\n });\n this.activeElement.focus();\n this.activeElement = null;\n }\n if (this.props.type) {\n requestAnimationFrame(function () {\n _this2.setState({ revealed: true });\n });\n }\n };\n\n ModalRoot.prototype.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener('keyup', this.handleKeyUp);\n };\n\n ModalRoot.prototype.render = function render() {\n var _props = this.props,\n type = _props.type,\n props = _props.props,\n onClose = _props.onClose;\n var revealed = this.state.revealed;\n\n var visible = !!type;\n\n if (!visible) {\n return React.createElement('div', { className: 'modal-root', ref: this.setRef, style: { opacity: 0 } });\n }\n\n return React.createElement(\n 'div',\n { className: 'modal-root', ref: this.setRef, style: { opacity: revealed ? 1 : 0 } },\n _jsx('div', {\n style: { pointerEvents: visible ? 'auto' : 'none' }\n }, void 0, _jsx('div', {\n role: 'presentation',\n className: 'modal-root__overlay',\n onClick: onClose\n }), _jsx('div', {\n role: 'dialog',\n className: 'modal-root__container'\n }, void 0, visible ? _jsx(BundleContainer, {\n fetchComponent: MODAL_COMPONENTS[type],\n loading: this.renderLoading(type),\n error: this.renderError,\n renderDelay: 200\n }, void 0, function (SpecificComponent) {\n return React.createElement(SpecificComponent, _extends({}, props, { onClose: onClose }));\n }) : null))\n );\n };\n\n return ModalRoot;\n}(React.PureComponent);\n\nexport { ModalRoot as default };" + }, + { + "id": 632, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/actions/bundles.js", + "name": "./app/javascript/mastodon/actions/bundles.js", + "index": 779, + "index2": 771, + "size": 576, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/bundle_container.js", + "issuerId": 147, + "issuerName": "./app/javascript/mastodon/features/ui/containers/bundle_container.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 147, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/containers/bundle_container.js", + "module": "./app/javascript/mastodon/features/ui/containers/bundle_container.js", + "moduleName": "./app/javascript/mastodon/features/ui/containers/bundle_container.js", + "type": "harmony import", + "userRequest": "../../../actions/bundles", + "loc": "5:0-99" + } + ], + "usedExports": [ + "fetchBundleFail", + "fetchBundleRequest", + "fetchBundleSuccess" + ], + "providedExports": [ + "BUNDLE_FETCH_REQUEST", + "BUNDLE_FETCH_SUCCESS", + "BUNDLE_FETCH_FAIL", + "fetchBundleRequest", + "fetchBundleSuccess", + "fetchBundleFail" + ], + "optimizationBailout": [], + "depth": 6, + "source": "export var BUNDLE_FETCH_REQUEST = 'BUNDLE_FETCH_REQUEST';\nexport var BUNDLE_FETCH_SUCCESS = 'BUNDLE_FETCH_SUCCESS';\nexport var BUNDLE_FETCH_FAIL = 'BUNDLE_FETCH_FAIL';\n\nexport function fetchBundleRequest(skipLoading) {\n return {\n type: BUNDLE_FETCH_REQUEST,\n skipLoading: skipLoading\n };\n}\n\nexport function fetchBundleSuccess(skipLoading) {\n return {\n type: BUNDLE_FETCH_SUCCESS,\n skipLoading: skipLoading\n };\n}\n\nexport function fetchBundleFail(error, skipLoading) {\n return {\n type: BUNDLE_FETCH_FAIL,\n error: error,\n skipLoading: skipLoading\n };\n}" + }, + { + "id": 633, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "name": "./app/javascript/mastodon/features/ui/components/bundle_modal_error.js", + "index": 780, + "index2": 773, + "size": 2303, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "issuerId": 631, + "issuerName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "./bundle_modal_error", + "loc": "9:0-52" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nimport { defineMessages, injectIntl } from 'react-intl';\n\nimport IconButton from '../../../components/icon_button';\n\nvar messages = defineMessages({\n error: {\n 'id': 'bundle_modal_error.message',\n 'defaultMessage': 'Something went wrong while loading this component.'\n },\n retry: {\n 'id': 'bundle_modal_error.retry',\n 'defaultMessage': 'Try again'\n },\n close: {\n 'id': 'bundle_modal_error.close',\n 'defaultMessage': 'Close'\n }\n});\n\nvar BundleModalError = function (_React$Component) {\n _inherits(BundleModalError, _React$Component);\n\n function BundleModalError() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, BundleModalError);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleRetry = function () {\n _this.props.onRetry();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n BundleModalError.prototype.render = function render() {\n var _props = this.props,\n onClose = _props.onClose,\n formatMessage = _props.intl.formatMessage;\n\n // Keep the markup in sync with \n // (make sure they have the same dimensions)\n\n return _jsx('div', {\n className: 'modal-root__modal error-modal'\n }, void 0, _jsx('div', {\n className: 'error-modal__body'\n }, void 0, _jsx(IconButton, {\n title: formatMessage(messages.retry),\n icon: 'refresh',\n onClick: this.handleRetry,\n size: 64\n }), formatMessage(messages.error)), _jsx('div', {\n className: 'error-modal__footer'\n }, void 0, _jsx('div', {}, void 0, _jsx('button', {\n onClick: onClose,\n className: 'error-modal__nav onboarding-modal__skip'\n }, void 0, formatMessage(messages.close)))));\n };\n\n return BundleModalError;\n}(React.Component);\n\nexport default injectIntl(BundleModalError);" + }, + { + "id": 634, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_loading.js", + "name": "./app/javascript/mastodon/features/ui/components/modal_loading.js", + "index": 781, + "index2": 774, + "size": 665, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "issuerId": 631, + "issuerName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "./modal_loading", + "loc": "10:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport React from 'react';\n\nimport LoadingIndicator from '../../../components/loading_indicator';\n\n// Keep the markup in sync with \n// (make sure they have the same dimensions)\nvar ModalLoading = function ModalLoading() {\n return _jsx('div', {\n className: 'modal-root__modal error-modal'\n }, void 0, _jsx('div', {\n className: 'error-modal__body'\n }, void 0, _jsx(LoadingIndicator, {})), _jsx('div', {\n className: 'error-modal__footer'\n }, void 0, _jsx('div', {}, void 0, _jsx('button', {\n className: 'error-modal__nav onboarding-modal__skip'\n }))));\n};\n\nexport default ModalLoading;" + }, + { + "id": 635, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/actions_modal.js", + "name": "./app/javascript/mastodon/features/ui/components/actions_modal.js", + "index": 782, + "index2": 775, + "size": 3931, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "issuerId": 631, + "issuerName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "./actions_modal", + "loc": "11:0-43" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport StatusContent from '../../../components/status_content';\nimport Avatar from '../../../components/avatar';\nimport RelativeTimestamp from '../../../components/relative_timestamp';\nimport DisplayName from '../../../components/display_name';\nimport IconButton from '../../../components/icon_button';\nimport classNames from 'classnames';\n\nvar ActionsModal = (_temp2 = _class = function (_ImmutablePureCompone) {\n _inherits(ActionsModal, _ImmutablePureCompone);\n\n function ActionsModal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ActionsModal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.renderAction = function (action, i) {\n if (action === null) {\n return _jsx('li', {\n className: 'dropdown-menu__separator'\n }, 'sep-' + i);\n }\n\n var _action$icon = action.icon,\n icon = _action$icon === undefined ? null : _action$icon,\n text = action.text,\n _action$meta = action.meta,\n meta = _action$meta === undefined ? null : _action$meta,\n _action$active = action.active,\n active = _action$active === undefined ? false : _action$active,\n _action$href = action.href,\n href = _action$href === undefined ? '#' : _action$href;\n\n\n return _jsx('li', {}, text + '-' + i, _jsx('a', {\n href: href,\n target: '_blank',\n rel: 'noopener',\n onClick: _this.props.onClick,\n 'data-index': i,\n className: classNames({ active: active })\n }, void 0, icon && _jsx(IconButton, {\n title: text,\n icon: icon,\n role: 'presentation',\n tabIndex: '-1'\n }), _jsx('div', {}, void 0, _jsx('div', {\n className: classNames({ 'actions-modal__item-label': !!meta })\n }, void 0, text), _jsx('div', {}, void 0, meta))));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ActionsModal.prototype.render = function render() {\n var status = this.props.status && _jsx('div', {\n className: 'status light'\n }, void 0, _jsx('div', {\n className: 'boost-modal__status-header'\n }, void 0, _jsx('div', {\n className: 'boost-modal__status-time'\n }, void 0, _jsx('a', {\n href: this.props.status.get('url'),\n className: 'status__relative-time',\n target: '_blank',\n rel: 'noopener'\n }, void 0, _jsx(RelativeTimestamp, {\n timestamp: this.props.status.get('created_at')\n }))), _jsx('a', {\n href: this.props.status.getIn(['account', 'url']),\n className: 'status__display-name'\n }, void 0, _jsx('div', {\n className: 'status__avatar'\n }, void 0, _jsx(Avatar, {\n account: this.props.status.get('account'),\n size: 48\n })), _jsx(DisplayName, {\n account: this.props.status.get('account')\n }))), _jsx(StatusContent, {\n status: this.props.status\n }));\n\n return _jsx('div', {\n className: 'modal-root__modal actions-modal'\n }, void 0, status, _jsx('ul', {}, void 0, this.props.actions.map(this.renderAction)));\n };\n\n return ActionsModal;\n}(ImmutablePureComponent), _class.propTypes = {\n status: ImmutablePropTypes.map,\n actions: PropTypes.array,\n onClick: PropTypes.func\n}, _temp2);\nexport { ActionsModal as default };" + }, + { + "id": 636, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "name": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "index": 783, + "index2": 778, + "size": 6069, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "issuerId": 631, + "issuerName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "./media_modal", + "loc": "12:0-39" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ReactSwipeableViews from 'react-swipeable-views';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport ExtendedVideoPlayer from '../../../components/extended_video_player';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ImageLoader from './image_loader';\n\nvar messages = defineMessages({\n close: {\n 'id': 'lightbox.close',\n 'defaultMessage': 'Close'\n },\n previous: {\n 'id': 'lightbox.previous',\n 'defaultMessage': 'Previous'\n },\n next: {\n 'id': 'lightbox.next',\n 'defaultMessage': 'Next'\n }\n});\n\nvar MediaModal = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(MediaModal, _ImmutablePureCompone);\n\n function MediaModal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, MediaModal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n index: null\n }, _this.handleSwipe = function (index) {\n _this.setState({ index: index % _this.props.media.size });\n }, _this.handleNextClick = function () {\n _this.setState({ index: (_this.getIndex() + 1) % _this.props.media.size });\n }, _this.handlePrevClick = function () {\n _this.setState({ index: (_this.props.media.size + _this.getIndex() - 1) % _this.props.media.size });\n }, _this.handleChangeIndex = function (e) {\n var index = Number(e.currentTarget.getAttribute('data-index'));\n _this.setState({ index: index % _this.props.media.size });\n }, _this.handleKeyUp = function (e) {\n switch (e.key) {\n case 'ArrowLeft':\n _this.handlePrevClick();\n break;\n case 'ArrowRight':\n _this.handleNextClick();\n break;\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n MediaModal.prototype.componentDidMount = function componentDidMount() {\n window.addEventListener('keyup', this.handleKeyUp, false);\n };\n\n MediaModal.prototype.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener('keyup', this.handleKeyUp);\n };\n\n MediaModal.prototype.getIndex = function getIndex() {\n return this.state.index !== null ? this.state.index : this.props.index;\n };\n\n MediaModal.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n media = _props.media,\n intl = _props.intl,\n onClose = _props.onClose;\n\n\n var index = this.getIndex();\n var pagination = [];\n\n var leftNav = media.size > 1 && _jsx('button', {\n tabIndex: '0',\n className: 'modal-container__nav modal-container__nav--left',\n onClick: this.handlePrevClick,\n 'aria-label': intl.formatMessage(messages.previous)\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-left'\n }));\n var rightNav = media.size > 1 && _jsx('button', {\n tabIndex: '0',\n className: 'modal-container__nav modal-container__nav--right',\n onClick: this.handleNextClick,\n 'aria-label': intl.formatMessage(messages.next)\n }, void 0, _jsx('i', {\n className: 'fa fa-fw fa-chevron-right'\n }));\n\n if (media.size > 1) {\n pagination = media.map(function (item, i) {\n var classes = ['media-modal__button'];\n if (i === index) {\n classes.push('media-modal__button--active');\n }\n return _jsx('li', {\n className: 'media-modal__page-dot'\n }, i, _jsx('button', {\n tabIndex: '0',\n className: classes.join(' '),\n onClick: _this2.handleChangeIndex,\n 'data-index': i\n }, void 0, i + 1));\n });\n }\n\n var content = media.map(function (image) {\n var width = image.getIn(['meta', 'original', 'width']) || null;\n var height = image.getIn(['meta', 'original', 'height']) || null;\n\n if (image.get('type') === 'image') {\n return _jsx(ImageLoader, {\n previewSrc: image.get('preview_url'),\n src: image.get('url'),\n width: width,\n height: height,\n alt: image.get('description')\n }, image.get('preview_url'));\n } else if (image.get('type') === 'gifv') {\n return _jsx(ExtendedVideoPlayer, {\n src: image.get('url'),\n muted: true,\n controls: false,\n width: width,\n height: height,\n alt: image.get('description')\n }, image.get('preview_url'));\n }\n\n return null;\n }).toArray();\n\n var containerStyle = {\n alignItems: 'center' // center vertically\n };\n\n return _jsx('div', {\n className: 'modal-root__modal media-modal'\n }, void 0, leftNav, _jsx('div', {\n className: 'media-modal__content'\n }, void 0, _jsx(IconButton, {\n className: 'media-modal__close',\n title: intl.formatMessage(messages.close),\n icon: 'times',\n onClick: onClose,\n size: 16\n }), _jsx(ReactSwipeableViews, {\n containerStyle: containerStyle,\n onChangeIndex: this.handleSwipe,\n index: index\n }, void 0, content)), _jsx('ul', {\n className: 'media-modal__pagination'\n }, void 0, pagination), rightNav);\n };\n\n return MediaModal;\n}(ImmutablePureComponent), _class2.propTypes = {\n media: ImmutablePropTypes.list.isRequired,\n index: PropTypes.number.isRequired,\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class;\n\nexport { MediaModal as default };" + }, + { + "id": 637, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/components/extended_video_player.js", + "name": "./app/javascript/mastodon/components/extended_video_player.js", + "index": 784, + "index2": 776, + "size": 2015, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "issuerId": 636, + "issuerName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "../../../components/extended_video_player", + "loc": "12:0-76" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\n\nvar ExtendedVideoPlayer = function (_React$PureComponent) {\n _inherits(ExtendedVideoPlayer, _React$PureComponent);\n\n function ExtendedVideoPlayer() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ExtendedVideoPlayer);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleLoadedData = function () {\n if (_this.props.time) {\n _this.video.currentTime = _this.props.time;\n }\n }, _this.setRef = function (c) {\n _this.video = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ExtendedVideoPlayer.prototype.componentDidMount = function componentDidMount() {\n this.video.addEventListener('loadeddata', this.handleLoadedData);\n };\n\n ExtendedVideoPlayer.prototype.componentWillUnmount = function componentWillUnmount() {\n this.video.removeEventListener('loadeddata', this.handleLoadedData);\n };\n\n ExtendedVideoPlayer.prototype.render = function render() {\n var _props = this.props,\n src = _props.src,\n muted = _props.muted,\n controls = _props.controls,\n alt = _props.alt;\n\n\n return _jsx('div', {\n className: 'extended-video-player'\n }, void 0, React.createElement('video', {\n ref: this.setRef,\n src: src,\n autoPlay: true,\n role: 'button',\n tabIndex: '0',\n 'aria-label': alt,\n muted: muted,\n controls: controls,\n loop: !controls\n }));\n };\n\n return ExtendedVideoPlayer;\n}(React.PureComponent);\n\nexport { ExtendedVideoPlayer as default };" + }, + { + "id": 638, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/image_loader.js", + "name": "./app/javascript/mastodon/features/ui/components/image_loader.js", + "index": 785, + "index2": 777, + "size": 5527, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "issuerId": 636, + "issuerName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 636, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/media_modal.js", + "module": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/media_modal.js", + "type": "harmony import", + "userRequest": "./image_loader", + "loc": "16:0-41" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 6, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp2;\n\nimport React from 'react';\n\nimport classNames from 'classnames';\n\nvar ImageLoader = (_temp2 = _class = function (_React$PureComponent) {\n _inherits(ImageLoader, _React$PureComponent);\n\n function ImageLoader() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ImageLoader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n loading: true,\n error: false\n }, _this.removers = [], _this.loadPreviewCanvas = function (_ref) {\n var previewSrc = _ref.previewSrc,\n width = _ref.width,\n height = _ref.height;\n return new Promise(function (resolve, reject) {\n var image = new Image();\n var removeEventListeners = function removeEventListeners() {\n image.removeEventListener('error', handleError);\n image.removeEventListener('load', handleLoad);\n };\n var handleError = function handleError() {\n removeEventListeners();\n reject();\n };\n var handleLoad = function handleLoad() {\n removeEventListeners();\n _this.canvasContext.drawImage(image, 0, 0, width, height);\n resolve();\n };\n image.addEventListener('error', handleError);\n image.addEventListener('load', handleLoad);\n image.src = previewSrc;\n _this.removers.push(removeEventListeners);\n });\n }, _this.loadOriginalImage = function (_ref2) {\n var src = _ref2.src;\n return new Promise(function (resolve, reject) {\n var image = new Image();\n var removeEventListeners = function removeEventListeners() {\n image.removeEventListener('error', handleError);\n image.removeEventListener('load', handleLoad);\n };\n var handleError = function handleError() {\n removeEventListeners();\n reject();\n };\n var handleLoad = function handleLoad() {\n removeEventListeners();\n resolve();\n };\n image.addEventListener('error', handleError);\n image.addEventListener('load', handleLoad);\n image.src = src;\n _this.removers.push(removeEventListeners);\n });\n }, _this.setCanvasRef = function (c) {\n _this.canvas = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ImageLoader.prototype.componentDidMount = function componentDidMount() {\n this.loadImage(this.props);\n };\n\n ImageLoader.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.src !== nextProps.src) {\n this.loadImage(nextProps);\n }\n };\n\n ImageLoader.prototype.loadImage = function loadImage(props) {\n var _this2 = this;\n\n this.removeEventListeners();\n this.setState({ loading: true, error: false });\n Promise.all([this.loadPreviewCanvas(props), this.hasSize() && this.loadOriginalImage(props)].filter(Boolean)).then(function () {\n _this2.setState({ loading: false, error: false });\n _this2.clearPreviewCanvas();\n }).catch(function () {\n return _this2.setState({ loading: false, error: true });\n });\n };\n\n ImageLoader.prototype.clearPreviewCanvas = function clearPreviewCanvas() {\n var _canvas = this.canvas,\n width = _canvas.width,\n height = _canvas.height;\n\n this.canvasContext.clearRect(0, 0, width, height);\n };\n\n ImageLoader.prototype.removeEventListeners = function removeEventListeners() {\n this.removers.forEach(function (listeners) {\n return listeners();\n });\n this.removers = [];\n };\n\n ImageLoader.prototype.hasSize = function hasSize() {\n var _props = this.props,\n width = _props.width,\n height = _props.height;\n\n return typeof width === 'number' && typeof height === 'number';\n };\n\n ImageLoader.prototype.render = function render() {\n var _props2 = this.props,\n alt = _props2.alt,\n src = _props2.src,\n width = _props2.width,\n height = _props2.height;\n var loading = this.state.loading;\n\n\n var className = classNames('image-loader', {\n 'image-loader--loading': loading,\n 'image-loader--amorphous': !this.hasSize()\n });\n\n return _jsx('div', {\n className: className\n }, void 0, React.createElement('canvas', {\n className: 'image-loader__preview-canvas',\n width: width,\n height: height,\n ref: this.setCanvasRef,\n style: { opacity: loading ? 1 : 0 }\n }), !loading && _jsx('img', {\n alt: alt,\n className: 'image-loader__img',\n src: src,\n width: width,\n height: height\n }));\n };\n\n _createClass(ImageLoader, [{\n key: 'canvasContext',\n get: function get() {\n if (!this.canvas) {\n return null;\n }\n this._canvasContext = this._canvasContext || this.canvas.getContext('2d');\n return this._canvasContext;\n }\n }]);\n\n return ImageLoader;\n}(React.PureComponent), _class.defaultProps = {\n alt: '',\n width: null,\n height: null\n}, _temp2);\nexport { ImageLoader as default };" + }, + { + "id": 639, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/video_modal.js", + "name": "./app/javascript/mastodon/features/ui/components/video_modal.js", + "index": 786, + "index2": 779, + "size": 1492, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "issuerId": 631, + "issuerName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "./video_modal", + "loc": "13:0-39" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _temp;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Video from '../../video';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar VideoModal = (_temp = _class = function (_ImmutablePureCompone) {\n _inherits(VideoModal, _ImmutablePureCompone);\n\n function VideoModal() {\n _classCallCheck(this, VideoModal);\n\n return _possibleConstructorReturn(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n VideoModal.prototype.render = function render() {\n var _props = this.props,\n media = _props.media,\n time = _props.time,\n onClose = _props.onClose;\n\n\n return _jsx('div', {\n className: 'modal-root__modal media-modal'\n }, void 0, _jsx('div', {}, void 0, _jsx(Video, {\n preview: media.get('preview_url'),\n src: media.get('url'),\n startTime: time,\n onCloseVideo: onClose,\n description: media.get('description')\n })));\n };\n\n return VideoModal;\n}(ImmutablePureComponent), _class.propTypes = {\n media: ImmutablePropTypes.map.isRequired,\n time: PropTypes.number,\n onClose: PropTypes.func.isRequired\n}, _temp);\nexport { VideoModal as default };" + }, + { + "id": 640, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/boost_modal.js", + "name": "./app/javascript/mastodon/features/ui/components/boost_modal.js", + "index": 787, + "index2": 780, + "size": 4048, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "issuerId": 631, + "issuerName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "./boost_modal", + "loc": "14:0-39" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class, _class2, _temp2;\n\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Button from '../../../components/button';\nimport StatusContent from '../../../components/status_content';\nimport Avatar from '../../../components/avatar';\nimport RelativeTimestamp from '../../../components/relative_timestamp';\nimport DisplayName from '../../../components/display_name';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nvar messages = defineMessages({\n reblog: {\n 'id': 'status.reblog',\n 'defaultMessage': 'Boost'\n }\n});\n\nvar BoostModal = injectIntl(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n _inherits(BoostModal, _ImmutablePureCompone);\n\n function BoostModal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, BoostModal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleReblog = function () {\n _this.props.onReblog(_this.props.status);\n _this.props.onClose();\n }, _this.handleAccountClick = function (e) {\n if (e.button === 0) {\n e.preventDefault();\n _this.props.onClose();\n _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n }\n }, _this.setRef = function (c) {\n _this.button = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n BoostModal.prototype.componentDidMount = function componentDidMount() {\n this.button.focus();\n };\n\n BoostModal.prototype.render = function render() {\n var _props = this.props,\n status = _props.status,\n intl = _props.intl;\n\n\n return _jsx('div', {\n className: 'modal-root__modal boost-modal'\n }, void 0, _jsx('div', {\n className: 'boost-modal__container'\n }, void 0, _jsx('div', {\n className: 'status light'\n }, void 0, _jsx('div', {\n className: 'boost-modal__status-header'\n }, void 0, _jsx('div', {\n className: 'boost-modal__status-time'\n }, void 0, _jsx('a', {\n href: status.get('url'),\n className: 'status__relative-time',\n target: '_blank',\n rel: 'noopener'\n }, void 0, _jsx(RelativeTimestamp, {\n timestamp: status.get('created_at')\n }))), _jsx('a', {\n onClick: this.handleAccountClick,\n href: status.getIn(['account', 'url']),\n className: 'status__display-name'\n }, void 0, _jsx('div', {\n className: 'status__avatar'\n }, void 0, _jsx(Avatar, {\n account: status.get('account'),\n size: 48\n })), _jsx(DisplayName, {\n account: status.get('account')\n }))), _jsx(StatusContent, {\n status: status\n }))), _jsx('div', {\n className: 'boost-modal__action-bar'\n }, void 0, _jsx('div', {}, void 0, _jsx(FormattedMessage, {\n id: 'boost_modal.combo',\n defaultMessage: 'You can press {combo} to skip this next time',\n values: { combo: _jsx('span', {}, void 0, 'Shift + ', _jsx('i', {\n className: 'fa fa-retweet'\n })) }\n })), React.createElement(Button, { text: intl.formatMessage(messages.reblog), onClick: this.handleReblog, ref: this.setRef })));\n };\n\n return BoostModal;\n}(ImmutablePureComponent), _class2.contextTypes = {\n router: PropTypes.object\n}, _class2.propTypes = {\n status: ImmutablePropTypes.map.isRequired,\n onReblog: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired\n}, _temp2)) || _class;\n\nexport { BoostModal as default };" + }, + { + "id": 641, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "name": "./app/javascript/mastodon/features/ui/components/confirmation_modal.js", + "index": 788, + "index2": 781, + "size": 2187, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "issuerId": 631, + "issuerName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 631, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/mastodon/features/ui/components/modal_root.js", + "module": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "moduleName": "./app/javascript/mastodon/features/ui/components/modal_root.js", + "type": "harmony import", + "userRequest": "./confirmation_modal", + "loc": "15:0-53" + } + ], + "usedExports": [ + "default" + ], + "providedExports": [ + "default" + ], + "optimizationBailout": [], + "depth": 5, + "source": "import _jsx from 'babel-runtime/helpers/jsx';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n\nvar _class;\n\nimport React from 'react';\n\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport Button from '../../../components/button';\n\nvar ConfirmationModal = injectIntl(_class = function (_React$PureComponent) {\n _inherits(ConfirmationModal, _React$PureComponent);\n\n function ConfirmationModal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ConfirmationModal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClose();\n _this.props.onConfirm();\n }, _this.handleCancel = function () {\n _this.props.onClose();\n }, _this.setRef = function (c) {\n _this.button = c;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ConfirmationModal.prototype.componentDidMount = function componentDidMount() {\n this.button.focus();\n };\n\n ConfirmationModal.prototype.render = function render() {\n var _props = this.props,\n message = _props.message,\n confirm = _props.confirm;\n\n\n return _jsx('div', {\n className: 'modal-root__modal confirmation-modal'\n }, void 0, _jsx('div', {\n className: 'confirmation-modal__container'\n }, void 0, message), _jsx('div', {\n className: 'confirmation-modal__action-bar'\n }, void 0, _jsx(Button, {\n onClick: this.handleCancel,\n className: 'confirmation-modal__cancel-button'\n }, void 0, _jsx(FormattedMessage, {\n id: 'confirmation_modal.cancel',\n defaultMessage: 'Cancel'\n })), React.createElement(Button, { text: confirm, onClick: this.handleClick, ref: this.setRef })));\n };\n\n return ConfirmationModal;\n}(React.PureComponent)) || _class;\n\nexport { ConfirmationModal as default };" + }, + { + "id": 649, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/common.js", + "name": "./app/javascript/packs/common.js", + "index": 798, + "index2": 809, + "size": 126, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": null, + "issuerId": null, + "issuerName": null, + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": [], + "optimizationBailout": [], + "depth": 0, + "source": "import { start } from 'rails-ujs';\nimport 'font-awesome/css/font-awesome.css';\n\nrequire.context('../images/', true);\n\nstart();" + }, + { + "id": 650, + "identifier": "/home/lambda/repos/mastodon/node_modules/extract-text-webpack-plugin/dist/loader.js??ref--4-0!/home/lambda/repos/mastodon/node_modules/style-loader/index.js!/home/lambda/repos/mastodon/node_modules/css-loader/index.js??ref--4-2!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js??ref--4-3!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/node_modules/font-awesome/css/font-awesome.css", + "name": "./node_modules/font-awesome/css/font-awesome.css", + "index": 799, + "index2": 808, + "size": 41, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/common.js", + "issuerId": 649, + "issuerName": "./app/javascript/packs/common.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 649, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--2!/home/lambda/repos/mastodon/app/javascript/packs/common.js", + "module": "./app/javascript/packs/common.js", + "moduleName": "./app/javascript/packs/common.js", + "type": "harmony import", + "userRequest": "font-awesome/css/font-awesome.css", + "loc": "2:0-43" + } + ], + "usedExports": false, + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "// removed by extract-text-webpack-plugin" + }, + { + "id": 651, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/style-loader/lib/urls.js", + "name": "./node_modules/style-loader/lib/urls.js", + "index": 809, + "index2": 806, + "size": 2997, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/style-loader/lib/addStyles.js", + "issuerId": 776, + "issuerName": "./node_modules/style-loader/lib/addStyles.js", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 776, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/style-loader/lib/addStyles.js", + "module": "./node_modules/style-loader/lib/addStyles.js", + "moduleName": "./node_modules/style-loader/lib/addStyles.js", + "type": "cjs require", + "userRequest": "./urls", + "loc": "54:14-31" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n\t// get current location\n\tvar location = typeof window !== \"undefined\" && window.location;\n\n\tif (!location) {\n\t\tthrow new Error(\"fixUrls requires window.location\");\n\t}\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t\treturn css;\n\t}\n\n\tvar baseUrl = location.protocol + \"//\" + location.host;\n\tvar currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n This regular expression is just a way to recursively match brackets within\n a string.\n \t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n ( = Start a capturing group\n (?: = Start a non-capturing group\n [^)(] = Match anything that isn't a parentheses\n | = OR\n \\( = Match a start parentheses\n (?: = Start another non-capturing groups\n [^)(]+ = Match anything that isn't a parentheses\n | = OR\n \\( = Match a start parentheses\n [^)(]* = Match anything that isn't a parentheses\n \\) = Match a end parentheses\n ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n \\) = Match a close parens\n \t /gi = Get all matches, not the first. Be case insensitive.\n */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function (fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl.trim().replace(/^\"(.*)\"$/, function (o, $1) {\n\t\t\treturn $1;\n\t\t}).replace(/^'(.*)'$/, function (o, $1) {\n\t\t\treturn $1;\n\t\t});\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(unquotedOrigUrl)) {\n\t\t\treturn fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t\t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};" + }, + { + "id": 775, + "identifier": "/home/lambda/repos/mastodon/node_modules/babel-loader/lib/index.js??ref--1!/home/lambda/repos/mastodon/node_modules/css-loader/lib/css-base.js", + "name": "./node_modules/css-loader/lib/css-base.js", + "index": 801, + "index2": 798, + "size": 2263, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/css-loader/index.js?{\"minimize\":true}!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js?{\"sourceMap\":true}!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/node_modules/font-awesome/css/font-awesome.css", + "issuerId": 903, + "issuerName": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./node_modules/font-awesome/css/font-awesome.css", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [ + { + "moduleId": 903, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/css-loader/index.js?{\"minimize\":true}!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js?{\"sourceMap\":true}!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/node_modules/font-awesome/css/font-awesome.css", + "module": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./node_modules/font-awesome/css/font-awesome.css", + "moduleName": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./node_modules/font-awesome/css/font-awesome.css", + "type": "cjs require", + "userRequest": "../../css-loader/lib/css-base.js", + "loc": "1:27-70" + }, + { + "moduleId": 910, + "moduleIdentifier": "/home/lambda/repos/mastodon/node_modules/css-loader/index.js?{\"minimize\":true}!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js?{\"sourceMap\":true}!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/app/javascript/styles/application.scss", + "module": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/styles/application.scss", + "moduleName": "./node_modules/css-loader?{\"minimize\":true}!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/styles/application.scss", + "type": "cjs require", + "userRequest": "../../../node_modules/css-loader/lib/css-base.js", + "loc": "1:27-86" + } + ], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 2, + "source": "/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function (useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif (item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function (modules, mediaQuery) {\n\t\tif (typeof modules === \"string\") modules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor (var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif (typeof id === \"number\") alreadyImportedModules[id] = true;\n\t\t}\n\t\tfor (i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif (typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif (mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if (mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */';\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}" + }, + { + "id": 776, + "identifier": "/home/lambda/repos/mastodon/node_modules/style-loader/lib/addStyles.js", + "name": "./node_modules/style-loader/lib/addStyles.js", + "index": 808, + "index2": 807, + "size": 9415, + "cacheable": true, + "built": true, + "optional": false, + "prefetched": false, + "chunks": [ + 65 + ], + "assets": [], + "issuer": "/home/lambda/repos/mastodon/node_modules/extract-text-webpack-plugin/dist/loader.js??ref--4-0!/home/lambda/repos/mastodon/node_modules/style-loader/index.js!/home/lambda/repos/mastodon/node_modules/css-loader/index.js??ref--4-2!/home/lambda/repos/mastodon/node_modules/postcss-loader/lib/index.js??ref--4-3!/home/lambda/repos/mastodon/node_modules/resolve-url-loader/index.js!/home/lambda/repos/mastodon/node_modules/sass-loader/lib/loader.js!/home/lambda/repos/mastodon/app/javascript/styles/application.scss", + "issuerId": 748, + "issuerName": "./app/javascript/styles/application.scss", + "failed": false, + "errors": 0, + "warnings": 0, + "reasons": [], + "usedExports": true, + "providedExports": null, + "optimizationBailout": [], + "depth": 1, + "source": "/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(selector) {\n\t\tif (typeof memo[selector] === \"undefined\") {\n\t\t\tvar styleTarget = fn.call(this, selector);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[selector] = styleTarget;\n\t\t}\n\t\treturn memo[selector]\n\t};\n})(function (target) {\n\treturn document.querySelector(target)\n});\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of